预训练 vs. 后训练
· 7 min read

预训练(Pre-training)和后训练(Post-training)是大模型生命周期中两个不同阶段,它们的目标、数据、计算资源和产出都有本质区别。
预训练(Pre-training)
- 目标:让模型掌握通用语言规律、世界知识、推理能力。
- 数据:
- 来源:网页(Common Crawl)、书籍、论文、代码等。
- 特点:无标注、大规模(TB 级)、噪声大。
- 训练方式:
- 自监督学习(如 Next Token Prediction、MLM)。
- 需要千卡 GPU(如 Llama-3-70B 预训练用了 1.6 万张 H100,耗时 54 天)。
- 产出:
- 基座模型(如
Llama-3-8B、Qwen2.5-7B),不能直接对话,但具备通用能力。
- 基座模型(如
后训练(Post-training)
后训练(Post-training)中的领域微调(Domain Adaption Fine-tuning) 和指令微调(Instruction Tuning) 是两种目的和方法截然不同的微调策略。
简单来说,它们的核心区别在于:
- 领域微调:目标是让模型成为一个**“领域专家”**,精通某个特定领域(如医疗、法律、金融)的知识和语言风格。
- 指令微调:目标是让模型成为一个**“听话的助手”**,能够更好地理解并执行人类的各种指令(如总结、翻译、问答、创作)。
下面我们从多个维度进行详细对比。
对 比总表
| 维度 | 领域微调 (Domain Adaption Fine-Tuning) | 指令微调 (Instruction Tuning) |
|---|---|---|
| 核心目标 | 让模型掌握特定领域的知识和术语,适应其语言风格。 | 让模型学会遵循指令,理解任务意图,并输出符合人类期望的格式。 |
| 要解决的问题 | “知识鸿沟”:通用模型缺乏特定领域的深度知识。 | “对齐鸿沟”:基础模型即使有知识,也不知道如何根据人类指令有效、安全地调用它。 |
| 训练数据格式 | 大量的非结构化或半结构化文本。 例如:医学论文、法律条文、金融财报、代码库等。 | 高质量的(指令,输出)配对数据。 例如: 指令:“总结以下文章:...” 输出:“这篇文章主要讲述了...” |
| 数据来源 | 领域内的专业文档、书籍、数据库、网页等。 | 人工编写、模型生成后经人工筛选、从现有数据集中重构(如将摘要任务的数据转为指令格式)。 |
| 微调方式 | 通常是无监督或自监督的(如继续使用 LM 损失进行训练)。 | 监督学习,使用(指令,输出)配对进行有监督的训练。 |
| 主要效果 | 1. 大幅提升模型在该领域任务上的表现和可靠性。 2. 模型生成的文本更具领域专业性。 | 1. 极大提升模型的泛化能力和零样本/少样本表现。 2. 使模型输出更有用、诚实、无害(对齐)。 3. 能够响应在训练时从未见过的新指令。 |
| 好比 | 让一个聪明的大学生去攻读一个特定专业的博士学位。 | 教一个博学的专家如何与人清晰、有礼貌、有效地沟通和协作。 |
| 典型例子 | 1. 用医学文献微调 LLM,得到医疗 AI。 2. 用代码数据微调 LLM,得到代码助手。 | 1. Alpaca、Vicuna 等模型使用的微调方法。 2. ChatGPT 的对话能力很大程度上源于指令微调。 |