agent教程之大模型基础知识
agent教程之大模型基础知识
大模型基础知识
- 大模型的工作原理
-
词嵌入
词嵌入是“向量化”的一种高级进化形式,它引入了“语义空间”的概念;
“词嵌入就是将一个词语在某个维度下的特征聚合在一起形成很多维度下的一个特征集合,这个特征集就是能标识这个词语的向量值”
相似含义的词语在向量空间中距离较近,反之距离较远,例如java和python在向量空间中距离较近,而java和香蕉在向量空间中距离较远。 -
注意力机制
大模型在处理文本时,会通读全篇,根据语境让一整句话的向量偏向不同的特征空间。” 而实现这种动态融合、让模型拥有“情境感”的底层核心引擎,就是注意力机制。
注意力机制就在每个词语的向量不是固定的,而是根据上下文动态调整的。注意力机制的核心是计算每个词语对其他词语的“注意力权重”,从而决定在生成输出时应该关注哪些词语。
注意力机制必须要提Q、K、V三个向量,Q是查询向量,K是键向量,V是值向量。通过计算Q和K的相似度来得到注意力权重,然后将注意力权重应用到V上,从而得到最终的输出,通俗来讲Q-K-V的处理就是集合上下文重算向量的过程;
实际在处理的过程中是按照多头注意力的方式并行进行处理的
- 大模型的创建过程
- 准备数据集
准备高质量的数据集和治理数据集是大模型创建的第一步。数据集的质量直接影响模型的性能和泛化能力。需要确保数据的多样性、代表性和准确性,同时进行数据清洗和标注。 - 预训练阶段
在预训练阶段,使用大规模的无监督数据对模型进行训练。就是通过大量的文本数据让模型学习语言的结构、语法和语义关系,得到一个通用的语言表示模型。基于上文,预测下一个词(Next-Token Prediction) - 微调阶段
在微调阶段,使用特定任务的数据对预训练模型进行训练,让模型能精确理解并遵循人类指令,而不只是一个单纯的词语预测模型。微调阶段通常使用有监督学习的方法,通过标注数据集对模型进行优化,使其在特定任务上表现更好。; - 对齐阶段
对齐阶段是指通过人类反馈和强化学习等方法,使模型符合人类的价值观和安全规划。 - 部署阶段
部署阶段是将训练好的模型应用到实际场景中,提供服务和解决问题。需要考虑模型的性能、可扩展性和安全性等因素。
- 监督微调(sft)
监督微调是指在预训练模型的基础上,使用有监督学习的方法对模型进行进一步训练,以适应特定任务或领域。通过提供标注数据集,模型可以学习到更具体的知识和技能,从而提高在特定任务上的表现。
sft注意事项:- 数据质量,"垃圾进,垃圾出"原则,数据集的质量直接影响模型的性能和泛化能力。需要确保数据的多样性、代表性和准确性,同时进行数据清洗和标注。
- 避免过度微调,防止模型过拟合特定任务或领域,导致在其他任务上的表现下降。可以通过正则化、早停等方法来控制微调的程度。
- 勿用SFT注入海量新知识,STF擅长对齐,但不擅长注入新知识,如果想要注入新知识,可以使用LoRA等方法,或者直接使用大模型的预训练能力。
- 保持数据分布一致性,确保微调数据集与预训练数据集在分布上尽量一致,以避免模型在微调过程中偏离原有的语言表示能力。