LLM 系列 (二十三):数据飞轮,大模型能力如何持续进化
大模型上线并不意味着能力建设结束。真实用户的问题远比训练集复杂:业务规则持续变化,输入分布不断漂移,RAG、工具和 Prompt 也会频繁升级。模型在离线评测中表现良好,进入生产环境后仍可能出现幻觉、格式错误、工具误调用和安全误判。
这些线上失败既是问题,也是改进模型和系统的重要数据来源之一。通过采集反馈与执行轨迹、定位失败原因、挖掘高价值样本,再经过标注、训练、评测和灰度发布,系统可以把真实问题持续转化为经过验证的能力提升。
这就是数据飞轮:不是让模型直接学习所有用户日志,而是建立一条从“线上失败”到“验证后改进”的可控闭环。
要理解数据飞轮,可以先记住四个结论:
- 用户反馈只是原始信号,并不等于训练标签;
- 高价值难例通常比大量普通样本更有训练价值;
- 训练集与评测集必须隔离,否则指标会被数据污染;
- 数据飞轮优化的是整个 LLM 系统,不只是模型参数。

为什么需要数据飞轮
模型训练完成后,参数和能力基本固定,但生产环境始终在变化。可以将这种差异理解为:
1 | 训练分布 P_train(x) ≠ 持续变化的生产分布 P_prod(x, t) |
随着时间推移,用户表达方式、任务复杂度和业务规则都会发生变化;Prompt、RAG、工具接口和安全策略的升级,也可能引入新的失败模式。公开 Benchmark 能衡量模型的通用能力,却无法完整覆盖真实业务中的数据分布和系统链路。
因此,模型上线后仍需持续解决三个问题:
- 发现问题:模型在哪些真实任务和系统环节中失败;
- 选择数据:哪些样本具有足够的训练价值和业务影响;
- 验证改进:新版本是否修复问题,同时保持原有能力与安全边界。

从上图可以看出,数据飞轮真正建立的不是一条简单的“日志到训练”链路,而是一套让 LLM 系统持续发现问题、选择正确优化方式并验证改进结果的工程机制。
从反馈到高质量数据
线上日志只是带有噪声的行为记录,并不能直接作为训练数据。它需要依次经过任务轨迹还原、隐私治理、失败归因和价值筛选,才能转化为可训练、可评测的数据资产。
采集完整任务轨迹
仅记录“用户问题和模型回答”无法判断问题根因。一次错误可能来自 Prompt、RAG、模型生成、工具执行或安全策略,因此需要用 Trace 串联完整任务链路。
| 信号类型 | 典型内容 | 主要作用 |
|---|---|---|
| 用户反馈 | 点赞、点踩、修改、重新生成 | 识别主观偏好与明显错误 |
| 行为信号 | 放弃、复制、任务完成、人工接管 | 判断回答是否真正解决问题 |
| 模型信息 | 模型、Prompt、采样参数版本 | 复现当时的生成环境 |
| RAG 轨迹 | Query、召回文档、Rerank 分数 | 判断知识是否正确召回 |
| 工具轨迹 | 工具名称、参数、返回值、错误码 | 定位选择和执行错误 |
| 校验结果 | 格式、安全、引用、执行验证 | 提供可自动判断的质量信号 |
一个简化的 Trace 可以表示为:
1 | { |
其中,模型、Prompt、知识库、工具和策略版本都需要记录。否则即使保留了输入输出,也很难复现当时的系统行为,更无法判断后续修改是否真正解决了问题。
清洗、脱敏与数据分层
Trace 中可能包含个人信息、企业机密、访问凭证、恶意指令和大量重复内容,必须经过治理后才能进入数据集。

如上图所述,这部分核心的处理如下:
- 隐私脱敏:移除姓名、手机号、密钥、Token 和内部敏感字段;
- 内容过滤:识别 Prompt Injection、恶意输入和无效会话;
- 重复治理:使用精确 Hash、MinHash、SimHash 和向量聚类处理近重复样本;
- 数据血缘:记录来源、权限、处理步骤、标注方式和版本信息;
- 来源标记:区分人工数据、真实用户数据和模型生成数据;
- 评测隔离:按用户、会话、文档和时间分组切分,防止相似样本同时进入训练集与评测集。
Raw Zone 应限制访问并设置保留周期;Curated Zone 用于分析和挖掘;Gold Zone 则保存通过审核、可以进入训练或评测的数据。每次转换都需要可追踪、可复现。
难例挖掘
难例(Hard Example)是当前模型容易失败或表现不稳定的样本;其中,根因明确、标签可靠且能代表同类问题的高价值难例,通常比大量重复的普通样本更能提供有效的训练信号。一个简化的样本优先级可以表示为:
1 | priority(x) = |
各项含义如下:
failure_score:任务是否失败、是否收到明确负面反馈;uncertainty:Token 概率熵、多次采样分歧或多个 Judge 评分分歧;business_impact:问题对交易、安全或核心流程的影响;novelty:样本是否代表训练集中未覆盖的新分布;verifier_failure:代码测试、引用校验、规则检查是否失败;duplicate_score:与已有数据的重复程度;label_noise:问题是否模糊、冲突或难以形成可靠标签。
需要注意,这些信号的取值范围并不相同。例如,任务失败可能是 0/1,业务影响可能是 1~5,而模型熵和重复度又有各自的数值范围。因此,在加权计算之前,需要先将各项信号归一化到统一尺度。权重也应根据标注通过率、业务影响和下游训练收益持续校准,避免多个高度相关的信号被重复计分。成熟系统还可以使用 Learning-to-Rank 模型代替固定权重,对候选样本进行排序。

需要注意,高不确定性不一定代表高训练价值:它也可能来自问题本身存在歧义或标签错误。因此,难例必须经过归因和可标注性检查。同时,训练数据中还要保留一定比例的正常样本、历史能力样本和安全样本,避免模型过度拟合少数失败场景。
难例挖掘的目标不是简单收集“模型不会的问题”,而是找到那些根因明确、标签可靠、具有业务价值,并且训练后能够泛化到同类任务的样本。
数据如何转化为模型能力
线上样本经过清洗和难例筛选后,仍不能直接用于训练。它还需要完成三个步骤:把反馈转成可靠标签、选择匹配的训练目标,并通过数据混合控制能力提升的方向。
自动标注与人工审核
不同任务的“正确答案”并不相同。代码可以运行测试,结构化输出可以校验 Schema,而开放问答和用户偏好通常需要模型或人工判断。

不同数据类型,主要的标注方式如下表所示:
| 数据类型 | 主要标注方式 |
|---|---|
| 可执行代码、可验证 SQL、答案确定的数学题 | 编译器、测试用例、执行器 |
| JSON、函数参数 | Schema、类型和业务规则校验 |
| 开放式回答 | 多个 Judge 按统一 Rubric 评分 |
| 回答偏好 | 人工或用户进行 Pairwise 排序 |
| 法律、医疗、安全 | 领域专家审核 |
| Agent 轨迹 | 工具结果、任务状态和最终结果联合判断 |
自动标注并不意味着完全取消人工参与。系统需要记录标注模型、Prompt、规则和版本,并将低置信度、模型间分歧以及高风险样本交给人工复核。评测集还应独立抽样和严格审核,与训练数据保持隔离,避免评测结果失真。
除了为真实样本生成标签,LLM 还可以根据少量种子数据扩展新的指令、问题和答案,这类方法通常称为合成数据生成。Self-Instruct 就展示了“模型生成指令、过滤后再用于训练”的技术路线,可以降低大规模人工构造数据的成本。但合成数据更适合补充真实数据,而不是完全替代用户反馈和专家样本。如果模型未经验证地反复学习自身生成的内容,错误和分布偏差可能持续累积,造成长尾信息丢失和模型能力退化,即“模型坍塌”(参考:AI models collapse when trained on recursively generated data)。
不同数据对应不同训练目标
数据结构决定了模型获得什么监督信号,也决定了应该采用哪种训练方法。
| 数据形式 | 训练方式 | 主要作用 |
|---|---|---|
| 领域原始文本 | 持续预训练 | 学习领域语言与知识分布 |
| 指令与标准答案 | SFT | 学习任务行为、格式和表达 |
| Chosen / Rejected | DPO、RLHF | 学习人类偏好和行为边界 |
| Agent 执行轨迹 | 轨迹微调、过程监督 | 学习工具选择和多步执行 |
| 安全攻击与拒答样本 | Safety SFT、偏好训练 | 调整安全边界 |
SFT 使用标准答案进行最大似然训练:
1 | L_SFT(θ) = -Σ_{t=1}^{T} log π_θ(y_t^* | x, y_{<t}^*) |
其中,y_t^* 表示标准答案中的第 t 个 Token。在指令微调中,通常只计算回答部分的 Loss,Prompt 和 Padding Token 会通过 Loss Mask 排除。
它会提高模型在输入 x 下生成目标答案 y* 的概率,适合稳定指令遵循、输出格式和领域表达。偏好数据通常表示为:
1 | (x, y+, y-) |
其中 y+ 是更优回答,y- 是较差回答。RLHF 通常先训练奖励模型,再通过强化学习优化策略;DPO 则直接学习两个回答之间的偏好差异:
1 | Δθ = log πθ(y+|x) - log πθ(y-|x) |
πref 是冻结的参考模型,用于防止模型行为偏移过大;β 控制偏好优化与参考模型约束之间的权衡。简单理解:
- SFT 告诉模型“应该怎样回答”;
- DPO/RLHF 告诉模型“两个回答中哪个更好”;
- 过程监督为推理或执行过程中的中间步骤提供质量信号,帮助模型学习哪些规划、动作和状态转换更合理。
数据混合与能力保持
持续训练不能只使用最新失败样本。否则模型可能过度适配少数场景,并造成通用能力下降或安全边界退化。训练数据通常来自多个数据分布:
1 | p_train(x) = |
这里描述的是训练时的采样概率:
replay:历史高质量数据,用于保持原有能力;new:最新线上数据,用于适应输入分布变化;hard:高价值难例,用于修复明确能力缺口;safety:攻击、拒答和边界样本;domain:垂直领域任务和专业表达。
当不同数据集规模差距很大时,还可以使用温度采样:
1 | p_i = n_i^α / Σ n_j^α,0 < α < 1 |
其中,n_i 是第 i 个数据源的样本规模。直接按数据量采样时,大规模数据源可能主导训练;设置 α < 1 可以压平不同数据源之间的规模差异,提高小规模数据源的相对采样概率(需要注意:这一方法只能平衡数据规模,不能自动判断数据价值;样本质量仍需通过质量评分、业务影响或梯度贡献单独衡量)。
各类数据权重不应长期固定,而应根据回归评测中的能力缺口动态调整。同时,可以利用梯度相似度、影响函数或代理模型评分,估计样本对目标能力的贡献。LESS 就使用低秩梯度特征选择更相关的指令数据。
因此,从数据到能力的关键不在于“训练了多少数据”,而在于标签是否可靠、训练目标是否匹配,以及数据混合是否保持了模型整体能力。
持续评测与发布闭环
训练完成不代表飞轮闭合。只有新版本经过评测、灰度并产生真实收益,数据才真正转化为能力。

评测体系至少要覆盖:
- 数据质量:标注一致率、抽检通过率、重复率和任务分布覆盖率;
- 数据安全:敏感信息残留率、异常样本率,以及训练集与评测集重合率;
- 目标能力:任务成功率、准确率、格式通过率和偏好胜率;
- 能力回归:通用问答、代码、推理和原有业务能力是否下降;
- 系统质量:RAG 忠实度、工具成功率和 Agent 完成率;
- 安全边界:攻击成功率、越权访问、过度拒答和敏感信息泄露;
- 工程指标:TTFT、Token/s、推理成本、错误率和资源占用;
- 业务结果:问题解决率、人工转接率、用户修订率和任务完成率;
- 飞轮效率:问题修复周期、单位有效样本成本,以及每千条有效数据带来的指标提升。
评测集需要按用户、会话、模板和时间进行隔离,并对训练数据做近重复检测。固定 Golden Set 用于长期能力回归,滚动评测集(Rolling Eval Set)用于覆盖最新线上问题;发布阶段的 Shadow Deployment 则用于复制真实流量,在不影响用户的情况下验证新版本。
生产环境通常采用“周期性离线训练 + 持续线上评测”,而不是让模型直接根据单个用户反馈在线更新。这样才能保证数据可审计、模型可复现、问题可回滚。
生产边界与未来演进
数据飞轮不会天然向正方向运转。线上反馈本身带有噪声和偏差,如果数据来源、失败归因或评测机制不可靠,闭环反而可能持续放大错误。
| 核心风险 | 典型表现 | 主要治理方式 |
|---|---|---|
| 反馈偏差 | 少数极端用户主导数据分布 | 多信号融合、分层采样 |
| 错误归因 | 将检索或工具故障当成模型问题 | 保存完整 Trace,进行根因分类 |
| 数据投毒 | 恶意输入被收录为训练样本 | 来源校验、异常检测、隔离审核 |
| 奖励投机 | 模型迎合评分,但没有真正完成任务 | 引入执行结果和业务指标 |
| 灾难性遗忘 | 新能力提升,原有能力下降 | Replay 数据与全量回归评测 |
| 评测污染 | 测试样本进入训练集 | 数据血缘、分组切分和版本隔离 |
| 合成数据退化 | 输出趋同,长尾信息逐渐丢失 | 保留真实数据并加强质量验证 |
| 隐私泄露 | 用户或企业信息进入模型参数 | 授权、脱敏、访问控制与审计 |
未来,数据飞轮将从简单的“收集反馈再训练”,逐步演进为更精细的持续优化系统:
- 数据选择更精准:结合不确定性、梯度影响、样本新颖度和业务价值选择数据;
- 反馈粒度更深入:从最终回答扩展到 Agent 的规划、工具调用和完整执行轨迹;
- 验证机制更可靠:由规则、执行器、多个 Judge 和人工专家共同验证标签;
- 训练策略更动态:根据评测暴露的能力缺口,调整数据配比和训练课程;
- 优化范围更完整:同时改进模型、Prompt、RAG、工具、安全策略和推理系统。
一个成熟的数据飞轮应当具备三个特征:线上信号可以追溯,训练数据可以解释,模型更新可以验证和回滚。
数据飞轮的价值不在于持续积累更多日志,而在于建立一条从真实问题到可靠改进的工程链路:发现失败、定位根因、构造数据、优化系统,并通过评测和灰度发布把改进安全地带回生产环境。
一句话概括:数据飞轮让大模型的每一次真实失败,都有机会转化为下一次经过验证的能力提升。
