跳转至

从训练到部署:LLM 生命周期

面试高频考点

  • 一个 LLM 从数据到上线要经过哪些阶段?
  • 预训练、SFT、DPO/RLHF、评估、部署如何衔接?
  • 为什么训练完成不等于产品可用?
  • 商业项目里如何持续迭代模型?

总览

LLM 生命周期可以拆成 7 个阶段:

flowchart LR
    A["数据收集"] --> B["预训练"]
    B --> C["后训练 SFT/DPO/RLHF"]
    C --> D["评估"]
    D --> E["推理部署"]
    E --> F["线上监控"]
    F --> G["反馈迭代"]
    G --> A

1. 数据阶段

细化理解: 数据阶段决定了模型能力上限和风险下限。真实流程通常包括来源筛选、去重、质量打分、敏感信息过滤、版权与合规审查、语言和领域配比控制。去重不仅是为了省算力,还能减少 benchmark 泄漏和训练集记忆;质量过滤也不是越严格越好,因为过度过滤可能损失长尾知识、口语表达和代码边界案例。

数据来源包括:

  • Web 文本
  • 代码
  • 书籍
  • 论文
  • 对话
  • 企业文档
  • 用户反馈
  • 工具调用轨迹

关键工作:

工作 目的
清洗 去噪、去广告、去乱码
去重 防止重复样本放大
过滤 去低质量、有害、违规内容
配比 控制代码、数学、中文、英文比例
去污染 避免评测集泄漏

2. 预训练

预训练目标通常是 next-token prediction。

产物是 base model。

Base model 的特点:

  • 知识和语言能力强
  • 能续写
  • 不一定会稳定遵循指令
  • 安全边界弱
  • 输出格式不可控

面试里要说清:

Base model 是能力底座,不等于可直接上线的助手。


3. 后训练

后训练让 base model 变成 assistant model。

SFT

学习指令格式和任务行为。

适合:

  • 格式遵循
  • 领域问答
  • 工具调用格式
  • 多轮对话样式

DPO / RLHF

学习偏好排序。

适合:

  • 更有帮助
  • 更自然
  • 更安全
  • 更少废话
  • 更符合业务风格

4. 评估

细化理解: 评估要分层做:基础能力看通用 benchmark,业务能力看真实任务集,安全能力看红队与越权测试,稳定性看多轮回归。只看平均分会掩盖严重问题,例如某些高风险类别失败率很高、长上下文后半段遗忘、工具调用参数稳定性差。生产上线前更重要的是建立可复现的 eval set 和失败样本归因流程。

评估不能只看一个 benchmark。

要分层:

指标
通用能力 MMLU、CMMLU、C-Eval
代码 HumanEval、MBPP
数学 GSM8K、MATH
指令遵循 IFEval、人工集
安全 jailbreak、拒答准确率
RAG Recall、Faithfulness、Citation Accuracy
业务 解决率、采纳率、成本、延迟

商业上线前必须有回归集,防止新版本在旧任务上退化。


5. 推理部署

工程细节: 推理部署关注吞吐、延迟、显存和稳定性。Prefill 阶段吃计算,decode 阶段吃显存带宽和 KV Cache;在线服务还要处理 batch 合并、流式输出、超时取消、重试、限流和多模型路由。一个常见面试回答是:部署不是把模型加载起来就结束,而是把请求调度、缓存、监控、降级和成本治理一起纳入系统设计。

部署要考虑:

  • 模型大小
  • 并发
  • 延迟
  • 上下文长度
  • KV Cache
  • 量化
  • batching
  • 成本

常见技术:

技术 解决什么
vLLM / SGLang 高吞吐 serving
Quantization 降显存和成本
FlashAttention 提升 attention IO 效率
Prefix Cache 复用公共前缀
Speculative Decoding 降低生成延迟
Router 简单问题走小模型

6. 线上监控

LLM 产品要监控的不只是服务可用性。

系统指标

  • QPS
  • TTFT
  • TPOT
  • GPU 利用率
  • KV Cache 使用率
  • 错误率

质量指标

  • 用户点赞/点踩
  • 人工接管率
  • 幻觉率
  • 拒答率
  • 引用正确率
  • 工具调用成功率

成本指标

  • input token 成本
  • output token 成本
  • cache hit rate
  • 单次请求平均成本
  • 每个业务场景的成本

7. 反馈迭代

线上反馈可以进入不同链路:

反馈类型 处理方式
知识缺失 更新知识库 / RAG
格式不好 SFT 数据补充
偏好不好 DPO 偏好对
工具失败 修工具 schema 和流程
安全问题 安全数据和规则
成本太高 缓存、路由、量化

重点:

不是所有问题都靠微调解决。很多生产问题应该先看检索、prompt、工具、权限和产品流程。


常见误区

误区 1:训练好模型就能上线

上线还需要评估、部署、监控、安全、回滚和反馈闭环。

误区 2:线上效果差就微调

可能是知识库没召回、prompt 不清楚、工具失败或权限过滤错了。

误区 3:只看 benchmark

业务系统必须看真实任务指标,比如解决率、采纳率、成本和延迟。

误区 4:大模型越强越适合所有请求

简单请求用小模型或缓存更划算,复杂请求再路由到强模型。


面试延伸

Q:你怎么设计一个 LLM 产品的迭代闭环?

我会把日志、反馈、评估集和线上指标打通。知识缺失进 RAG 知识库,行为问题进 SFT,偏好问题进 DPO,工具失败修 workflow,安全问题进规则和安全数据。

Q:为什么评估要分层?

因为总分无法定位问题。RAG 出错要拆检索和生成,Agent 出错要拆规划和工具调用,部署问题要拆 TTFT、TPOT 和吞吐。

Q:如何降低 LLM 产品成本?

优先做缓存、模型路由、上下文压缩、检索增强、量化和 batching,而不是一上来换更小模型牺牲质量。


生命周期决策树

线上问题不要一律回答“微调”。可以用这个决策树:

答案缺事实?
  -> 知识库是否有?没有:补知识库 / 数据接入
  -> 有但没召回:调 RAG
  -> 召回了但没用:调 prompt / 上下文

格式不稳定?
  -> 先加输出 schema / parser / few-shot
  -> 仍不稳定:SFT 格式样本

偏好不符合?
  -> 收集 preference pairs
  -> DPO / RLHF

延迟高?
  -> 看 TTFT / TPOT / queue time
  -> prefix cache / batching / 量化 / 路由

成本高?
  -> token 归因
  -> 缓存 / 压缩 / 小模型路由 / 限额

面试里这比背概念更有区分度,因为它体现你知道不同问题应该进不同工程链路。


训练数据到反馈数据

LLM 生命周期里有几类数据,不要混:

数据 来源 用途
Pretraining Corpus 网页、书籍、代码、论文 学语言和世界知识
Instruction Data 人工/合成指令 学会按任务回答
Preference Data A/B 答案偏好 学偏好和安全边界
RAG Knowledge 企业文档、FAQ、工单 提供事实和最新知识
Eval Set 黄金问答、红队样本 回归测试和上线门禁
Feedback Logs 用户反馈、失败 trace 迭代 prompt、RAG、数据

项目里可以说:

我不会把线上日志直接拿去训练,而是先脱敏、聚类、标注、分流:知识缺口进知识库,格式问题进 SFT,偏好问题进 DPO,安全问题进红队集。


上线门禁

一个模型或 prompt 版本上线前至少过这些检查:

  • 黄金集准确率不下降。
  • 引用准确率不下降。
  • 拒答率在合理范围。
  • 安全红队样本不回退。
  • P95 延迟和单次成本在预算内。
  • 工具调用成功率不下降。
  • 出错时能降级或回滚。

如果面试官问“怎么保证改 prompt 不把线上搞坏”,这就是答案。


原始论文

论文 链接
InstructGPT / Training language models to follow instructions with human feedback (Ouyang et al., 2022) arxiv.org/abs/2203.02155
Direct Preference Optimization (Rafailov et al., 2023) arxiv.org/abs/2305.18290
PagedAttention / vLLM (Kwon et al., 2023) arxiv.org/abs/2309.06180
FlashAttention (Dao et al., 2022) arxiv.org/abs/2205.14135
LoRA (Hu et al., 2021) arxiv.org/abs/2106.09685

延伸阅读与视频

平台 标题 说明
📖 OpenAI Cookbook Getting started with OpenAI Evals 学如何把模型升级和 prompt 改动放进评估闭环
📖 vLLM Docs vLLM documentation 推理部署、continuous batching、PagedAttention 实践入口
📖 Hugging Face TRL TRL documentation SFT、DPO、PPO 等后训练工具链
📺 B站 跟李沐学 AI - InstructGPT 论文精读 理解从 SFT 到 RLHF 的后训练范式