在当前大语言模型的开发范式中,预训练(Pretraining)与监督微调(Supervised Fine-Tuning, SFT)构成了从“通用语言能力”到“可控任务执行”的核心演进路径。二者并非并列技术,而是具有明确先后依赖、目标互补、资源投入差异显著的两个阶段。
预训练是整个流程的基础,其目标是在不依赖人工标注的前提下,让模型从海量文本中学习语言的内在结构、世界知识、推理模式和上下文关联。通常采用自回归语言建模(如 GPT 系列)或掩码语言建模(如 BERT)作为代理任务,通过预测被遮盖的词或下一个词,迫使模型构建对语言分布的深层理解。这一阶段的数据规模动辄数百GB甚至TB级,训练周期长达数周甚至数月,消耗绝大部分算力资源。最终产出的基础模型具备强大的生成与理解能力,但行为不可控——它可能生成事实错误、有害内容,或完全忽略用户指令,仅按统计规律续写文本。
SFT 则是在预训练模型权重的基础上,使用相对小规模(通常几千到几万条)、高质量的人工标注数据进行有监督训练。这些数据以“指令-响应”对的形式组织,例如:“用三句话总结以下段落”对应一个简洁准确的摘要,“将以下代码从 Python 转为 Java”对应功能等价的 Java 实现。SFT 的核心目的不是扩展模型的知识边界,而是教会模型如何与人类交互:理解任务意图、遵循格式要求、拒绝不合理请求、保持回答有用且安全。由于预训练模型已具备完成任务所需的知识和语言能力,SFT 只需引导其“注意力”和“输出策略”向人类期望对齐。
二者的关系可从多个维度理解:
首先,在能力构成上,预训练提供“能做什么”,SFT 决定“愿意做什么”。一个未经 SFT 的模型可能知道答案,但不会主动给出;而 SFT 让它学会在合适时机、以合适方式输出正确内容。
其次,在数据依赖上,预训练依赖规模,SFT 依赖质量。前者追求数据多样性与覆盖广度,后者强调标注准确性、指令清晰性和任务代表性。少量精心设计的 SFT 数据即可带来显著行为改善,而盲目堆量反而可能引入噪声,损害对齐效果。
再次,在训练机制上,预训练是自监督的、无方向的探索;SFT 是有监督的、有目标的引导。SFT 本质上是一种“行为克隆”——让模型模仿人类专家在给定指令下的理想响应,从而建立指令到行为的映射。
最后,在工程实践中,SFT 是连接基础模型与实际应用的关键桥梁。几乎所有开源或商用的“对话模型”(如 Llama-3-Instruct、Qwen2-Instruct、Claude、Gemini)都经过 SFT 阶段。没有 SFT,大模型只是一个强大的语言模拟器;有了 SFT,它才成为可用的智能助手。
需要指出的是,SFT 并非终点。在 SFT 之后,通常还需引入基于人类反馈的强化学习(RLHF)或直接偏好优化(DPO)等技术,进一步细化模型在安全性、帮助性和拒答能力上的表现。但 SFT 是整个对齐流程中最基础、最高效、最可解释的一环,也是当前工业界实现模型可用性的标准步骤。
预训练与 SFT 的关系,类似于“先读书万卷,再拜师学礼”——前者积累知识与能力,后者塑造行为与品格。二者协同,方能构建既强大又可靠的大语言模型。