大语言模型主流架构解析:从 Transformer 到 GPT、BERT
📌 友情提示:
本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准确性。
在自然语言处理(NLP)的研究与应用中,大语言模型(Large Language Model, LLM)近年来取得了显著的进展。大语言模型凭借其强大的上下文理解与生成能力,已被广泛应用于聊天机器人、文本生成、问答系统等多个领域。本文将对大语言模型的主流架构进行解析,重点介绍 Transformer 结构及其衍生的模型,如 GPT 和 BERT,帮助大家深入理解它们的设计理念与应用场景。
一、Transformer 架构的崛起
1.1 Transformer 的背景与提出
在传统的自然语言处理(NLP)任务中,神经网络模型如循环神经网络(RNN)和长短期记忆网络(LSTM)长期占据主导地位。这些模型在处理序列数据时,依赖于其顺序结构逐步地将信息传递至下一个时间步。然而,这些模型存在着一些显著的局限性,尤其是当需要处理长距离依赖的任务时,RNN 和 LSTM 面临着梯度消失和梯度爆炸问题,导致其在长文本处理中的性能大打折扣。
为了克服这些问题,Vaswani 等人在 2017 年提出了 Transformer 架构,该架构在《Attention is All You Need》一文中首次亮相。与传统的 RNN 和 LSTM 架构不同,Transformer 摒弃了序列化的计算过程,完全基于自注意力机制(Self-Attention)来捕捉输入序列中各个元素之间的依赖关系。这一突破性创新,不仅有效解决了长距离依赖的问题,还使得模型能够并行处理输入数据,从而大大提高了训练效率。
Transformer 的设计不依赖于传统的递归结构,而是通过并行计算显著加速了训练过程,并且通过自注意力机制能够在捕获长距离依赖时,保持高效的性能。自提出以来,Transformer 架构已成为现代自然语言处理的核心架构,广泛应用于诸如机器翻译、语音识别、文本生成等多个领域。
1.2 Transformer 的架构
Transformer 架构的核心理念是将传统的循环结构替换为完全基于自注意力机制的模型。Transformer 的设计包括编码器(Encoder)和解码器(Decoder)两部分,并通过自注意力机制在不同位置之间建立直接的联系。以下是 Transformer 架构的主要组成部分:
编码器(Encoder)
Transformer 的编码器部分由多个相同结构的层(Layer)堆叠而成,每一层由两个主要子模块组成:
-
多头自注意力机制(Multi-Head Self-Attention): 自注意力机制允许模型在处理每个单词时,能够关注到输入序列中其他所有单词的上下文信息。在实际应用中,Transformer 通过多个注意力头(Multi-Head Attention)并行计算多个注意力权重,从而能在不同的子空间中学习不同的上下文表示。这种多头机制使得模型能够从多个角度捕捉到更加丰富的特征。
-
前馈神经网络(Feed-Forward Neural Network): 在每个编码器层中,经过自注意力机制处理后的输出会传入一个全连接的前馈神经网络。这个前馈神经网络通常由两个全连接层组成,其中间有一个激活函数(如 ReLU)。这个部分主要用于对信息进行进一步的非线性映射,增强模型的表示能力。
每个子模块(自注意力和前馈神经网络)后面都跟有层归一化(Layer Normalization)和残差连接(Residual Connection),帮助模型加速收敛并避免梯度消失问题。
解码器(Decoder)
解码器的结构与编码器相似,也由多个相同结构的层组成,主要区别在于解码器除了自注意力和前馈神经网络外,还包括了一个额外的模块,用于接收编码器的输出。解码器的每一层包括:
-
掩蔽多头自注意力机制(Masked Multi-Head Self-Attention): 与编码器中的多头自注意力不同,解码器中的自注意力机制是掩蔽的,意味着在计算注意力权重时,每个位置只能依赖于当前位置之前的单词。这个设计能够保证生成序列时的因果性(即模型只能利用已生成的部分来生成下一个词)。
-
编码器-解码器注意力机制(Encoder-Decoder Attention): 在每个解码器层中,除了对输入序列进行自注意力计算外,还通过与编码器的输出进行交互来学习输入序列的信息。编码器的输出为解码器提供了源序列的上下文,从而帮助解码器生成正确的目标序列。
-
前馈神经网络与层归一化: 解码器部分与编码器类似,在每个模块后都有前馈神经网络和层归一化,进一步增强模型的表示能力和稳定性。
1.3 Transformer 的优势
Transformer 架构的设计带来了几个关键的优势,使其成为当前自然语言处理领域的主流:
并行化计算
与传统的 RNN 和 LSTM 不同,Transformer 通过自注意力机制能够一次性计算整个输入序列,而不依赖于时间步的迭代过程。这样,Transformer 可以充分利用现代硬件(如 GPU)的并行计算能力,大大加快了训练速度。相比之下,RNN 和 LSTM 是序列化的,每个时间步的计算都依赖于前一个时间步的输出,难以实现并行处理。
长距离依赖建模
自注意力机制使得每个单词可以直接与其他所有单词进行交互,从而捕捉长距离依赖。与 RNN 和 LSTM 不同,Transformer 不需要逐步传播信息,它能够在计算过程中直接建立序列中任意两个位置之间的依赖关系。特别是在处理长文本时,Transformer 能够更有效地捕捉到上下文信息。
高效的训练
由于 Transformer 可以并行计算,且不依赖递归结构,它的训练效率相比传统的 RNN 和 LSTM 更高。此外,Transformer 通过自注意力机制将信息从输入到输出的传播路径进行了扁平化,使得梯度能够更容易地传递,减少了梯度消失的风险。
可扩展性
Transformer 架构的设计非常灵活,可以轻松地扩展到非常大的模型。随着计算资源的提升,越来越大的 Transformer 模型(如 GPT-3、BERT 等)能够处理更复杂的任务,并且在多个 NLP 任务中取得了突破性的成绩。模型的可扩展性使得 Transformer 成为自然语言处理领域研究和工业界应用中的首选架构。
1.4 Transformer 的影响与应用
自从 Transformer 架构提出以来,它已成为各类自然语言处理任务的基础模型。Transformer 不仅在机器翻译领域取得了巨大成功,还成为了文本生成、问答系统、文本摘要、情感分析等众多应用的基础架构。
Transformer 的影响不仅局限于 NLP,它还为图像处理、语音识别等领域的深度学习应用提供了新的思路。例如,Vision Transformer(ViT)将 Transformer 应用于计算机视觉任务,取得了与传统卷积神经网络(CNN)相媲美的性能。
总的来说,Transformer 架构的出现和广泛应用标志着自然语言处理技术的一个新纪元,它的成功为大语言模型的进一步发展奠定了基础。未来,Transformer 将继续在多领域发挥着巨大的潜力和价值。
二、GPT 系列:生成预训练模型
2.1 GPT 的背景
GPT(Generative Pre-trained Transformer)最早由 OpenAI 在 2018 年提出。其设计理念是通过无监督的预训练和有监督的微调相结合,利用大量文本数据学习语言模型,以生成自然流畅的文本。GPT 的出现标志着生成模型的一个重要进展,同时也为如何有效利用大规模无标注数据提供了新的思路。
在 GPT 发布之前,许多自然语言处理任务通常依赖于任务特定的模型,需要大量的标注数据进行训练。显然,获取标注数据的过程既费时又费力。GPT 的提出改变了这一现状,使得模型能够通过预训练阶段学习广泛的语言知识,然后仅需少量标注数据即可进行特定任务的微调。这种方法不仅提高了模型的通用性,还显著降低了对标注数据的依赖。
2.2 GPT 的架构
GPT 系列模型的架构基于 Transformer 的解码器部分,主要特点包括以下几个方面:
自注意力机制
GPT 采用单向自注意力机制,这意味着在生成文本时,每个位置的输出只能依赖于自身及其之前的位置。这种设计确保了模型在生成过程中能够维护连贯性,确保生成的文本符合因果关系。自注意力机制允许 GPT 在生成每个单词时考虑到上下文中的多个单词,从而生成更为自然的语言。
预训练与微调
GPT 的训练过程分为两个阶段:
-
预训练(Pre-training): 在预训练阶段,GPT 使用大量的无监督文本数据进行训练,目标是学习下一词预测(Next Word Prediction)。具体来说,给定一段文本,模型的任务是预测下一个单词是什么。这一过程通过最大化条件概率来实现,模型的输出是输入文本中每个单词的概率分布。这一阶段使得 GPT 学会了语言的基本结构和丰富的语义信息。
-
微调(Fine-tuning): 在完成预训练后,GPT 会针对特定任务进行微调。微调阶段通常使用标注数据,以使模型能够更好地适应特定的下游任务,如文本分类、对话生成或者情感分析等。在这个过程中,模型会根据特定任务的目标进行调整,从而提升在该任务上的性能。
多层结构
GPT 模型由多个解码器层堆叠而成,每一层都包含多个多头自注意力机制和前馈神经网络。通过增加层数,GPT 能够学习更复杂的特征表示,从而提升模型的表达能力。每一层的输出将作为下一层的输入,通过这种层层堆叠的方式,模型可以逐渐抽象出更高层次的语义特征。
2.3 GPT 的优势与应用
GPT 系列模型凭借其独特的架构和训练方法,展现出了多种优势,这使其在自然语言处理领域得到了广泛应用。
强大的文本生成能力
GPT 在生成连贯、上下文相关的文本方面表现出色。得益于其强大的自注意力机制,GPT 能够综合上下文信息生成高质量的文本。这一能力使得 GPT 在对话生成、故事创作、新闻撰写等任务中表现优异。
零样本学习能力
GPT 系列模型展现出了良好的零样本学习(Zero-shot Learning)能力,即模型可以在未见过的任务上表现出一定的性能。这得益于预训练阶段对语言知识的广泛学习,使得 GPT 在面对新任务时,能够凭借已有的知识进行合理的推理和生成。
适用性广泛
GPT 可以适用于多种自然语言处理任务,如文本生成、问答系统、对话系统、自动摘要、情感分析等。通过微调,GPT 可以被轻松地应用于特定任务,极大地提高了开发效率。
2.4 GPT 系列的发展
自初代 GPT 发布以来,OpenAI 随后推出了多个版本的 GPT 模型,逐渐提升了模型的规模和性能,主要包括:
-
GPT-2: 2019 年,OpenAI 发布了 GPT-2,模型参数从 1.5 亿增加到 15 亿,显著提升了文本生成的质量和连贯性。GPT-2 由于其强大的文本生成能力而引发了广泛的讨论,OpenAI 最初选择不公开完整模型,担心其可能被滥用。经过一段时间的评估和讨论,OpenAI 最终决定发布完整模型,并提供了相应的使用指南。
-
GPT-3: 2020 年,OpenAI 发布了 GPT-3,这是迄今为止参数最多的语言模型,达到 1750 亿个参数。GPT-3 在多种自然语言处理任务上表现出色,包括对话生成、代码生成、翻译等。其惊人的生成能力和灵活性使其在商业和学术界引起了广泛关注。通过 API 的方式,GPT-3 可供开发者和企业使用,以构建各种智能应用。
-
GPT-4: 2023 年,OpenAI 发布了 GPT-4,该模型在性能、理解能力和生成质量上进一步提升。GPT-4 的多模态能力使其能够处理图像和文本输入,为复杂的任务提供了更强大的支持。
2.5 未来的发展方向
随着 GPT 系列模型的不断发展,大语言模型的架构和应用也在快速演变。未来的发展方向可能包括:
-
模型压缩与高效化:面对日益增长的计算资源需求,研究者们将致力于开发更高效的模型压缩技术,以减少模型的大小和推理时间,同时保持较高的生成质量。
-
多模态学习:随着 GPT-4 的推出,多模态学习(即处理文本、图像、音频等多种类型数据的能力)将成为未来研究的重要方向。多模态模型能够理解和生成更为丰富的信息。
-
自适应和个性化:未来的模型可能会更加关注自适应能力和个性化生成,根据用户的偏好和上下文动态调整生成内容,以提供更个性化的用户体验。
-
伦理与安全性问题:随着大语言模型的广泛应用,相关的伦理与安全性问题也日益突出。未来的研究将必须关注模型的公平性、透明性及其社会影响,确保技术的负责任使用。
总的来说,GPT 系列模型在自然语言处理领域的成功不仅推动了技术的发展,也为各行各业带来了诸多创新的应用。随着研究的深入和技术的进步,未来的 GPT 模型将继续在提升语言理解与生成能力方面发挥重要作用。
三、BERT:双向编码器表示
3.1 BERT 的背景
BERT(Bidirectional Encoder Representations from Transformers)是由 Google 在 2018 年提出的一个革命性语言模型。与 GPT 采用单向自注意力机制不同,BERT 通过双向自注意力机制来增强模型对上下文的理解能力。BERT 的提出解决了传统模型在上下文理解方面的局限,使得模型能够在多个自然语言处理任务中取得突破性的表现。
BERT 在预训练阶段不仅关注单词的前后关系,还能够综合考虑单词上下文中的所有信息,这种双向的上下文建模使得 BERT 在各类 NLP 任务中显著超越了当时的技术水平。BERT 的最大优势在于其语境感知能力,即能够准确地理解一个词在特定上下文中的含义,这对于句法分析、问答系统、情感分析等任务具有重要的意义。
3.2 BERT 的架构
BERT 基于 Transformer 的编码器部分,利用双向自注意力机制来构建上下文表示。BERT 模型由多个编码器层堆叠而成,每一层都是由自注意力机制和前馈神经网络构成。与 GPT 不同,BERT 的自注意力机制是双向的,意味着在处理每个单词时,模型会同时考虑该单词前后的上下文信息,从而更全面地捕捉语义。
双向自注意力机制
BERT 的创新之处在于其双向自注意力机制,这意味着模型在处理输入时,能够同时关注上下文中的左侧和右侧信息。传统的语言模型(如 GPT)通常采用单向的自注意力机制,生成的每个词只能依赖于它之前的词。而 BERT 的双向性允许每个词同时依赖于前后的词语,从而获得更丰富的上下文理解。
例如,在句子“我爱吃苹果”中,BERT 可以同时关注“我”和“苹果”之间的关系,而不仅仅是单向地看“我”到“苹果”的依赖关系。通过这种双向建模,BERT 能够有效捕捉更多的语义信息,提升任务的准确性。
掩码语言模型(Masked Language Model,MLM)
BERT 采用了一种独特的预训练任务——掩码语言模型(MLM)。在 MLM 中,模型的输入句子会随机选择一些词进行掩码(例如将“苹果”替换为[MASK])。BERT 的目标是根据上下文信息预测被掩盖的单词。这种方法使得 BERT 在预训练阶段能够更好地理解上下文信息,而不仅仅是通过下一词预测来进行训练。掩码语言模型的预训练任务有助于模型更深入地理解单词在不同上下文中的含义。
下一句预测(Next Sentence Prediction,NSP)
除了掩码语言模型,BERT 还引入了下一句预测(NSP)任务。在 NSP 中,模型会随机选择两个句子,并判断第二个句子是否是第一个句子的后续句子。这一任务有助于 BERT 在训练过程中学习句子之间的关系,从而提高其在需要理解句子关系的任务(如问答系统和文本匹配)中的表现。
3.3 BERT 的优势与应用
BERT 的双向编码器表示和掩码语言模型预训练任务使得它在多个自然语言处理任务中展现出了卓越的性能。以下是 BERT 的一些主要优势与应用场景:
强大的上下文理解能力
BERT 在理解上下文信息方面表现出色,能够同时考虑前后文中的所有信息。这使得 BERT 能够更精确地理解词语在特定上下文中的含义。在多种 NLP 任务中,BERT 超越了传统模型,取得了显著的性能提升。例如,在情感分析任务中,BERT 能够理解句子中的复杂情感,并做出准确的分类;在命名实体识别(NER)任务中,BERT 能够更准确地识别文本中的实体。
零样本与少样本学习
由于 BERT 在预训练阶段通过掩码语言模型学习了大量的语言知识,因此它具备了较强的零样本学习能力。在实际应用中,BERT 可以通过少量的标注数据快速微调,并且仍能在特定任务上取得较好的效果。例如,在问答系统中,BERT 可以根据上下文生成准确的答案,而不需要额外的任务特定训练。
多任务学习能力
BERT 可以通过微调来适应多个不同的自然语言处理任务。它通过在预训练阶段学习大量的语言表示,使得模型具有较强的泛化能力。在进行微调时,BERT 可以根据不同的任务调整其输出结构,如文本分类、问答、文本匹配等。因此,BERT 成为了一个非常通用的模型,适用于各类 NLP 任务。
应用广泛
BERT 已广泛应用于各种实际场景,如搜索引擎优化、推荐系统、语义搜索、文本分类、情感分析、机器翻译等。Google 在其搜索引擎中引入了 BERT,以改善对用户查询的理解,从而提高搜索结果的相关性和准确性。此外,BERT 还被用于智能客服、自动摘要、情感分析等许多领域,推动了人工智能技术的应用和发展。
3.4 BERT 系列模型的发展
自 BERT 发布以来,许多基于 BERT 的模型相继问世,这些模型在原有的 BERT 架构上进行改进和优化,进一步提升了性能和计算效率。以下是一些主要的 BERT 变种:
RoBERTa(Robustly Optimized BERT Pretraining Approach)
RoBERTa 是 Facebook 提出的一个 BERT 变种。RoBERTa 对 BERT 的预训练过程进行了优化,采用了更大的训练数据集、更长时间的训练、更多的掩码率等策略,从而提高了模型的表现。RoBERTa 去除了 BERT 中的下一句预测任务,改进了数据处理流程,使得其在多个标准数据集上超越了原始 BERT。
ALBERT(A Lite BERT)
ALBERT 是 Google 提出的一个轻量级版本的 BERT。ALBERT 通过共享权重和降低模型参数量来减小 BERT 的体积,同时保留其强大的性能。ALBERT 在多个任务上取得了比 BERT 更高的效率和性能,成为一个更为高效的模型。
DistilBERT
DistilBERT 是 Hugging Face 提出的一个压缩版 BERT。通过使用知识蒸馏技术,DistilBERT 在减少模型大小的同时,保持了与 BERT 相近的性能。DistilBERT 适合于对计算资源有限的应用场景,尤其是在移动设备和嵌入式系统中。
ELECTRA
ELECTRA 是 Google 提出的一个基于生成对抗网络(GAN)思想的 BERT 变种。与 BERT 的掩码语言模型不同,ELECTRA 采用了生成-判别器模型结构,通过生成“假”单词并训练判别器来提高训练效率。ELECTRA 在较小的计算资源下能够获得与 BERT 相近甚至更好的性能。
3.5 未来发展方向
虽然 BERT 在许多 NLP 任务中表现优异,但随着大规模模型和多模态模型的崛起,BERT 的未来发展方向可能会朝着以下几个方面迈进:
-
跨模态学习:随着多模态数据(如图像、音频等)的广泛应用,未来的 BERT 变种可能会结合视觉、听觉等模态信息,进行跨模态学习和推理。
-
模型压缩与优化:随着大规模模型的计算需求不断增加,未来的 BERT 可能会在保持性能的同时,通过模型压缩、知识蒸馏等方法,提高其计算效率,使其适应更多资源有限的场景。
-
多语言与多任务:为了提高 BERT 的多语言能力,未来的 BERT 可能会进一步优化,使其能够支持更多语言和多种任务的处理,为全球化应用提供更好的支持。
总的来说,BERT 的出现和持续发展为自然语言处理领域带来了革命性的变化,它的双向表示方法和强大的上下文理解能力使得其成为了一个通用的预训练模型,广泛应用于各种实际任务,并在多个领域发挥着巨大作用。随着技术的不断进步,BERT 及其变种必将在未来的 NLP 任务中继续引领潮流。
四、总结与展望
大语言模型的发展使得自然语言处理领域取得了显著进展。Transformer 架构的引入为语言模型的构建提供了新的思路,而 GPT 和 BERT 的相继问世则展示了不同的模型设计理念与应用场景。GPT 更加关注文本生成,而 BERT 则更擅长文本理解。
在未来,随着大模型的不断发展和优化,我们有望看到更加强大和灵活的语言模型,解决更复杂的自然语言处理问题。此外,随着计算能力的提升和数据量的增加,研究者们也会探索更高效的训练方法与模型架构,以推动 NLP 领域的进一步发展。
相关文章:
大语言模型主流架构解析:从 Transformer 到 GPT、BERT
📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准…...
flow-matching 之学习matcha-tts cosyvoice
文章目录 matcha 实现cosyvoice 实现chunk_fmchunk_maskcache_attn stream token2wav 关于flow-matching 很好的原理性解释文章, 值得仔细读,多读几遍,关于文章Flow Straight and Fast: Learning to Generate and Transfer Data with Rectifi…...
聊聊自动化办公未来趋势
1. 自动化办公未来趋势 1.1 智能化与AI融合加深 随着人工智能技术的不断成熟,其在自动化办公中的应用将更加广泛和深入。未来,办公软件将具备更强的智能交互能力,能够理解自然语言指令,自动完成复杂的任务,如文档编辑…...
软件工程之需求分析涉及的图与工具
需求分析与规格说明书是一项十分艰巨复杂的工作。用户与分析员之间需要沟通的内容非常的多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。如何才能更加准确的表达双方的意思,且清楚明了,绘制各类图形就显得非常…...
火影bug,未保证短时间数据一致性,拿这个例子讲一下Redis
本文只拿这个游戏的bug来举例Redis,如果有不妥的地方,联系我进行删除 描述:今天在高速上打火影(有隧道,有时候会卡),发现了个bug,我点了两次-1000的忍玉(大概用了1千七百…...
机器人领域和心理学领域 恐怖谷 是什么
机器人领域和心理学领域 恐怖谷 是什么 恐怖谷是一个在机器人领域和心理学领域备受关注的概念,由日本机器人专家森政弘于1970年提出。 含义 当机器人与人类的相似度达到一定程度时,人类对它们的情感反应会突然从积极变为消极,产生一种毛骨悚然、厌恶恐惧的感觉。这种情感…...
Hadoop MapReduce 图文代码讲解
一、MapReduce原理 首先要了解一下MapReduce的几个过程,每个数据集中需要编写的逻辑会有所不同,但是大致是差不多的 1、MapReduce大致为这几个过程: 1、读取数据集并根据文件大小128MB拆分成多个map同时进行下面步骤 2、Map: 匹配和数据筛…...
【Rust】结构体
目录 结构体结构体的定义和实例化结构体使用场景方法定义方法多参数方法关联函数多个 impl 块 结构体 结构体,是一个自定义数据类型,允许包装和命名多个相关的值,从而形成一个有意义的组合,类似于 C语言中的结构体或者 Java 中的…...
青少年编程与数学 02-019 Rust 编程基础 01课题、环境准备
青少年编程与数学 02-019 Rust 编程基础 01课题、环境准备 一、Rust核心特性应用场景开发工具社区与生态 二、Rust 和 Python 比较1. **内存安全与并发编程**2. **性能**3. **零成本抽象**4. **跨平台支持**5. **社区与生态系统**6. **错误处理**7. **安全性**适用场景总结 三、…...
深入理解Embedding Models(嵌入模型):从原理到实战(上)
🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、嵌入模型是什么 2、在NLP、推荐系统、知识图谱等领域…...
世界耳机品牌与排名
耳机可以说是日常用的比较多的产品之一,而且现在的耳机相较于传统的耳机还多了很多的功能,比如现在经常开车的人实用的蓝牙耳机,虽然日常用的多,那么你知道全球知名的耳机品牌有哪些吗? 拜亚耳机,德国品牌&…...
防静电地板人工费多少钱一平方米?2025年报价解析!
在机房、实验室、数据中心等专业场所,防静电地板是保障设备正常运行的关键“防线”。但很多人在装修时,面对“防静电地板安装人工费”的报价往往一头雾水——有的报25元/㎡,有的却要50元/㎡,差价背后究竟藏着什么门道?…...
【详细图文】使用MobaXterm的SSH功能远程连接服务器,并创建pytorch环境,使用yolov8训练数据集
目录 一、使用MobaXterm连接服务器 1、官网下载MobaXterm 2、SSH连接服务器 二、查看服务器的基本信息 1、查看服务器基本信息(可选) (1)查看主机名和系统版本 (2)查看CPU信息 (3)查看内存信息 (4)查看网卡信息 (5)查看总进程数 (6)查看活动进程数 (…...
路由器断流排查终极指南:从Ping测试到Wireshark抓包5步定位法
测试路由器是否出现“断流”(网络连接间歇性中断),需通过多维度排查硬件、软件及外部干扰因素。以下是详细步骤指南: 一、基础环境准备 设备连接 有线测试:用网线将电脑直接连接路由器LAN口,排除WiFi干扰。…...
小白借助ai对全栈进行浅浅理解(学习笔记)-Lambda、Optional 避免空指针与新的日期时间 API
学习顺序:Java 基础 → Spring Boot → Vue → 前后端整合 → 数据库 → 部署 → 进阶实战。 Lambda 表达式(Lambda 表达式是 Java 8 引入的核心特性,旨在简化函数式编程,替代冗长的匿名内部类,使代码更简洁、灵活 &am…...
可观测性方案怎么选?SelectDB vs Elasticsearch vs ClickHouse
可观测性(Observability)是指通过系统的外部输出数据,推断其内部状态的能力。可观测性平台通过采集、存储、可视化分析三大可观测性数据:日志(Logging)、链路追踪(Tracing)和指标&am…...
100个常用的DeepSeek指令
日常生活类(20个) 1. 新闻解读:请为我解读今天的热点新闻。 2. 天气查询:请查询……的天气并推荐着装。 3. 旅行攻略:请制定前往……的旅行攻略。 4. 菜谱生成:请生成……菜的具体做法。 5. 解决方案&…...
【C语言】--指针超详解(二)
目录 一.const修饰指针 1.1--const修饰变量 1.2--const修饰指针变量 二.野指针 2.1--野指针成因 2.1.1--指针未初始化 2.1.2--指针越界访问 2.1.3-- 指针指向的空间释放 2.2--如何规避野指针 2.2.1--指针初始化 2.2.2--小心指针越界 2.2.3--指针变量不再使用时&am…...
git 多个提交记录合并为一个
1.场景 有时候用devops等平台测试问题,需要多次修改小的记录提交,但是最终我们在合并主干的时候不想留那么多乱七八糟的记录,就需要在此分支合并这些提交记录,再合并到主干。 2.交互式变基 2.1 确定要合并的提交范围 # 查看最近…...
AI视频生成的艺术:镜头语言
前言 AI视频生成技术正逐渐改变我们创作和消费视频内容的方式,各式各样的AI视频制作软件正在不断的涌现,比如可灵、即梦、runway等。虽然AI视频生成的交互方式(自然语言)极大的减少了我们创作视频的门槛,但要让AI正确理解并创造出符合我们期望的视频,我们可能还是需要了解…...
机器学习与深度学习
目录 一、机器学习 (一)机器学习的分类 1. 监督学习 2. 无监督学习 3. 强化学习 (二)机器学习的应用场景 二、深度学习 (一)深度学习的核心原理 (二)常见的深度学习模型 …...
数字孪生市场格局生变:中国2025年规模214亿,工业制造领域占比超40%
一、技术深度解析:数字孪生的核心技术栈与演进 1. 从镜像到自治:数字孪生技术架构跃迁 三维重建突破:LiDAR点云精度达2cm,无人机测深刷新频率5Hz,支撑杭州城市大脑内涝预警模型提前6小时预测。AI算法融合:…...
数字孪生[IOC]常用10个技术栈(总括)
1. 什么是数字孪生? 数字孪生(Digital Twin) 是通过数字化技术对物理实体(如设备、系统或环境)进行高精度建模和实时映射的虚拟副本。其核心是通过 数据驱动 实现物理世界与虚拟世界的双向交互,支持实时监控…...
WPF主窗体子窗体关联方法
步骤: 1、创建WPF项目 2、设计主窗体,选定显示子窗体的区域(MainWindow.xaml) 3、在想要显示子窗体的区域填写如下代码(MainWindow.xaml) 4、创建子窗体 5、建立调用子窗体事件,下图一是load事件,也可以是…...
笔记本电脑实现网线内网 + Wi-Fi外网同时使用的配置方案
1、同时连接两个网络 插入网线连接内网,确保内网IP地址正常获取(如10.143.88.x);连接Wi-Fi接入外网,确认可正常访问互联网(如网关为192.168.8.1)。 2、 记录关键网络参数 内网网关&#…...
探讨关于智能体(Agent)结合 Dify、大语言模型(LLM)以及 Qwen-3 模型的项目或概念
1. Dify 的作用 Dify 是一个开源的 AI 框架,它可以帮助开发者快速搭建和部署 AI 应用。它可以作为一个基础架构,为智能体提供以下支持: 应用开发与部署:Dify 可以帮助开发者快速搭建智能体的前端和后端架构,包括用户界…...
2025 后端自学UNIAPP【项目实战:旅游项目】3、API接口请求封装,封装后的简单测试以及实际使用
一、创建请求封装目录 选中自己的项目,右键鼠标---->新建---->目录---->名字自定义【我的是api】 二、创建两个js封装文件 选中封装的目录,右键鼠标---->新建---->js文件---->名字自定义【我的两个js文件分别是my_http和my_api】 三…...
【electron+vue】常见功能之——调用打开/关闭系统软键盘,解决打包后键盘无法关闭问题
效果图展示 实现思路:通过input标签聚焦失焦的方式,实现系统软键盘的显示隐藏。 使用场景:一体机电脑,无外接键盘。 html <el-input v-model"idNumber" placeholder"请输入" focus"showKeyboard&qu…...
告别手动输入密码:基于SSHPass的自动化文件传输实践告别手动输入密码:基于SSHPass的自动化文件传输实践
一、运维人员的共同痛点 在日常运维工作中,我们经常需要在多台服务器之间传输文件。传统的手动操作方式需要反复执行以下步骤: 输入scp命令等待密码提示输入复杂密码确认传输结果手动修改文件权限 这种重复劳动不仅效率低下,在批量操作时更…...
Python序列Day3
序列 序列是一种数据存储方式,用方括号标注,逗号分隔的一组值。在内存中,序列就是一块用来存放多个值的连续的内存空间。 常见序列结构有:字符串、列表、元组、字典、集合 列表 用于存储任意数目,任意类型的数据集…...
22、近端策略优化算法(PPO)论文笔记
近端策略优化算法(PPO)论文笔记 一、研究背景与目标二、**方法****3.1 策略梯度基础****3.2 信任区域方法(TRPO)****3.3 剪切代理目标函数(LCLIP)****3.4 自适应KL惩罚系数****3.5 算法实现** 三、 L CLIP…...
web 自动化之 selenium+webdriver 环境搭建及原理讲解
文章目录 一、web 自动化测试学习说明二、什么 web 自动化测试三、selenium 简介四、web自动化测试环境搭建五、web 自动化测试第一个脚本六、selenium 原理及源码讲解 一、web 自动化测试学习说明 进阶 web 自动化测试学习:掌握 python 编程基础 二、什么 web 自…...
Vue3快速入门/Vue3基础速通
Vue3 渐进式的javascript框架,我们可以逐步引入vue的功能 官方文档 Vue.js中文手册 你可以借助 script 标签直接通过 CDN 来使用 Vue: <script src"https://unpkg.com/vue3/dist/vue.global.js"></script>通过 CDN 使用 Vue 时…...
Babylon.js学习之路《一、初识 Babylon.js:什么是 3D 开发与 WebGL 的完美结合?》
文章目录 1. 引言:3D 开发在 Web 中的崛起1.1 为什么需要 Web 3D 开发?1.1 WebGL 的定位与挑战 2. Babylon.js 的核心定位2.1 什么是 Babylon.js?2.2 Babylon.js 的独特优势2.3 对比其他 Web 3D 框架(Three.js、PlayCanvas&#x…...
v-model原理详解
一 :value"msg 在 Vue.js 中,v-bind 指令(简写为 :)用于将数据属性绑定到 HTML 元素的属性上。当你使用 :value"msg" 时,它的作用是将 Vue 实例中的 msg 数据属性绑定到目标元素的 value 属性上。 1.value 属性…...
并发与并行的关系
并发(Concurrency)与并行(Parallelism)的本质区别 1. 核心定义 并发:多个任务在重叠的时间段内交替执行,但不一定是同时的。 关注的是任务的组织方式(如多任务调度、逻辑上的同时性)…...
uniapp 微信小程序使用图表
使用的是秋云 ucharts 直接在hbuilder插件市场进行下载导入项目中,多端支持 下载地址秋云 ucharts echarts 高性能跨全端图表组件 - DCloud 插件市场 导入成功后这里就能看到导入的插件啦 导入项目后就可以直接在页面中通过组件使用了 不需要其余配置 使用简单 参…...
基于vm加密的php逆向分析
前言 对于 php 主流的加密方式有两种: 1、基于扩展的 2、本地加密,不涉及扩展 一些在 php 端通过 zend_compile_file 等函数就可以直接 dump 出原代码的,称之为加密实在是抬举了 之前有写过一篇直接 dump 出源码的分析 https://blog.qc7…...
FPGA----基于ALINX提供的debian实现TCF
引言:接上问,我们使用自制的image.ub和boot.bin以及ALINX提供的debian8根文件系统,构建了petalinux,但是经测试,该文件系统无法启用TCF服务,即无法与Xilinx SDK建立连接,那么我们应该如何解决&a…...
基于Transformer的多资产收益预测模型实战(附PyTorch实现与避坑指南)
基于Transformer的多资产收益预测模型实战(附PyTorch模型训练及可视化完整代码) 一、项目背景与目标 在量化投资领域,利用时间序列数据预测资产收益是核心任务之一。传统方法如LSTM难以捕捉资产间的复杂依赖关系,而Transformer架…...
SQL:MySQL函数:字符串函数
目录 为什么需要字符串函数? 1️⃣ LENGTH(str) — 这个字符串有几个“字节”? 2️⃣ CHAR_LENGTH(str) — 这个字符串有几个“字符”? 3️⃣ TRIM(str) — 把两边的空格剪掉 4️⃣ REPLACE(str, a, b) — 把 a 替换成 b 使用这些函数时…...
C++-缺省参数
缺省参数 缺省参数也叫默认参数 指的是在函数参数的位置,提前定义一个缺省值(即提前定义一个值),当函数接收到参数时,如果定义缺省值的位置未接收到参数,那么这个位置会自动使用缺省值 通过定义缺省参数…...
MySQL 数据库
目录 1. 数据库简介 1.1 使用数据库的必要性 1.2 数据库的基本概念 1.3 经典数据模型 2. MySQL 服务基础 2.1 MySQL 的二进制安装 2.1.1 基础环境准备 2.1.2 二进制安装 2.1.3 设定配置文件 1. 数据库简介 1.1 使用数据库的必要性 使用数据库可以高效且条理分明地存…...
探寻养生新路径,守护健康生活
在忙碌的现代生活中,人们对健康养生的需求愈发迫切。养生不一定要遵循复杂的规则,从一些新颖且实用的方面入手,同样能收获健康的馈赠。 关注肠道菌群的平衡是养生的关键。肠道内居住着数以万亿计的微生物,它们与人体健康息息相…...
平板收银系统、国产系统,鸿蒙系统,小键盘的封装与应用—仙盟创梦IDE
数字小键盘封装 数组小键盘封装是指将与数组小键盘相关的功能、操作、数据等进行整合,形成一个独立的、可复用的模块。封装数组小键盘具有以下几方面重要意义: 提高代码可维护性 降低复杂度:数组小键盘在实际应用中,可能涉及到…...
微软推动智能体协同运作:支持 A2A、MCP 协议
今日凌晨,微软宣布 Azure AI Foundry 和 Microsoft Copilot Studio 两大开发平台支持最新 Agent 开发协议 A2A,并与谷歌合作开发扩大该协议,这一举措对智能体赛道意义重大。 现状与变革意义 当前智能体领域类似战国时代,各家技术…...
《企业级前端部署方案:Jenkins+MinIO+SSH+Gitee+Jenkinsfile自动化实践》
文章目录 前言前端项目CICD时序图一、环境准备1、服务器相关2、Jenkins凭据3、注意事项 二、设计思想1. 模块化设计2.多环境支持3. 制品管理4. 安全部署机制5. 回滚机制 三、CI阶段1、构建节点选择2、代码拉取3、代码编译4、打包并上传至minio 四、CD阶段五、回滚阶段六、构建通…...
数据库的进阶操作
目录 1、数据库的约束 2、查询操作的进阶 2.1 查询插入 2.2 聚合查询 2.3 运算查询 2.3 分组查询 2.4 联合查询 2.5 内外连接 2.6 子查询 2.7 合并查询 1、数据库的约束 数据库的约束是指:数据库会自动的对数据的合法性进行校验和检查的一系列操作的机制&a…...
小刚说C语言刷题—1341银行存款问题
1.题目描述 亮亮把 n 元按照 m 年期整存存入银行,按照目前银行的年利率,请问到期后亮亮可以连本带息总共拿到多少钱? 存期(整存整取) 年利率 1年 3.25% 2年 3.75% 3年∼4 年 4.25% 5年及 5年以上 4.75% 输入…...
15 个 Azure DevOps 场景化面试问题及解答
问题 1. 解释 Azure DevOps YAML 管道的典型结构。 您可以从管道的整体结构开始,从触发器开始。您也可以选择解释它可能包含的不同类型的阶段:构建、测试、扫描、部署等。 Azure DevOps YAML 管道结构示例 触发器指示管道运行。它可以是持续集成 (CI) 或…...