刚接触大模型开发的同学很容易混淆预训练、微调与推理三者的定位,经常会分不清什么时候需要训练模型,什么时候只需要调用API,甚至在项目中错误地投入大量算力进行不必要的微调或训练,导致成本浪费但效果提升却不明显。

实际上,大模型的整个生命周期是一个高度工程化的系统,而不是单纯的模型能力问题。如果从系统视角来看,预训练、微调和推理分别对应的是“知识构建 → 能力对齐 → 线上服务”的三个阶段,每一层都有明确职责,不能混用。

在多模型线上推理部署场景中,通常还需要引入统一的流量调度机制,将不同复杂度任务分配给不同模型,例如简单问题走轻量模型,复杂推理任务走高能力模型,从而在延迟与成本之间取得平衡。这类能力在工程实践中往往通过统一路由层实现,使得模型调用更加稳定可控。

一、通俗类比:把LLM比作篮球运动员

为了帮助理解,我们可以将LLM的三个阶段类比为篮球运动员的成长路径,这种方式可以快速建立直观认知:

阶段 篮球运动员类比 核心目标
预训练 练习运球、传球、投篮等基础动作 学习语言规律与世界知识
微调 战术训练与专项位置强化 适配特定业务任务
推理 正式比赛中的实时决策 处理用户输入并生成输出

从这个角度来看,大模型并不是“一次训练完成”,而是一个持续进化的系统,从基础能力到专项能力再到线上服务能力逐层构建。

二、预训练(Pre-training):构建通用知识底座

预训练是整个大模型生命周期中成本最高、规模最大的一步,其核心目标是通过自监督学习让模型掌握语言结构与世界知识。

核心技术参数

  1. 数据规模:通常达到数万亿级token,来源包括网页、书籍、代码仓库、百科数据等
  2. 训练方式:完全自监督学习,通过预测下一个token进行训练
  3. 算力成本:需要数千GPU持续训练数周至数月,成本可达百万美元级别
  4. 输出结果:生成基础模型(Base Model),如Llama原生模型或基础GLM模型

阶段特点

预训练模型的特点是“会说话但不会听指令”,它可以流畅生成文本,但并不理解人类任务逻辑,因此无法直接用于生产环境。

可以理解为:它只是掌握了语言能力,但还没有形成“任务意识”。

三、微调(Fine-tuning):让模型适配具体任务

微调是在预训练模型基础上的二次训练过程,其核心目标是将通用能力转化为业务能力,使模型能够更好地执行特定任务。

基础数据规模

微调数据通常只有数万到数百万条标注数据,相比预训练减少数个数量级,训练成本也显著降低,一般只需少量GPU即可完成。

四种主流微调方式

类型 作用 典型应用
指令微调(SFT) 学习人类指令执行能力 文本生成、JSON输出
领域微调 适配垂直行业 医疗、金融、代码
对话微调 增强多轮对话能力 AI助手、聊天系统
RLHF / DPO 对齐人类偏好 安全性与回答质量优化

本质理解

微调的本质是“让模型学会做题”,而不是重新学习语言,因此它更像是专项训练,而不是基础能力训练。

四、推理(Inference):模型线上服务阶段

推理是模型真正对外提供服务的阶段,此时模型参数已经完全固定,不再发生训练,而是通过前向计算生成输出。

自回归生成机制

用户输入:"人工智能的未来是"
模型预测:
P("光明") = 0.35  
P("充满") = 0.28  
P("未知") = 0.20  

选择最高概率:"光明"

继续生成下一token:
P("的") → P("挑战") → P("与机遇")
直到句子结束

推理关键参数

  • Temperature:控制随机性
  • Top-p:控制采样范围
  • Max tokens:限制输出长度

工程成本特点

推理阶段的成本按调用计费,是线上系统中持续消耗算力的核心环节,因此也是最需要优化的部分。

五、三阶段对比(核心理解表)

维度 预训练 微调 推理
目标 学习语言与知识 适配业务能力 提供线上服务
数据 海量无标注 小规模标注 用户输入
计算方式 反向传播 反向传播 前向传播
成本 极高 中等 按调用计费
频率 很低 周期性 高频实时

六、LLM完整生命周期流程

预训练(Pre-training)
        ↓
基础模型(Base Model)
        ↓
微调阶段(SFT / RLHF / DPO)
        ↓
对齐后的商用模型(Chat Model)
        ↓
线上推理服务(Inference API)
        ↓
用户实际调用

七、工程化部署:模型如何真正上线

在实际工程系统中,大模型不会单独运行,而是作为“服务节点”存在,需要结合调度层进行管理。

例如在多模型架构中,通常会采用统一路由机制,将不同请求分发到不同模型:

  • 简单问答 → 轻量模型
  • 复杂推理 → 高能力模型
  • 长文本分析 → 专用模型

在一些工程实现中,会使用类似 TreeRouter 这样的统一调度层,将模型调用统一成标准接口,实现请求分发、模型切换与成本控制,从而避免直接依赖单一模型造成性能瓶颈。

八、开发者常见误区

很多初学者常见误区包括:

  1. 认为必须自己训练大模型
  2. 误以为微调可以替代预训练
  3. 忽略推理成本
  4. 没有做模型路由设计

实际上,大多数工程系统只需要:

✔ 使用成熟预训练模型 + 少量微调 + 优化推理层

九、总结

大模型的完整生命周期并不是三个独立阶段,而是一个连续的工程系统:

  • 预训练决定“知识上限”
  • 微调决定“任务能力”
  • 推理决定“真实表现”

对于开发者来说,真正重要的不是参与训练,而是理解每一层的工程定位,并在系统设计中合理使用。