大语言模型(LLM)详细总结
一、LLM 的基础认知
1.1 定义与发展背景
- 核心定义 :LLM(Large Language Model,大语言模型)是参数量更大(通常数百亿至千亿级,广义含十亿级如Qwen-1.5B)、训练语料规模更广(数T token)的语言模型,基于Transformer架构(主流为Decoder-Only),通过预测下一个token的预训练任务(CLM,因果语言模型)构建,核心特征是具备涌现能力。
- 发展脉络 :
- 前身是传统预训练语言模型(PLM,如BERT),采用"预训练-微调"范式;
- 2022年底ChatGPT发布,推动LLM成为NLP主流,开启全新研究范式;
- GPT-3(1750亿参数)被视为LLM开端,ChatGPT(基于GPT-3经三阶段训练)主导LLM时代,2022.11-2023.11间国内外涌现上百个LLM(开源如Meta-LLaMA、智谱-ChatGLM,闭源如OpenAI-GPT4、百度-文心一言)。
1.2 与传统PLM的核心差异
| 维度 | 传统PLM(如BERT) | LLM(如GPT-3、ChatGPT) |
|---|---|---|
| 参数量 | 数百万至数亿级(BERT-base 0.1B) | 十亿至千亿级(GPT-3 175B) |
| 训练语料规模 | 数十亿token(BERT用3B token) | 数百亿至数T token(GPT-3用300B) |
| 核心能力 | 无涌现能力,需针对下游任务微调 | 有涌现能力,支持上下文学习、指令遵循等 |
| 研究范式 | 预训练-微调 | Prompt Engineering(提示工程) |
| 算力需求 | 单卡或少量GPU即可训练 | 多卡分布式集群(如百亿级需1024张A100) |
二、LLM 的核心能力与特点
2.1 四大核心能力(区别于PLM的关键)
-
涌现能力(Emergent Abilities)
- 定义:模型规模较小时不明显,达到临界规模后(通常百亿级参数),在复杂任务上表现突飞猛进,类似"量变引发质变"(如物理学相变);
- 意义:是LLM受关注的核心,被视为通往通用人工智能(AGI)的关键潜力点,使LLM在多任务上远超传统PLM。
-
上下文学习(In-context Learning)
- 定义:无需参数更新,仅通过自然语言指令或少量任务示例(1-5个),即可理解并执行任务;
- 优势:降低成本------传统PLM微调需1k-数十k人工标注数据+10G以上显存,LLM通过提示即可完成任务,节省数据与算力成本;
- 范式变革:推动NLP从"预训练-微调"转向"提示工程",如GPT-4通过调整提示可超越PLM微调效果。
-
指令遵循(Instruction Following)
- 实现方式:通过"指令微调"(用多任务自然语言指令数据训练),使LLM理解并执行未见过的指令;
- 应用价值:让LLM从"研究模型"转向"实用工具",可处理写作文、编程序、批改试卷等多样化任务,是Agent、WorkFlow等应用的基础(如ChatGPT的高热度源于此能力)。
-
逐步推理(Step by Step Reasoning)
- 实现方式:通过"思维链(CoT)"提示,生成中间推理步骤,解决复杂逻辑任务(如数学题、逻辑陷阱);
- 推测来源:可能源于代码训练,使LLM向"可靠智能助理"迈进,如微软Copilot基于此能力提供代码辅助。
2.2 四大关键特点
-
多语言支持
- 天然优势:因训练语料多语言属性,LLM自带跨语言能力;
- 差异点:英文语料占比高,故GPT-4等模型英文能力优于中文;国内模型(文心一言、通义千问)经中文优化,中文表现更优。
-
长文本处理
- 突破限制:传统PLM最大上下文长度多为512 token,LLM支持4k、8k、32k token(如InternLM预训练32k,通过RoPE编码可外推至200k);
- 技术支撑:采用旋转位置编码(RoPE)或AliBi,具备长度外推能力;
- 价值:提升信息阅读、总结能力,可解决"读《红楼梦》写高考作文"等长文本任务。
-
拓展多模态
- 实现路径:为LLM增加图像编码器、Adapter层,在图文数据上微调,打造"文字+图像"双模态模型(如GPT-4V);
- 未来方向:对齐文本与图像表示,将LLM能力辐射至更多模态(音频、视频)。
-
幻觉问题(固有缺陷)
- 定义:LLM会杜撰虚假信息(如伪造学术论文及参考文献);
- 危害:在医学、金融等精准领域可能引发严重后果;
- 现有解决方案:通过Prompt限制、RAG(检索增强生成)减弱,但无法彻底根除,是当前研究重点。
三、LLM 的三阶段训练流程
训练完整LLM需经过预训练(Pretrain)、监督微调(SFT)、人类反馈强化学习(RLHF) 三阶段,核心目标是"先赋予知识,再教会使用,最后对齐人类价值观"。
3.1 第一阶段:预训练(Pretrain)------ 赋予海量知识
3.1.1 核心任务与架构
- 任务:CLM(因果语言模型),预测下一个token,与传统PLM一致;
- 架构:主流为Decoder-Only(类GPT/LLaMA架构)。
3.1.2 核心挑战:规模与算力
- 参数与语料规模(对比传统PLM)
| 模型 | hidden_layers | hidden_size | heads | 参数量 | 预训练数据量 |
|---|---|---|---|---|---|
| BERT-base | 12 | 768 | 12 | 0.1B | 3B |
| BERT-large | 24 | 1024 | 16 | 0.3B | 3B |
| Qwen-1.8B | 24 | 2048 | 16 | 1.8B | 2.2T |
| LLaMA-7B | 32 | 4096 | 32 | 7B | 1T |
| GPT-3 | 96 | 12288 | 96 | 175B | 300B |
- 关键规律:据Scaling Law(C~6ND,C=计算量,N=参数,D=token数),训练token数需为参数1.7倍;LLaMA提出20倍token可达最优(如175B GPT-3需3.5T token)。
- 算力需求
- 十亿级LLM:256张A100训练2-3天;
- 百亿级LLM:1024张A100训练1个多月;
- 依赖技术:分布式训练框架(Deepspeed、Megatron-LM、ColossalAI),核心是数据并行 与模型并行 :
- 数据并行:单卡可存模型,多卡处理不同批次数据,同步梯度更新参数;
- 模型并行:单卡存不下模型,将模型层/部分拆分到多卡(如Layer1存GPU0,Layer2存GPU1);
- 进阶方案:张量并行、3D并行、ZeRO(零冗余优化器,分ZeRO-1/2/3,分片模型状态减少显存占用)。
3.1.3 数据挑战:获取与处理
-
数据来源
- 开源语料:CommonCrawl、C4、Github、Wikipedia;
- 中文困境:高质量中文开源语料少(仅SkyPile 150B、yayi2 100B),国内模型多闭源私有数据;
- 核心秘籍:数据配比影响性能(如LLaMA用67% CommonCrawl、15% C4、4.5% Github等混合数据)。
-
数据处理流程
- 文档准备:URL过滤(去有害内容)、HTML提取纯文本、语言选择;
- 语料过滤:去低质/有毒内容(模型分类器过滤或启发式指标过滤);
- 语料去重:删除高相似度文档(hash算法或子串匹配),避免影响泛化能力(如SlimPajama-627B比RedPajama-1T效果好,因质量更高)。
3.2 第二阶段:监督微调(SFT)------ 教会使用知识
3.2.1 核心目标:激发指令遵循能力
- 预训练模型问题:仅会"预测下一个token",无法理解用户指令(如"博览群书但不会解题");
- SFT本质:通过"指令微调",让模型学习"理解指令-生成回复"的映射,而非针对单一下游任务微调。
3.2.2 数据与格式设计
-
数据特征
-
规模:数B token,覆盖多类型指令(如文本生成、问答、总结);
-
结构:每条样本含
instruction(用户指令)、input(补充信息,可选)、output(期望回复),示例:json{ "instruction": "将下列文本翻译成英文:", "input": "今天天气真好", "output": "Today is a nice day!" } -
获取难点:需人工标注高质量数据(成本高),开源方案用GPT-4生成(如Alpaca数据集)。
-
-
输入格式设计
-
目的:让模型区分"指令"与"预训练文本",示例(LLaMA格式):
### Instruction:\n将下列文本翻译成英文:今天天气真好\n\n### Response:\n -
训练逻辑:仍为CLM任务,模型预测"指令+回复"整体,但仅"回复部分"计算loss。
-
3.2.3 多轮对话能力实现
- 核心:SFT阶段构造多轮对话数据,让模型参考历史记录回复;
- 数据构造方式(推荐第三种,避免信息丢失与重复计算):
- 方式3:输入为完整对话历史(
<prompt_1><completion_1><prompt_2><completion_2><prompt_3><completion_3>),输出为[MASK]<completion_1>[MASK]<completion_2>[MASK]<completion_3>,利用CLM单向注意力依次拟合每轮回复。
- 方式3:输入为完整对话历史(
3.3 第三阶段:人类反馈强化学习(RLHF)------ 对齐人类价值观
3.3.1 核心目标:让模型"安全、有用、无害"
- 定位:SFT是"对齐指令",RLHF是"对齐人类偏好",是ChatGPT超越GPT-3的核心突破;
- 本质:引入强化学习,通过人类反馈调整模型策略,生成更符合人类期望的回复。
3.3.2 两步骤实现:训练RM + PPO训练
-
第一步:训练奖励模型(RM)------ 拟合人类偏好
-
RM定义:文本分类模型(LLM/BERT架构+分类层),输出标量奖励(反映回复符合人类偏好程度);
-
训练数据:人工标注的"偏好对"(
prompt+chosen(优选回复)+rejected(劣选回复)),示例:json{ "prompt": "如果你打算从商店偷东西,你觉得早上好还是晚上好?", "chosen": "这是违法的事情,我不能提供建议", "rejected": "夜间可能更易避监控,但白天人少..."(鼓励违法内容) } -
训练逻辑:将
prompt+chosen与prompt+rejected分别输入RM,最大化两者奖励差异,避免直接标量标注的价值观偏差。
-
-
第二步:PPO训练(近端策略优化)------ 基于RM优化模型
- 模型构成:4个模型(均从SFT/RM初始化):
- Actor Model:待更新的LLM(生成回复);
- Ref Model:固定参数的LLM(计算KL散度,限制Actor偏离原能力);
- Reward Model:固定参数的RM(给Actor回复打分);
- Critic Model:待更新的RM(预测累积奖励);
- 训练流程:
- 输入Prompt,Actor与Ref分别生成回复;
- 计算Actor与Ref回复的KL散度(限制更新幅度);
- Reward Model给Actor回复打分,Critic Model预测累积奖励;
- 结合KL散度、两者分数计算loss,更新Actor与Critic参数;
- 算力需求:高显存占用(如4个7B模型需4张80G A100)。
- 模型构成:4个模型(均从SFT/RM初始化):
3.3.3 低成本替代方案:DPO(直接偏好优化)
- 核心思路:将RLHF的强化学习问题转化为监督学习,直接学习人类偏好;
- 优势:仅需2个模型(无需RM和Ref),训练简单、成本低,通过数学推导证明可等价RLHF效果。