Java转行大模型工程师必看AI大模型零基础到商业实战全栈学习路线
大模型中的Transformer与混合专家(MoE)
Transformer 和 Mixture of Experts(MoE)是两种不同的深度学习架构,它们在结构、原理和应用方面存在一些差异
1.1 模型结构差异
- Transformer:主要由编码器和解码器组成,编码器负责将输入序列编码成一个连续的向量表示,解码器则根据编码器的输出和之前生成的输出序列来生成下一个输出。其核心组件包括自注意力机制(Self - Attention)、多头注意力机制(Multi - Head Attention)和前馈神经网络(Feed - Forward Neural Network)等,通过堆叠这些组件来构建深层网络。
- Mixture of Experts:是一种基于专家系统的架构,包含多个不同的 “专家” 模型(可以是各种类型的神经网络或其他机器学习模型),以及一个门控网络(Gating Network)。门控网络根据输入数据来决定每个专家模型对最终输出的贡献程度,通过组合多个专家模型的输出得到最终结果。
1.2 工作原理
- Transformer:利用自注意力机制来自动学习文本中的长期依赖关系,能够并行计算,高效地处理长序列数据。在计算注意力权重时,会考虑输入序列中每个位置与其他位置的相关性,从而自适应地聚焦于输入序列的不同部分,以更好地捕捉语义信息。前馈神经网络则对注意力机制的输出进行进一步的特征提取和变换。
- Mixture of Experts:不同的专家模型擅长处理不同类型或不同分布的数据。门控网络会根据输入的特征,为每个专家模型分配一个权重,表示该专家模型在当前输入下的重要性。最终输出是各个专家模型输出的加权求和,通过这种方式可以充分利用不同专家模型的优势,提高模型的泛化能力和性能。
1.3 模型性能
- Transformer:在各种自然语言处理任务中表现出色,如机器翻译、文本生成、问答系统等,能够处理长序列数据并捕捉复杂的语义关系,具有很强的表征能力。通过大规模的数据训练和深层的网络结构,可以学习到高度抽象的语言特征,从而取得良好的性能。
- Mixture of Experts:可以通过组合多个专家模型来处理复杂的任务,在一些具有多模态或多领域特征的任务中表现出较好的性能。当不同的专家模型能够有效地覆盖不同的数据分布或任务子空间时,MoE 可以实现更灵活和准确的建模,并且在一定程度上可以缓解模型过拟合的问题。
1.4 计算资源与训练难度
- Transformer:由于其深层的网络结构和大量的参数,训练和推理过程通常需要大量的计算资源,如 GPU 集群等。训练时间较长,尤其是在处理大规模数据集时。但是,随着硬件技术的发展和优化算法的改进,Transformer 的训练和部署逐渐变得更加可行和高效。
- Mixture of Experts:训练过程相对复杂,需要同时训练多个专家模型和门控网络,并且要确保各个专家模型之间的协作和平衡。然而,由于每个专家模型可以相对较小且专注于特定的任务子空间,在一些情况下可以减少整体的计算量和参数数量,从而在一定程度上节省计算资源。同时,MoE 的训练也面临一些挑战,如门控网络的设计和优化、专家模型之间的负载均衡等问题。
1.5 应用场景
- Transformer:广泛应用于自然语言处理的各个领域,是当前许多先进的语言模型和相关应用的基础架构。例如,BERT、GPT 等著名的语言模型都是基于 Transformer 架构开发的,适用于各种文本处理任务,包括但不限于文本分类、命名实体识别、情感分析、文本摘要等。
- Mixture of Experts:在一些具有复杂数据分布或多任务需求的场景中具有优势。例如,在处理多语言任务时,可以为不同语言设置不同的专家模型;在图像和文本的多模态任务中,也可以通过 MoE 将处理图像和文本的不同专家模型结合起来。此外,在一些需要对不同类型数据进行灵活处理的应用中,如推荐系统中处理不同类型的用户行为数据,Mixture of Experts 也能发挥较好的作用。
5种大模型微调技术
大模型微调技术是一种在预训练的大型语言模型基础上进行进一步训练的方法,旨在针对特定任务或领域对模型进行优化,以提高模型在该特定场景下的性能。
LORA(Low - Rank Adaptation of Large Language Models)是一种用于微调大型语言模型(LLM)的技术。LORA 的核心思想是通过低秩分解来近似模型的参数更新。在微调过程中,它不是直接对大规模的模型参数进行全量更新,而是将参数矩阵分解为两个低秩矩阵的乘积。这样可以大大减少需要学习的参数数量,同时仍然能够有效地捕捉到特定任务或领域的信息。
LORA - FA 是 LoRA(Low - Rank Adaptation of Large Language Models)的一种变体,是 LoRA 与 Frozen - A 的缩写。在 LORA - FA 中,矩阵 A 在初始化后被冻结,作为随机投影,而矩阵 B 则像原始 LoRA 中一样用零初始化之后进行训练。
VeRA 是指 Vector - based Random Matrix Adaptation(基于向量的随机矩阵适配)1。它是由阿姆斯特丹大学 QUVA 实验室的研究者团队提出的一种新方法,旨在显著减少微调大模型时所需的可训练参数数量,同时保持模型性能。
VeRA 的核心创新是对低秩矩阵的重新参数化。它冻结了一对随机初始化的矩阵,这些矩阵在所有适配层之间共享,然后引入可训练的缩放向量以实现逐层适应。与 LoRA 类似,训练后的缩放向量和低秩矩阵可以合并到原始权重中,从而消除额外的推理延迟。
Delta-LORA与 LoRA 和其他低秩适应方法不同,Delta - LoRA 不仅更新低秩矩阵 <inline_LaTeX_Formula>A<\inline_LaTeX_Formula > 和 <inline_LaTeX_Formula>B<\inline_LaTeX_Formula>,
还通过利用两个低秩矩阵乘积的增量
(<inline_LaTeX_Formula>A^{(t + 1)} B^{(t + 1)} - A^{(t)} B^{(t)}<\inline_LaTeX_Formula>)
来更新预训练权重 < inline_LaTeX_Formula>W<\inline_LaTeX_Formula>,将学习传播到预训练权重 < inline_LaTeX_Formula>W<\inline_LaTeX_Formula>。
LoRA + 是源自论文《LoRA+:大型模型的高效低秩适配》的技术革新,是一个开源代码库1。它基于 LoRA 方法改进,旨在优化大模型的低秩适应性,通过引入独特机制,在不显著增加计算成本的情况下,提升了大模型在下游任务上的微调效率和性能
传统RAG与Agentic RAG对比
5种经典的智能体设计模式
反射模式(Reflection Pattern)、工具使用模式(Tool Use Pattern)、反应模式(React Pattern)、规划模式(Planning Pattern)、多智能体模式(Multi - agent)
5大文本分块策略
固定长度分块、基于语义的分块、递归分块 、基于文档结构的分块、基于大模型的分块
智能体系统的5个等级
Basic Responder是一种基础的反应式智能体。
Router Pattern是一种基于特定模式进行路由决策的智能体。
Tool Calling是一种能够调用外部工具来完成特定任务的智能体。
Multi-agent Pattern是一种多智能体模式。
Autonomous Pattern 即自主模式智能体,是一种具有高度自主性和独立性的智能体。
传统RAG vs HyDE
RAG vs Graph RAG
KV caching
KV Caching(键值缓存)是大型语言模型(LLM)中的一项重要技术,用于提高模型的推理速度和效率。