真实面经题目 · 原创解析
LLM 预训练或 SFT 的数据配比如何量化评估?如何用实验、领域切片和评测指标判断一个 mixture 是否更好?
这题考的是把数据配比从经验拍脑袋变成可实验、可度量、可解释的优化问题。好的回答应覆盖目标能力定义、候选 mixture 设计、token 级采样权重、短程代理实验、领域切片评测、统计显著性、负迁移排查和 Pareto 取舍,而不是只说多放高质量数据或按业务重要性调比例。
真实面经题目 · 原创解析
这题考的是把数据配比从经验拍脑袋变成可实验、可度量、可解释的优化问题。好的回答应覆盖目标能力定义、候选 mixture 设计、token 级采样权重、短程代理实验、领域切片评测、统计显著性、负迁移排查和 Pareto 取舍,而不是只说多放高质量数据或按业务重要性调比例。
我会先把 mixture 评估拆成目标、实验和决策三层。目标层要明确模型阶段和能力需求:预训练更关注通用语言建模、知识覆盖、推理、代码、数学、多语言和安全底座;SFT 更关注指令遵循、任务覆盖、回答格式、对话体验和拒答边界。实验层要把 mixture 写成可复现的采样配置,例如每个领域的 token 权重、样本权重、温度采样、去重策略、长度分布和质量阈值,然后设计 baseline、单因子 ablation、网格或贝叶斯搜索、短程训练代理实验。评估层不能只看整体 loss,要看按领域切片的 validation loss、下游 benchmark、人工偏好、任务成功率、安全指标、长尾能力、幻觉率、格式错误率和成本。判断一个 mixture 是否更好,通常不是单一分数最大,而是在核心指标不退化的前提下提高目标能力,并且收益能跨随机种子、训练步数和评测切片复现。还要警惕数据配比的副作用:某领域加多后可能提升该领域 loss 但伤害通用能力,SFT 中短答格式可能压制推理展开,安全数据过量可能带来过拒。最终我会用 Pareto 前沿和红线指标决策,而不是用一个加权总分掩盖重要退化。
配比好不好取决于模型要服务什么目标。预训练阶段通常追求语言建模效率、知识广度、推理能力、代码数学、多语言和鲁棒性;SFT 阶段更看重指令遵循、任务成功率、输出格式、对话自然度、安全边界和目标用户场景。回答时要先说明目标和红线,例如安全不能明显退化、通用能力不能大幅下降、核心领域要提升。
mixture 不是一句“代码多一点、数学少一点”,而是一组可复现参数:领域 token 占比、样本采样权重、质量分阈值、重复簇降权、长度分布、语言比例、任务类型比例、温度采样参数,以及训练中是否动态调整。只有把这些配置固定下来,后续实验才能复现和比较。
最基本的是 baseline 对照和单因子 ablation,例如只提高代码比例、只提高数学比例、只替换高质量 SFT 数据。更系统的做法是 mixture sweep、正交实验、贝叶斯优化或基于 proxy model 的搜索。为了控制成本,可以先用小模型、短 token 预算、固定训练步数和相同随机种子做代理实验,再把候选配比放到更大规模验证。
预训练 mixture 的核心指标包括总 validation loss、按领域 validation loss、下游知识和推理评测、代码数学任务、多语言表现、安全和毒性倾向、记忆与污染风险。只看总 loss 容易偏向占比大的领域,必须看小领域切片;同时要观察增加某类数据是否带来跨领域迁移,还是只在本领域收益明显、其他能力被挤压。
SFT 的 loss 更容易受模板、长度和答案风格影响,不能直接等价于用户体验。要看指令遵循率、格式正确率、多轮一致性、工具调用准确率、拒答边界、事实性、推理展开、简洁性和人工偏好。不同任务切片要单独看,例如写作、代码、数学、客服、知识问答和安全敏感请求的最佳配比可能不同。
领域切片应该覆盖业务目标、基础能力、长尾和风险场景。每个切片最好有固定验证集、挑战集和 badcase 集,避免新 mixture 只在大盘指标上变好。诊断时要把指标回连到数据构成:某个切片退化,是该领域数据占比降低、质量下降、格式冲突、长度分布变化,还是相邻领域负迁移造成。
mixture 差异常常很小,需要看多随机种子、置信区间、训练步数一致性和评测噪声。决策上可以设红线指标和主目标指标,再看 Pareto 前沿:如果一个配比提升核心能力且不伤害红线,就优先;如果两个配比分别提升不同能力,就需要按产品目标、成本和风险取舍,而不是用单一平均分掩盖冲突。
实际训练中配比可以随阶段变化,例如预训练前期重覆盖和多样性,中后期提高高质量、数学、代码或指令数据;SFT 也可以先学任务格式,再做偏好和安全对齐。上线前要做回归评测和人工抽检,记录 mixture 版本、数据快照、训练配置和指标变化,确保后续能解释模型行为差异。
不一定。总 loss 降低可能来自占比大的容易领域变好,但数学、代码、多语言或安全切片退化。还要看下游任务、分域 loss、评测污染、训练稳定性和目标能力是否同步改善。
因为不同样本长度、任务复杂度、答案风格和质量差异很大。更合理的是同时看 token 占比、任务类型、质量权重、长度分布和 loss mask 范围;一条长多轮样本和一条短问答对训练贡献完全不同。
可以先用小模型或短训练预算做 proxy 实验,固定训练配置比较多个候选配比;再用单因子 ablation 找主要敏感维度,最后把少数 Pareto 候选放到大模型和长训练上确认。
这属于负迁移或容量竞争。可以降低该领域采样权重、提高质量阈值、只在后期阶段性加入、做领域 adapter 或继续预训练后再混合 SFT,也可以用红线指标限制最大退化。
至少要控制数据快照、训练步数、随机种子和评测集版本,比较多个 seed 的均值和方差;对人工评测要看样本量、标注一致性和显著性检验,避免把评测噪声当成配比收益。
动态配比能提升阶段效率,但会增加可解释性和复现难度。风险包括后期数据覆盖过窄导致遗忘、SFT 风格过强压制基础能力、不同阶段目标冲突,所以需要记录 schedule 并做阶段性评测。