LLM 训练怎么走:预训练、微调和 RLHF
自然语言处理一直是 AI 里最难啃的方向之一。语言不是规则表,里面既有统计规律,也有上下文、歧义和大量'看起来合理但其实不对'的情况。LLM 能跑起来,靠的就是一套比较成熟的训练链路。
1. LLM 训练到底在做什么
LLM 训练,说白了就是让模型从海量文本里学会语言。它不是把知识一条条存进去,更像是在大量样本中摸清词与词、句与句之间的关系,最后形成一个能继续写、能理解上下文的模型。
这个过程通常很吃算力,也很吃数据。数据不够干净,模型学到的东西会偏;算力不够,训练周期会被拉得很长。实际落地时,这两件事往往比'模型结构多漂亮'更关键。
训练好的 LLM 一般会被用在机器翻译、文本生成、对话系统这类任务里。能不能用得顺,主要还是看前面的训练打得牢不牢。
2. 为什么训练这一步绕不过去
LLM 之所以能做事,不是因为它天生懂语言,而是因为训练让它把语言里的规律压缩进参数里了。没有这一步,模型只是随机初始化的一堆权重。
常见的预训练目标是预测下一个词,或者恢复被遮住的词。看起来简单,效果却不错,因为模型会在这个过程中学到词汇搭配、句法结构、上下文依赖,甚至一些隐含的语义关系。
训练质量直接决定模型上线后的体验。训练得好,回答通常更顺、更稳;训练得差,模型容易胡言乱语,或者对长上下文特别迟钝。这个差别在 demo 阶段未必立刻暴露,到了真实场景就很明显。
3. 训练一般分哪几步
LLM 的训练通常不是一口气完成的,而是分层推进。最常见的几步是预训练、微调,以及基于人类反馈的强化学习。
3.1 Pre-Training(预训练)
预训练是最底层、也最费资源的一步。模型从随机权重开始,在大规模语料上学习通用语言能力。训练目标通常是根据前面的 token 预测下一个 token,或者做 masked language modeling 这类自监督任务。
这里的关键点是'自监督'。它不依赖人工标注,而是直接从文本本身构造训练信号,所以能吃下非常大的数据集,比如维基百科、新闻、书籍和网页文本。
预训练结束后,模型通常已经具备比较通用的语言表示能力,但这还不够。它知道很多语言规律,却未必适合某个具体任务。
3.2 Fine-Tuning(微调)
微调做的事更具体:把通用模型往某个任务或领域上拉。
预训练模型有两个常见短板。一个是输出结构不一定匹配任务,比如分类、抽取、问答这些任务,直接靠'继续生成文本'未必顺手。另一个是领域知识不够,模型可能对训练语料之外的专业内容很陌生。
这时候通常有两条路:
- Prompting(提示工程):不改模型参数,靠设计输入提示去引导输出。
- Fine-Tuning(微调):继续训练模型,让它更贴合目标任务。
Prompting 省事,适合快速试验;微调更稳,尤其是任务格式固定、数据也比较明确的时候。不过微调不是白捡效果,它会额外消耗训练成本,也要小心过拟合和灾难性遗忘。
在 FT 或指令调优阶段,模型通常以用户消息作为输入,以人工标注的理想回复作为目标。训练时最直接的做法,就是让模型输出尽量靠近目标答案。这样做的好处是,它能把'知道语言'往'会按要求回答'推进一步。
3.3 RLHF-Tuning(人类反馈强化学习)
RLHF 是后来很关键的一步,尤其常见于聊天模型。它的目标不是单纯让模型更会生成文本,而是让输出更符合人类偏好:更有帮助、更安全,也更少胡说。
RLHF 一般分两个阶段:
-
用人类反馈训练奖励模型 把多个候选回答交给标注者排序,训练一个奖励模型,让它学会判断什么回答更好。
-
用奖励模型指导后续训练 之后不再完全依赖人工逐条打分,而是让奖励模型给出偏好信号,推动主模型往更好的方向优化。
这套流程的价值在于,它把'正确答案'之外的东西也纳进来了。很多时候模型的问题不在于不会答,而在于答得太满、太偏、太危险。RLHF 就是专门处理这类问题的。
4. 这几步放在一起看
如果把 LLM 训练拆开看,预训练解决的是'语言能力从哪来',微调解决的是'怎么适配具体任务',RLHF 解决的是'怎么让输出更像一个可用的助手'。三者不是互相替代,而是层层往上叠。
我比较认可的理解是:预训练打地基,微调定方向,RLHF 收边界。少了任何一步,模型都可能能跑,但未必好用。
5. 结尾
LLM 训练并不神秘,真正难的是把数据、算力、训练目标和对齐策略凑到一起。预训练给模型通用语言能力,微调让它更贴近业务,RLHF 则进一步修正它的行为边界。


