
資料品質大於資料數量:為什麼 250 個好示例勝過 10,000 個壞示例
為什麼品質對微調比數量更重要——附來自近期研究的證據,顯示精心整理的小型資料集始終優於大型嘈雜的資料集。
在微調中存在一個持久的假設:更多的資料總是更好的。這聽起來很合理——機器學習應該是資料飢渴的,而最大的模型是在數兆個 token 上訓練的。因此,當您的微調模型表現不佳時,本能反應是收集更多訓練資料。
這個本能通常是錯的。對於微調而言,資料品質在很大程度上主導資料數量。這方面的證據很強,機制也很清楚,而實際意義可以為團隊節省數週的浪費資料收集時間。
反直覺的發現
2025 年初,Kiln 運行了一個清楚說明這一點的蒸餾實驗。他們取了 Gemma 3 27B,並在僅 250 個精心整理的合成示例上微調它——這些示例由 GPT-4o 生成,經過嚴格的品質過濾。所得模型在目標任務上匹配了 GPT-4o 的少樣本性能。
250 個示例。不是 25,000。不是 2,500。兩百五十個。
這不是孤立的結果。Microsoft 的 LIMA 論文證明,1,000 個精心選擇的示例可以生成與在 52,000 個以上示例上訓練的模型相競爭的模型。Alpaca 團隊用 52,000 個合成示例展示了類似的結果——但後續工作證明,將那 52,000 個示例篩選到最好的 9,000 個可以提高性能。
這種模式是一致的:小型、高品質的資料集每次都優於大型、嘈雜的資料集。
什麼使資料「高品質」
對於訓練資料,品質不是主觀的。它分解為五個可測量的屬性:
1. 正確的標籤
這是最明顯也是最重要的。資料集中的每個輸入-輸出對必須有正確的輸出。對於分類,這意味著正確的類別。對於生成,這意味著您願意在生產環境中看到的輸出。
錯誤標籤的損害不是成比例的——它是被放大的。單個錯誤標記的示例不只是將準確率降低 1/N。它積極地教導模型一個與正確示例衝突的錯誤模式,在學習的表示中造成混亂。
如何測量: 讓領域專家(或第二名標注者)審查 50 到 100 個隨機示例。如果不一致率超過 5%,您有標記品質問題。
基準: 根據我們的經驗,標籤準確率高於 95% 的資料集始終優於準確率為 85% 的 3 到 5 倍大的資料集。交叉點大約是:準確率為 97% 的 500 個示例的資料集,匹配準確率為 88% 的 2,000 個示例的資料集。
2. 多樣化的輸入
您的訓練示例應涵蓋您的模型在生產中將看到的輸入範圍。所有示例看起來都類似的 1,000 個示例的資料集,功能上等同於 200 個多樣化示例的資料集——無論哪種方式,模型都學習相同有限的模式集。
多樣性意味著:
- 主題覆 蓋。 所有相關類別或輸入類型都有表示。
- 難度分布。 包含容易、中等和困難的示例。
- 風格多樣性。 不同的措辭、長度、正式程度。
- 邊緣案例包含。 模糊、不尋常或邊界案例成比例地出現。
如何測量: 使用句子嵌入模型(例如 BGE 或 E5)嵌入所有輸入,並繪製 2D UMAP 投影。如果您看到緊密的聚類之間有空白,您的多樣性很低。您想要廣泛、相對均勻的覆蓋。
3. 代表性分佈
訓練資料中示例的分佈應匹配生產中輸入的分佈。如果 45% 的生產輸入是 A 類別,大約 45% 的訓練示例應該是 A 類別。
這聽起來很明顯,但大多數合成資料集都搞錯了。當您要求前沿模型「在 5 個類別中生成多樣化示例」時,它傾向於生成每個類別大致相等的數量——無論真實分佈是什麼樣的。
在生產資料不平衡的情況下,在平衡資料上訓練的模型,對稀有類別會過度自信,對常見類別會不夠自信。
如何測量: 將訓練資料的類別分佈與生產輸入樣本進行比較。使用卡 方或 KL 散度量化不匹配。
4. 乾淨的格式
一致的格式教導模型輸出結構。不一致的格式教導模型結構無關緊要。
如果一些訓練示例使用 markdown 標題,而其他示例使用純文字;一些使用有序列表,另一些使用無序列表;一些包含尾隨空白,另一些不包含——模型學習這些都是可以接受的。在生產環境中,它會隨機混合格式。
如何測量: 編寫格式驗證規則(正則表達式或架構檢查),並在整個資料集中運行它們。標記任何偏離目標格式的示例。格式良好的資料集格式違規不超過 2%。
5. 推理追蹤(適用時)
對於涉及推理的任務——帶解釋的分類、多步驟分析、決策制定——在輸出中包含推理過程可以大幅提高品質。
說 {"category": "billing_error"} 的訓練示例教導模型產生正確的答案。而說 {"reasoning": "The customer mentions being charged twice for the same item, which indicates a billing error rather than a refund request", "category": "billing_error"} 的訓練示例教導模型正確地推理,這種泛化效果要好得多。
如何測量: 檢查輸出是否包含推理追蹤。如果您的任務受益於推理(大多數任務都受益),每個示例都應包含一個。帶有推理追蹤訓練的模型,在保留的評估集上通常得分高 5% 到 15%。
雜訊問題
錯誤標記的示例不只是向訓練添加雜訊——它們積極地降低模型品質。原因如下:
在微調過程中,模型調整其權重以產生每個訓練示例中顯示的輸出。當示例第 47 條說輸入 X 應產生輸出 A,而示例第 312 條說類似的輸入 X' 應產生輸出 B(其中 B 是錯誤的),模型接收到矛盾的梯度信號。它無法同時學習兩者。結果是一個比任何一個單獨的結果都更差的妥協。
實際上,在 1,000 個示例上微調的 70 億模型,其中 10% 被錯誤標記(100 個壞示例),其表現與在 600 到 700 個乾淨示例上微調的相同模型相當。那 100 個壞示例不只是浪費空間——它們積極地抹去了 200 到 300 個好示例的好處。
這就是為什麼清理 1,000 個示例幾乎總是比收集 2,000 個更多示例更好的投資。
需要注意的雜訊來源
標注者不一致。 不同標注者對相同輸入的標記不同。當任務指南模糊時很常見。
標籤漂移。 標注標準隨時間演變,沒有追溯修復早期示例。前 500 個示例使用一種解釋;後 500 個使用略微不同的解釋。
複製貼上錯誤。 在資料處理過程中被洗牌、截斷或損壞的輸入-輸出對。
合成資料幻覺。 如果您使用前沿模型生成了訓練資料,某些百分比將包含幻覺事實、不一致的推理或與您的任務要求略有矛盾的輸出。
過時的示例。 反映舊業務規則、已棄用類別或已停止產品的訓練資料。
品質改進過程
以下是改善資料集品質的實際逐步過程。無論您的資料集有 200 個還是 20,000 個示例,都適用。
第一步:隨機審計(30 到 60 分鐘)
從您的資料集中抽取 50 個隨機示例。仔細閱讀每一個。對於每個示例,問:
- 輸出是否正確?
- 我是否滿意在生產環境中看到這個輸出?
- 格式是否與其他示例一致?
- 推理(如果存在)是否實際上支持結論?
追蹤錯誤率。如果 50 個中有超過 3 個(6%)有問題,您有一個系統性的品質問題,它將影響模型性能。
第二步:修復標記不一致(1 到 3 小時)
審計通常揭示模式——特定的混淆類別、標注者不同意的邊緣案例、特定輸出類型中的格式不一致。
為您發現的每個模式編寫明確規則。然後將這些規則應用於整個資料集。對於 1,000 個示例的資料集,這通常需要 1 到 3 小時,並修復 5% 到 15% 的示例。
第三步:刪除近似重複(15 分鐘)
計算所有輸入對之間的嵌入相似度。刪除餘弦相似度超過 0.92 到 0.95 的示例。近似重複浪費訓練容量,而不增加資訊。
典型結果:3% 到 8% 的示例是近似重複的。在合成資料集中,這可能高達 15% 到 20%。
第四步:平衡分佈(30 到 60 分鐘)
將資料集的類別分佈與您的生產分佈進行比較。如果任何類別被過度表示超過 2 倍,對其進行欠採樣。如果任何類別被欠表示超過 2 倍,為其生成或收集更多示例。
第五步:驗證格式(15 分鐘)
編寫自動格式檢查,並在整個資料集中運行它們。修復或刪除任何失敗的示例。常見問題:不一致的 JSON 鍵、標籤中大小寫混合、尾隨空白、不一致的列表格式。
第六步:對標記示例進行最終人工審查(1 到 2 小時)
在第 1 到 5 步中有爭議的任何示例都需要最終的人工審查。目標是一個您相信每個示例都是正確的、格式良好的和代表性的資料集。
1,000 個示例的總時間: 4 到 8 小時。這個投資通常在保留的評估上將模型性能提高 5% 到 15%——相當於收集 2,000 到 5,000 個未整理的示例所獲得的改進。
要追蹤的品質指標
在每個資料集版本中追蹤這些:
- 標籤準確率(由第二位審查者驗證):目標高於 96%
- 格式合規率(自動檢查):目標高於 98%
- 去重複比率(近似重複百分比):目標低於 5%
- 分佈匹配(與生產的 KL 散度):越低越好
- 標注者間一致率(如果有多名標注者):目標高於 90%(Cohen's kappa 高於 0.8)
將這 些指標與模型評估指標一起記錄。當模型性能下降時,首先檢查資料品質指標,比任何超參數調整都能更快地識別原因。
數量確實重要的情況
資料品質的主導地位有其限制。有些情況下您確實需要更多資料,而不只是更好的資料:
輸出空間很大的非常複雜的任務。 如果正確的輸出很長、多樣化且結構複雜(法律摘要生成、醫療報告摘要),模型需要更多示例來涵蓋輸出空間。250 個示例無法捕獲可能正確輸出的多樣性。
多語言任務。 每種語言有效地需要自己的小型資料集。10 語言分類任務每種語言大約需要 500 到 1,000 個示例——總計 5,000 到 10,000 個。
有很多類別的任務。 50 類別分類器需要足夠的每類示例來學習決策邊界。每類最少 30 到 50 個示例,即使品質完美,也是 1,500 到 2,500 個示例。
高風險應用。 醫療、法律和金融任務需要最小化錯誤率,受益於涵蓋更多邊緣案例的更大資料集。遞減回報曲線仍然適用,但可接受的錯誤率更低,所以您沿著它推得更遠。
即使在這些情況下,品質仍然比每個示例的數量更重要。有 10,000 個乾淨示例的多語言任務將優於有 30,000 個嘈雜示例的任務。對數量的需求並不能免除您對品質標準的要求。
實際結論
在收集更多資料之前,問這些問題:
- 我目前的標籤準確率是多少? 如果低於 95%,清理會比收集更有幫助。
- 我的學習曲線是什麼樣的? 如果是平的,更多資料無論品質如何都不會有幫助。
- 我的去重複比率是多少? 如果高於 10%,您的有效資料集比您想象的要小。
- 我的分佈是否匹配生產? 如果不是,重新平衡比增加數量更有幫助。
擁有最佳微調模型的團隊,不是擁有最多資料的團隊。而是將資料品質視為工程學科的團隊——系統地測量它、追蹤它和改進它,然後再尋求規模化。
Ship AI that runs on your users' devices.
Ertas early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
相關閱讀
- 微調的合成資料生成:有效的技術 — 當真實資料稀缺時如何生成高品質合成示例
- 100 vs 1,000 vs 10,000 個訓練示例:您實際上需要多少資料? — 顯示更多資料在哪裡有幫助以及在哪裡達到遞減回報的基準
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Keep reading

When NOT to Fine-Tune: 5 Cases Where RAG, Prompting, or APIs Are Better
An honest guide to when fine-tuning is the wrong approach — covering five common scenarios where RAG, prompt engineering, or API calls deliver better results with less effort.

Fine-Tuning Small Models (1B-8B): When They Beat GPT-4o and When They Don't
An honest assessment of when fine-tuned small models (1B-8B parameters) outperform GPT-4o on specific tasks — and when they fall short, with benchmarks and practical decision criteria.

Why Your Fine-Tuned Model Sounds Great But Gets Facts Wrong
Understanding and fixing hallucination in fine-tuned models — why fine-tuning can make hallucination worse, detection techniques, and practical mitigation strategies for production deployments.