怎么评估 LLM 合成数据的质量?
先弄清楚:每个概念是什么
- Synthetic data
- LLM 生成的训练或评测样本。在 personal search 里是一个虚构的人和他的 mail、message、calendar,加上问题和 gold answer。
- Validity(对不对)
- gold answer 正确,并且能从合成的数据里推出来。
- Fidelity(像不像)
- 和真实数据的分布接近,包括长度、话题、错别字、语言混用。
- Diversity(全不全)
- 覆盖面够不够。例:1000 条 query 去重后只剩 300 种问法。
- Utility(有没有用)
- 合成集上的结论放到真实数据上还成立。
30 秒回答
I'd check four things. Validity: gold answers are correct and derivable from the data, checked by rules, a second model, and human spot checks. Fidelity: it looks like real data, measured by comparing distributions and by whether a classifier can tell real from synthetic. Diversity: near-duplicate rate and coverage of intents and difficulty. Utility is the real test: models rank the same way on the synthetic set as on a small real or dogfood set. I filter bad samples, not just measure them, and calibrate the automatic checks against human audits.
四个维度
| 维度 | 怎么量 | 有问题怎么办 |
|---|---|---|
| Validity | 规则校验(答案在不在 source 里);换一个模型复核;人工抽检算 error rate | 过滤、重新生成 |
| Fidelity | 长度、话题分布对比;训一个 real-vs-synthetic classifier,AUC 越接近 0.5 越像 | 用真实样本做 seed;注入噪声(错别字、转发链、广告)和 distractor |
| Diversity | embedding 去重率;intent × 难度的覆盖表 | 按 persona、场景、难度的网格生成 |
| Utility | 几个模型在合成集和真实集(或 dogfood 集)上的排序是否一致 | 调整配比,或弃用这批数据 |
Personal search 还要查一致性(推断):同一个 persona 的各个 source 要对得上,比如 message 里约的饭局在 calendar 上有事件。时间线合理,gold answer 唯一。
必答点
- 四个维度:validity、fidelity、diversity、utility
- utility 最重要,结论要能迁移到真实数据
- 不只量,还要过滤;自动检查用人工抽检校准
- 生成和评估不用同一个模型,因为模型偏爱自己的输出
追问
人工抽检抽多少条?
看要多窄的 confidence interval(CI)。抽 100 条错 5 条 → error rate 5%,95% CI 约 \(\pm 1.96\sqrt{0.05\times 0.95/100} \approx \pm 4.3\) 个百分点。CI 宽度按 \(1/\sqrt{n}\) 缩小。
“把优化过程压缩成 CoT,训练数据长什么样?”(同一篇面经第 2 题)
原题跟着候选人的项目问。通用答法是每条样本为(输入,reasoning trace,最终答案),trace 只留通向答案的关键步骤。检查 trace 和答案一致,并且只看 trace 能推出答案。
怎么防止合成评测集泄漏进训练集?
训练和评测用不同的 persona 和 seed,评测集的 persona 不公开给生成训练数据的流程。再按内容 hash 去重。
来源牛客:Apple 大模型算法面经 · Apple JD 200670397 · ASTRA-bench(Apple):用 event-driven pipeline 合成 4 个 protagonist 的 2,413 个 scenario