大语言模型入门
1 大语言模型步骤
1.1 pre-training 预训练
1.1.1 从网上爬数据
download and preprocess the internet, including url filtering(like, removing racist/adult websites), PII removal(personal identifiable information should be removed, 豆包被爆输出个人信息,所以是这一点没有做好)
数据规模大概是44TB左右,不大,甚至一个大点的移动硬盘就可以装下。
1.1.2 tokenization
tokenization = context -> symbols/a sequence of tokens
- 文字编码的本质就是把字或字母转成一个有限表示的序列,比如a-z可以用1-26来表示。
- 这个序列不希望太长,要不然变相挤占了输入资源
1.1.2.1 tokenization using byte pair encoding
找到常出现的编码对,比如(125 67),就把它合成为一个新编码符号(比如301),然后再看有没有新的编码对,比如(301 786),那就再把这个合成新的。这样做decrease the length and increase the symbol size, in practice symbol size turns out to be 100k。
44TB -> 15 trillion万亿 token sequences
1.3 预训练
1.3.1 context
选取任意长度的token窗口arbitrary window lengths of tokens, but in practice the maximum length is often set as 16k/8k/4k
1.3.2 training
模型输出每个token的概率,和真值算loss
1.3.3 输出
做完预训练的模型一般称为base,base一般不会被release出来。
如果给base输入一句话,它不会回答,只会续写。
如果想要prompt,可以参考如下,因为模型具有in-context learning ability
这个base model更像是internet document simulator
1.2 post-training
- The pre-training stage is to sample documents, the post-training stage is to give answers to questions.
- The pre-training relies on the online documents, but the post-training stage totally throws them out and use datasets of human-labeling conversations.
- The pre-training stage takes 3 months while post-training 3 hours, because the datasets of conversations are much smaller.
- This stage is much computationally cheaper.
- 这个阶段要学会和人类互动,也要拒绝不合理的要求(比如如何黑进别人的电脑)
- 这个阶段不会也无法覆盖所有的可能的问题,但是通过这种示例,模型能够学到这样的统计学模式statistical pattern,从而在推理时遇到没被训练过的问题,也能给予回答。
- 从LLM获得的回答其实是类似人类标注员的回答,或者说LLM公司编写的回答规范的回答。You are not talking to a magical AI, instead an average labeler.
1.2.1 token
因为输入的是对话,所以需要对对话进行处理,增加虚拟独白部分,分别在最前和最后,而且要指明是user还是assistant。
在推理时,输入到<|im_start|>assistant<|im_sep|>,后面的由模型补充就得到了答案。
1.2 SFT监督微调
1.3 人类反馈强化学习
1.3.1 人类反馈奖励模型
1.3.2 基于奖励函数进行试错
PPO
proximal policy opt
最大化长期奖励,但是通过clip保证不会偏离当前策略太远。
举个例子:智能家居系统
有一个智能家居系统,其中的恒温器需要根据室内外温度、能源价格等因素来调整设置,以达到舒适与节能的平衡。这个恒温器就是我们的“智能体”,它的目标是通过调节温度来最大化长期奖励(比如节省能源费用和保持舒适)。
场景设定:
状态:当前室内温度、室外温度、时间等。
动作:将恒温器设置为 20°C、21°C 或 22°C。
奖励:根据能源消耗和舒适度打分,比如:
如果温度太低或太高,奖励较低(因为不舒服)。
如果温度适中且能源消耗少,奖励较高。
恒温器需要通过不断尝试不同的设置来找到最优策略。PPO 的作用就是帮助它在学习过程中逐步优化策略,避免“走得太远”而犯错。
GRPO
group relative policy opt
一种用于大模型的策略优化算法,通过分组比较,动态调整学习策略,使训练更高效和稳定。因为之前是采用PPO算法,PPO会直接冲着奖励最高的方向去学习,无法平衡风险。
举个例子:班级小组学习
假设一个班级要提升数学成绩,老师用 GRPO 的思路设计学习计划:
分组:把学生分为 A、B、C 三组,每组用不同学习方法:
A组:题海战术
B组:错题分析
C组:概念推导
相对比较:
每周考试后,对比各组平均分。比如 B 组得分最高,说明“错题分析”方法更有效。
策略优化:
让 B 组分享经验,但不强制其他组完全照搬(避免学得太快反而混乱)。
A、C 组参考 B 组的方法,适当调整自己的策略(比如题海战术中加入错题分析)。
结果:
整体班级成绩提升,且各组保持自己的特色(稳定性)。
4 大语言模型值得相信吗
things that occur very frequently in the internet are probably more likely to be remembered correctly. The output of the LLM is just a vague recollection of internet documents
4.1 AI hallucinations幻觉
给模型输入一段没见过的东西,它会沿着继续预测下去,本质上是在概率性的前提下进行最佳预测。
由于是概率性的,所以在训练集的分布里,并没有"我不知道",只有自信的回答,所以面对及时不知道的事,AI也会给出自信的编造。Even the model knows it doesn’t know, it will not surface that.
The model are not looking it up(查找信息), instead just imitating the answer.
4.1.1 如何确认存在幻觉
- 测试大模型是否存在幻觉
a. 先用大模型A给出一些问答
b. 用这些问答问待测试的大模型
c. 如果回答错了,就说明存在幻觉
4.1.2 如何解决幻觉
- 训练大模型说我不知道
a. 根据答错的问题,训练它说我不知道
Through this way, the model learns the association of the knowledge-based refusal to the internal neuron - 联网搜索,把搜索到的知识当作输入一起给模型。
4.2 大模型心理学LLM psychology
涌现认知效应 emergent cognitive effect
Deepseek
Reasoning oriented RL using GRPO
其中的奖励函数没有用人工的,而是纯deterministic的。A rule-based reward system