大模型开发三部曲:预训练、监督微调与对齐详解

一文读懂大模型开发三大阶段:预训练、微调与对齐,掌握数据、技术与目标。

原文标题:原创丨一文读懂大模型开发三部曲:预训练、监督微调与对齐

原文作者:数据派THU

冷月清谈:

本文深入探讨了大模型训练的三个核心阶段:预训练、监督微调与对齐。首先,预训练旨在让模型掌握通用的语言表示能力,通过各种语言建模任务(如自回归语言建模、掩码语言建模)和海量无标签文本数据来实现。其次,监督微调则侧重于增强模型的指令遵循能力,使其更好地适应特定任务,如问答、摘要等。最后,对齐阶段致力于使模型的输出符合人类价值观,减少有害内容,遵循3H原则。文章还详细介绍了每个阶段的数据量、数据格式以及关键技术,为读者理解大模型开发的全貌提供了清晰的指导。

怜星夜思:

1、预训练阶段的数据量非常庞大,除了文章中提到的书籍、网页等来源,大家觉得还有哪些潜在的数据来源可以用于预训练,以进一步提升模型的性能?
2、文章提到了对齐阶段的3H原则(Helpful, Honest, Harmless),大家觉得在实际应用中,哪个原则最难实现?为什么?
3、文章中提到了RLHF和DPO这两种对齐方法,大家觉得未来在对齐方面,除了这两种方法,还有哪些值得探索的方向?

原文内容

图片
作者:王可汗
本文约3000字,建议阅读5分钟
本文介绍了大模型训练三阶段的关键要素及实践细节。


大模型(如GPT、LLaMA、Claude等)的训练通常分为三个阶段:预训练、微调和对齐。这是业内目前公认的大模型开发范式。读完本文后,你将了解大模型训练不同阶段的数据量、数据格式和训练目标。


1. 预训练(Pretraining)


预训练的目标是让模型学习通用的语言表示能力(如语法、知识、推理)。为了达成这一目标,大模型需要有效地解决两个关键问题:一是如何利用大规模的无标签文本进行训练。二是如何构建复杂的语言建模。在前大模型时代,Bert等预训练模型已经表现出很好的语言建模能力。首先这些模型在大规模的无标注样本中进行预训练。


预训练通常的任务包括:


  • 自回归语言建模(如GPT):模型从左到右逐词预测,适合生成任务,但无法直接利用下文。

  • 掩码语言建模(如BERT):随机遮盖部分词(如"巴黎是[MASK]的首都"→预测"法国"),能利用双向上下文。

  • 去噪自编码(如BART/T5):对文本破坏(删除、打乱)后让模型恢复,兼具生成与理解能力。

  • 下一句预测(早期BERT用):判断两句子是否连续,后因效果有限逐渐弃用。


模型预训练好以后需要进行微调以适应各种下游任务。


随着算力与数据的爆发式增长,大模型时代(如GPT-3、ChatGPT、Gemini等)将预训练技术推向新高度。这些模型不仅继承了传统预训练任务(如自回归建模、掩码预测),还在参数规模上有了很大的飞跃,例如:从BERT的亿级参数(1.1亿)跃升至万亿级(GPT-3达1750亿),模型容量显著提升。大模型在预训练阶段已经拥有大部分的零样本推理能力。无需微调即可通过提示(Prompt)完成翻译、问答等任务(如ChatGPT的指令跟随)。


预训练的数据量规模通常需要 TB级 文本数据,来源包括书籍、网页、百科、代码(GitHub)、学术论文等。下表列举了一些常见大模型的预训练词元规模(token),一般都在万亿量级。预训练阶段的词元规模对预训练的效果很关键,在百川大模型2的技术报告指出,参数在7B的模型在1万亿词元预训练后,继续增加预训练的数据量,仍然有较大的提升。


模型

预训练词元规模

GPT - 3

0.3万亿

Llama(70亿、130亿参数)

1万亿

Llama(330亿、650亿参数)

1.4万亿

Llama 2

2万亿

Llama 3

15万亿

Bloom

0.34万亿

DeepSeek(70亿、670亿参数)

2万亿

DeepSeekMoE(160亿参数)

2万亿

DeepSeek - V2(2360亿参数)

8.1万亿


2. 监督微调(Supervised Fine-tuning)


监督微调的目标是增强预训练模型指令遵循能力并激活潜在的推理技能以适应特定任务(如问答、摘要、代码生成)。通过在有标注的任务数据上进行进一步训练,模型能够调整其参数以更好地匹配目标场景的需求。微调通常分为以下几种方式:


  • 全参数微调(Full Fine-tuning):更新模型的所有参数,适用于数据量较大的任务,但计算成本较高。

  • 轻量级微调(Lightweight Fine-tuning):仅调整部分参数(如LoRA、Adapter模块),在保持预训练知识的同时高效适配新任务。


微调后的模型能够更精准地理解任务指令,减少通用预训练带来的偏差,并且可以在特定领域(如医疗、法律、金融)中表现出更强的专业性和可靠性。


微调的数据量规模:比预训练小得多,通常 GB级(如Alpaca使用52K指令数据)。此阶段使用的数据质量要高于预训练阶段,往往需要大量的人工标注。


在微调大模型时,数据格式的选择直接影响模型性能。常见的格式包括:


1)结构化数据(如{"input":"问题","output":"答案"}),适用于单轮问答和文本生成;

2)指令微调数据(如{"instruction":"翻译成法语","input":"Hello","output":"Bonjour"}),强调任务意图与输出的精准匹配;

3)对话数据(如[{"role":"user","content":"你好"},{"role":"assistant","content":"您好"}]),用于构建多轮对话系统;


合理设计这些格式,保持字段标准化,必要时添加任务类型等元数据,能显著提升模型在客服、等场景中的适应能力。


3. 对齐(Alignment)


在微调大语言模型时,确保其输出符合人类价值观并减少有害内容是核心目标,这一目标也称为对齐,旨在大模型的回答对齐人类的偏好和期望。这一过程需要遵循3H原则(Helpful, Honest, Harmless),即要求模型输出应当具备帮助性(Helpful)、诚实性(Honest)和无害性(Harmless)。具体包括:


  • Helpful(帮助性)

通过指令微调数据(如{"instruction":"如何健康饮食?", "response":"建议多吃蔬菜..."})训练模型提供实用、具体且符合用户需求的回答。 又例如在对话数据中(如[{"role":"user", "content":"帮我规划学习计划"}, {"role":"assistant", "content":"建议每天..."}]),强调回答的针对性和可操作性。


  • Honest(诚实性)

对事实性任务(如问答),采用结构化数据(如{"input":"地球是平的?", "output":"错误,地球是近球体"}),确保输出基于可靠知识,避免编造信息。 通过训练识别并拒绝超出模型知识范围的问题(如回答“我不确定”而非猜测)。


  • Harmless(无害性)

在数据中显式标注有害内容(如{"text":"仇恨言论示例", "label":"harmful"}),训练模型识别并拒绝暴力、歧视等负面输出。


对齐微调的数据量规模:通常 MB~GB级。如果是强化学习,数据可能仅数万条。数据来源包括人工标注(如OpenAI的RLHF)、AI反馈(如RLAIF)。数据格式一般有两种,通常以对比形式呈现,包含模型生成的不同回答及人类标注的偏好关系。RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)和DPO(Direct Preference Optimization,直接偏好优化)代表了当前最先进的基于人类偏好的语言模型优化方法。RLHF通过分离的奖励建模和强化学习提供了强大的对齐框架,而DPO则提供了更高效稳定的替代方案。


对齐的时候常常采取对偶式和排序式的数据以提供人类偏好的信号。


对偶式数据(Pairwise Data):


{
    "prompt": "请解释量子力学的基本概念",
    "chosen": "量子力学是研究物质世界微观粒子运动规律的物理学分支,主要概念包括波粒二象性、量子叠加和量子纠缠...",
    "rejected": "量子力学就是关于量子的力学,比如原子和电子之类的"
}


排序式数据(Ranked Data):


{
    "prompt": "写一首关于春天的诗",
    "responses": [
        {"text": "春天来了,花儿开了", "rank": 2},
        {"text": "春风拂面百花开,燕子归来柳絮飞。青山绿水皆含笑,万物复苏春意回。", "rank": 1},
        {"text": "春天", "rank": 3}
    ]
}


4. 总结


大模型的训练一般包括预训练,监督微调和对齐三个关键步骤。预训练将通用语言的知识压缩到模型参数中,为后续的监督微调打下基础。监督微调增强了大模型的指令遵循能力,可以看作对齐微调的参数初始化步骤。对齐主要解决的是人类偏好的问题,可以采取PPO等强化学习算法或者DPO这样的高效替代算法。


作者简介:

王可汗,清华大学博士,人工智能算法研发工程师。对数据科学产生浓厚兴趣,对机器学习AI充满好奇。期待着在科研道路上,人工智能与工业界应用碰撞出别样的火花。希望结交朋友分享更多数据科学的故事,用数据科学的思维看待世界


编辑:于腾凯
校对:李艳莉


图片


欢迎在评论区留言与本文作者互动交流!


数据派研究部介绍




数据派研究部成立于2017年初,以兴趣为核心划分多个组别,各组既遵循研究部整体的知识分享实践项目规划,又各具特色:


算法模型组:积极组队参加kaggle等比赛,原创手把手教系列文章;

调研分析组:通过专访等方式调研大数据的应用,探索数据产品之美;

系统平台组:追踪大数据&人工智能系统平台技术前沿,对话专家;

自然语言处理组:重于实践,积极参加比赛及策划各类文本分析项目;

制造业大数据组:秉工业强国之梦,产学研政结合,挖掘数据价值;

数据可视化组:将信息与艺术融合,探索数据之美,学用可视化讲故事;

网络爬虫组:爬取网络信息,配合其他各组开发创意项目。


点击文末“阅读原文”,报名数据派研究部志愿者,总有一组适合你~



转载须知


如需转载,请在开篇显著位置注明作者和出处(转自:数据派THUID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

未经许可的转载以及改编者,我们将依法追究其法律责任。




关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

点击“阅读原文”拥抱组织



感觉都难,但如果非要选一个,我觉得是Helpful(帮助性)。因为对’helpful’的定义本身就比较主观,不同用户有不同的需求和期待,模型很难完全满足所有用户的需求。而且,有时候为了追求“helpful”,模型可能会给出一些不准确或者有误导性的建议,反而适得其反。

预训练数据多样性很重要,可以考虑一些非常规的数据来源,比如历史手稿、古籍等等。虽然这些数据的数量可能不多,但它们包含的信息量巨大,而且语言风格也与现代文本差异很大,有助于提升模型的泛化能力和对不同文化背景的理解。

感觉可以尝试将因果推理融入对齐过程。目前的对齐方法主要关注的是模型的输出是否符合人类的偏好,但很少考虑模型输出背后的因果关系。如果模型能够理解不同输出之间的因果关系,就能更好地评估其长期影响,从而避免产生一些意想不到的负面后果。

我选Harmless(无害性),现在互联网上的信息泥沙俱下,各种Hidden Agenda防不胜防。即使我们努力过滤掉明显的有害信息,也很难保证模型不会在某些特定语境下产生歧视、偏见等负面输出。而且,不同的文化和社会背景下,对“有害”的定义也可能存在差异,这给模型的对齐带来了更大的挑战。

个人觉得可以考虑加入一些特定领域的专业知识库,比如医学文献、法律条文之类的。这样模型在处理相关领域的问题时,就能更加专业和准确,避免出现常识性错误。当然,这需要对数据进行清洗和标注,确保质量。

我觉得可以试试游戏领域的文本数据,比如游戏剧情、对话、攻略等等。这些数据往往包含丰富的叙事结构和情感表达,有助于提升模型的文本生成能力和对人类情感的理解。而且,游戏玩家的语言风格也比较独特,可以丰富模型的语言多样性。

我觉得可以探索一下基于认知科学的对齐方法。借鉴人类的认知机制,让模型能够更好地理解人类的价值观和偏好,从而更自然地产生符合人类期望的输出。比如,可以引入一些认知偏差的概念,让模型能够更好地识别和避免这些偏差。

可以考虑多模态信息的对齐。现在的大模型主要处理文本信息,但人类的交流是多模态的,包括语音、图像、视频等等。如果能够将这些多模态信息融入对齐过程,让模型能够更好地理解人类的意图和情感,就能产生更符合人类期望的输出。

我觉得是Honest(诚实性)最难实现。Helpful和Harmless相对来说,可以通过大量的数据清洗和过滤来达成,但Honest需要模型能够准确判断信息的真伪,并在知识范围外给出“不知道”的回答。这需要模型具备强大的知识存储和推理能力,而且要避免模型为了追求“helpful”而随意编造信息。