第九节 大模型
一、大模型
大模型(Large Language Model)是一个自回归的生成模型,我们前面提过,在transformers模型中,Decoder部分可以看做一个GPT,那么从GPT到大模型,也仅仅是改变了一些组成部分上的不同而已

- MOE:Mixture of Experts 专家混合模型,一种神经网络架构,包含多个并行的专家网络和一个门控网络,门控网络根据输入动态选择部分专家进行激活,从而在增加模型容量的同时保持计算效率,常用于大规模语言模型。
- RMSNorm:Root Mean Square Layer Normalization 均方根层归一化,一种归一化方法,通过计算输入的均方根进行缩放,不进行均值中心化,相比LayerNorm计算更简单且能稳定训练。
- Multi-Head Latent Attention:多头潜在注意力机制,一种注意力机制的变体,通常指将查询、键、值映射到低维潜在空间进行多头注意力计算,以减少计算量和内存占用,同时可能通过潜在表示捕捉更丰富的特征,常见于一些高效Transformer架构。
1. MOE

所谓的专家模型,在一部分固定的点,经过专家系统;或是经过随机的点,如上图绿色(蓝色),如何选择“专家”?实际上这是一个我们需要关注的问题。
| 方法名称 | 核心原理 | 关键特点 | 典型应用/模型 |
|---|---|---|---|
| Token 选择路由 (Token-Choice Routing) | 这是最常见的方式。对于每个输入词元(Token),门控网络计算其与所有专家的匹配分数,然后选择得分最高的K个(Top-K)专家来处理它。 | 动态稀疏,计算效率高,但可能导致某些专家过载或闲置(负载不均衡),常需配合负载均衡损失函数。 | 经典MoE、Mixtral 8x7B (K=2)、Switch Transformer (K=1) |
| 专家选择路由 (Expert-Choice Routing / BASE层) | 颠覆传统范式,让每个专家主动从一批词元中选择得分最高的C个(Top-C,C为专家容量)来处理。 | 完美负载均衡,每个专家处理固定数量的词元,硬件利用率高,但实现稍复杂。 | 专家选择MoE、BASE层 (Balanced Assignment of Sparse Experts) |
思考一下:为什么要用moe?传统的FFN有什么问题:一是moe的参数量实际上是上升的,但是为什么另外moe的计算量也能够减少百分之80左右呢?因为可以减少激活的单元,从而减少计算量

2.旋转位置编码
另一个不一样的是旋转位置编码(Rotary Position Embedding,rope)

由于向量的每一个部分都会改变,所以能够很好地表示区别;
3.多头潜在注意力
第三个是多头潜在注意力(Multi-head Latent Attention,MLA),我们知道,KV会占据大量的cache块,

我们现在需要减少kv cache,如何做?

MQA可以很好解决这个问题,把m/q整合起来,重复使用,从而达到节约资源的目的,可能有人会问,为什么不能加显卡?因为卡内通信带宽>卡间通信带宽>机间通信带宽,过多的机器和显卡会导致通信消耗太高。 所以我们想到了办法LORA(Low Rank Adaptation,低秩适配器)


MLA(Multi-head Latent Attention,多头潜在注意力)是一种通过低秩压缩来减少键值(KV)缓存大小的注意力机制,其核心流程如下:

4.swiglu
这一部分便是在激活函数上做文章,之前的激活函数是relu或者gelu,这里换成swiglu

5. RMSNorm
还有什么能创新?哦,归一化还可以变一变

二、大模型的训练
唯一的区别就是数据集更多了,有监督微调主要就是在意一下数据集,大模型的训练就是预测下一个字,一个一个地进行预测,流程大概就是下面几步


这里主要介绍以下强化学习,强化学习是基于“奖励”机制的,上面的
实际上就是奖励的,是“+”的,OK,下面是AI生成的“强化学习”和“近端策略优化”,生成的内容还是很靠谱的
1. 第一层:什么是强化学习?
-
核心思想:让一个智能体(Agent) 在环境(Environment) 中通过试错来学习。它通过执行动作(Action),改变环境状态,并获得奖励(Reward),目标是学会能获得最大累计奖励的策略。
-
生活类比:就像训练一只小狗。小狗做了正确动作(如坐下)就给零食(正向奖励),做错了就轻微呵斥(负向奖励)。久而久之,小狗就知道做什么动作能获得更多零食。
-
关键要素:它包括策略(Policy)——即智能体在某个状态下应该采取什么动作的规则。
2. 第二层:什么是PPO?
PPO的全称是近端策略优化(Proximal Policy Optimization)。
-
定义:它是2017年由OpenAI提出的一种强化学习算法。在提出后不久,它就成为了强化学习领域最主流、最常用的算法之一。
-
核心思想:PPO要解决的是“如何让策略更新得更稳”这个问题。
-
如果策略更新幅度太大,可能导致模型突然崩溃(好比一个体操运动员尝试了一个难度跨度过大的新动作,结果摔倒了)。
-
如果更新幅度太小,学习速度就会很慢。
-
PPO的核心创新就是限制了每次策略更新的幅度,确保新策略和旧策略不要差别太大,但又能在稳中求进。
-
3. 第三层:它们有什么关系?
PPO是强化学习这个“武器库”里的一种“神器”。
-
包含关系:强化学习是一个大学科,里面有很多不同的算法流派(如Q-learning、策略梯度法等)。PPO属于策略梯度法这一流派,并且是目前该流派中表现最出色、应用最广泛的算法之一。
-
在LLM训练中的具体应用:回顾你刚才发的那张幻灯片,在RLHF这一步,强化学习被用来微调大语言模型。而最常用的强化学习算法正是PPO。
-
在这个场景下:
-
智能体:正在生成文本的大语言模型。
-
环境:当前的上下文(已经生成的文本)。
-
动作:生成下一个词。
-
奖励:由“奖励模型”根据生成的内容质量给出的分数(幻灯片中提到的奖励高的增加概率)。
-
-
总结
-
强化学习是那个总目标:告诉我们要去“罗马”,并定义了怎么算走对了(奖励)。
-
PPO是那张详细的地图和稳健的交通工具:告诉我们每一步该怎么走才能稳而快地到达罗马,而不是因为步子迈太大而翻车。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)