大语言模型(LLM)的生命周期通常分为两个阶段:预训练 (Pre-training) 和 后训练 (Post-training)。如果说预训练是让模型获得“世界知识”,那么后训练就是教模型如何“守规矩”以及“如何与人类沟通”。
LLM 是如何构建与工作的? (How LLMs are Built & Work)
构建:从海量文本中学习 (Building)
LLM(如 GPT-4, Llama)的核心架构是 Transformer。构建过程就像让模型阅读整个互联网。
- 数据收集:抓取数万亿词汇(Tokens)的文本(维基百科、书籍、代码、网页)。
- 目标:预测下一个词:在预训练阶段,模型的唯一任务是根据前面的词预测概率最高的一个词。
- 算力与参数:通过数千张 GPU 训练,模型学会了语法、逻辑、常识甚至编写代码的能力。
工作:预测与生成 (Inference)
模型工作时,它并不是在“思考”,而是在不断地进行概率预测。
- 输入 (Input):你输入的 Prompt。
- 处理 (Processing):模型将文字转化为向量,通过多层 Transformer 网络计算它们之间的关联(Attention)。
- 输出 (Output):预测并生成下一个 Token,然后将其放回输入序列,循环往复直至生成结束。
LLM 的核心组件 (Core Components)
为了完成上述预测任务,LLM 内部由几个关键部分组成:
- 分词器 (Tokenizer):将原始文本切分为最小单位(Tokens),并映射为数字 ID。
- 嵌入层 (Embedding Layer):将数字 ID 转化为高维向量。在向量空间中,意思相近的词距离更近。
- Transformer 块 (Transformer Blocks):
- 自注意力 (Self-Attention):让模型理解“它”指代的是前面的哪个名词,捕捉长距离依赖。
- 前馈网络 (Feed-Forward):对捕捉到的特征进行非线性变换和存储知识。
- 输出头 (Output Head):将最终的向量映射回词表大小,通过 Softmax 函数输出每个词的概率。
本文将重点讨论后训练的核心技术流程。
后训练概览 (Overview)
后训练的目标是将基础模型(Base Model)转化为指令遵循模型(Instruct/Chat Model)。这个过程主要包含三个核心环节:SFT、对齐 (Alignment) 和 特定领域优化。
有监督微调 (SFT: Supervised Fine-Tuning)
这是后训练的第一步,也是最重要的一步。
- 数据质量 > 数据数量:与其使用 100 万条低质量数据,不如使用 1 万条经过人工审核的高质量 (Prompt, Response) 对。
- 指令遵循:教模型识别不同的指令格式(如 Q&A、总结、创意写作等)。
人类偏好对齐 (Alignment)
即使经过 SFT,模型仍可能产生幻觉或不符合人类价值观的输出。对齐技术通过引入“奖励”机制来优化模型。
RLHF (基于人类反馈的强化学习)
经典的三阶段:训练奖励模型 -> 环境互动 -> PPO 更新。
DPO (直接偏好优化)
目前更为主流。不需要训练显式的奖励模型,而是直接利用排序数据进行损失计算。
- 更稳定:不需要像 PPO 那样进行复杂的超参数调优。
- 更高效:训练速度更快,显存消耗更低。
提示词工程与指令微调 (Instruction Tuning)
后训练的效果往往取决于指令的丰富度。
- 多样性 (Diversity):包含逻辑推理、代码编写、多轮对话、角色扮演等。
- 系统提示词 (System Prompt):在训练时加入
System: You are a helpful assistant.,让模型学会根据身份设定输出。
特定领域定制化 (Customization Strategies)
当通用模型无法满足特定行业(如医疗、法律、金融)的需求时,我们需要深入定制。
继续预训练 (DAPT: Domain-Adaptive Pre-training)
如果模型完全缺乏某个领域的背景知识(例如全新的编程语言或晦涩的专业文献),我们需要喂给它大量的非结构化领域文本。
- 做法:在领域语料上继续进行“预测下一个词”的任务。
- 效果:提升模型对专业术语和领域语境的理解,但模型仍不具备对话能力。
参数高效微调 (PEFT: Parameter-Efficient Fine-Tuning)
全量微调(Full Fine-Tuning)对算力要求极高。目前工业界主流使用 LoRA (Low-Rank Adaptation)。
- 原理:不更新模型原有的权重矩阵,而是通过在侧边训练两个小的低秩矩阵来“注入”新知识。
- 优点:显存占用降低 90% 以上,且模型权重可以像“插件”一样随时插拔。
微调 (Fine-Tuning) vs 检索增强 (RAG)
这是最常见的架构决策问题。
- 微调 (Fine-tuning):类似于让学生背书。适合学习特定的格式、语气、行为习惯。
- RAG (Retrieval-Augmented Generation):类似于让学生查字典。适合处理实时信息、私有文档、长尾事实知识。
Google Cloud (Vertex AI) 实践指南
在 Google Cloud 上,你可以通过 Vertex AI 平台对 Gemini 模型(如 Gemini 1.5 Pro/Flash)进行便捷的后训练。
核心流程
- 数据准备:Gemini 要求数据存储在 Cloud Storage (GCS) 中,格式为特定结构的 JSONL。每一行代表一个多轮对话示例。
- 创建微调任务:通过 Vertex AI Studio 或 Python SDK 发起
Supervised Tuning任务。 - 模型评估:利用 Vertex AI 提供的评估工具,对比基础模型与微调模型在准确率、安全性上的差异。
- 部署:微调完成后的模型会自动注册到 Model Registry,一键部署到 Endpoint。
最佳实践
- 数据集大小:对于 SFT,通常建议至少准备 100-500 条 高质量样本。
- Adapter 机制:Vertex AI 对 Gemini 的微调默认采用高效的 Adapter-based tuning,这意味着你只需要支付极少的额外存储费用。
- 安全设置:利用 Vertex AI 的 Safety Filter,在后训练阶段和推理阶段双重保障输出符合合规性。
总结
后训练是 LLM 具备商用能力的“点睛之笔”。
- SFT 决定了模型的“能力上限”。
- RLHF/DPO 决定了模型的“表现风格”和“安全性”。
- PEFT (LoRA) 使得个人和中小企业也能拥有定制模型。
- Data Centric 永远是后训练阶段的金科玉律。
通过不断的迭代反馈,我们才能获得一个既懂知识又听指挥的优秀 AI。