Back to blog
    當您的模型只有 10 億參數時,資料分佈更加重要
    data-qualitysmall-language-modelson-device-aimodel-distillationdata-preparationsegment:enterprise

    當您的模型只有 10 億參數時,資料分佈更加重要

    70B 模型可以強行通過雜亂的資料。0.5B 模型則不行。以下說明為什麼小型語言模型對資料分佈問題呈指數級敏感,以及如何通過針對性篩選和品質評分來解決。

    EErtas Team·

    700 億參數的模型很寬容。給它嘈雜的資料、不平衡的類別、不一致的格式和可變長度的示例——它會通過雜訊學習。它有 700 億個參數來吸收模式、補償資料品質問題,並仍然產生合理的輸出。

    5 億參數的模型則沒有這種奢侈。它有 5 億個參數來編碼需要了解任務的一切。每個嘈雜的訓練示例都浪費容量。每個類別不平衡都創造盲點。每個格式不一致都引入失敗模式。

    這不是細微的差異。這是在生產中有效的模型與無效的模型之間的差距。

    容量問題

    將模型參數視為預算。70B 模型有 700 億美元的預算來學習模式。它可以花 5 億美元在容噪能力上,仍然有足夠的資源用於實際任務。0.5B 模型有 5 億美元的預算。如果它花費 5000 萬美元從嘈雜的示例中學習,那就是其總容量的 10%——浪費掉了。

    這個比喻直接對應到實際結果:

    在 70B 規模: 在訓練集中添加 20% 嘈雜示例通常將準確率降低 1-3 個百分點。模型有足夠的容量儘管有雜訊仍能學習到信號。

    在 0.5B 規模: 同樣的 20% 嘈雜示例將準確率降低 8-15 個百分點。模型沒有足夠的容量在此比例下將信號與雜訊分開。它把雜訊當作信號來學習。

    這意味著對於 1B 以下的模型,資料整理不是錦上添花的優化步驟。它是必需的工程步驟,沒有它,模型就無法正常運作。

    類別不平衡打擊更重

    考慮一個二元分類任務——檢測客戶支援消息是否需要升級。在真實資料中,15% 的消息需要升級,85% 則不需要。

    在此分佈上訓練的 70B 模型: 整體準確率達到 94%,升級類別的召回率達到 87%。儘管看到的示例較少,模型有足夠的參數來很好地學習少數類別模式。

    在此分佈上訓練的 0.5B 模型: 整體準確率達到 91%,但升級類別的召回率只有 62%。模型實際上已學會將「不升級」作為默認值,只捕捉最明顯的升級信號。在生產中,38% 需要升級的消息被遺漏了。

    解決方案不是更多資料。在相同的 85/15 分佈下再添加 100,000 個示例沒有幫助——模型已經學習了分佈,而且學習得不對。解決方案是重新平衡:對少數類別進行過度抽樣,或對多數類別進行欠採樣,以實現 50/50 或 60/40 的訓練分佈。

    對於 1B 以下的模型,訓練資料中的類別平衡不是最佳實踐——它是在少數類別上達到可接受性能的先決條件。

    長度分佈創造靜默失敗

    如果您的生產部署處理 50-200 token 的輸入,但您的訓練資料包含從 10 到 4,000 token 不等的示例,模型在整個長度範圍內學習模式。對於 70B 模型,這沒問題——它有容量優雅地處理可變長度輸入。

    對於 0.5B 模型,長訓練示例創造兩個問題:

    容量浪費。 模型花費參數學習處理 2,000 token 的輸入,而它在生產中永遠不會見到這些輸入。這些參數不能用於改善 50-200 token 輸入上的性能。

    注意力稀釋。 在 Transformer 模型中,注意力分佈在上下文中的所有 token 上。長訓練示例教模型廣泛分佈注意力。短的生產輸入然後接收過度分佈的注意力,降低了模型對重要 token 的關注。

    解決方案:篩選訓練資料以匹配生產長度分佈。測量您的生產輸入長度的第 10-90 百分位。丟棄超出此範圍的訓練示例。對於處理 50-200 token 輸入的模型,您的訓練資料應包含 30-250 token 的示例——略寬於生產以提供邊距,但不要寬得太多。

    詞彙覆蓋和嵌入浪費

    70B 模型有一個嵌入層,可以有效地表示超過 100,000 個唯一 token。0.5B 模型理論上具有相同的詞彙大小,但其較小的嵌入維度意味著它無法以同樣的豐富度表示每個 token。

    如果您的訓練資料包含 50,000 個唯一 token,但您的生產領域使用 5,000 個,那麼 90% 的詞彙消耗嵌入容量而沒有對生產性能做出貢獻。

    實際影響: 在領域受限資料(5,000-10,000 個唯一 token)上訓練的 0.5B 模型,通常在領域內任務上比在廣詞彙資料上訓練的相同架構高出 5-8 個百分點。模型將其有限的嵌入容量集中在重要的 token 上。

    如何實施: 統計訓練資料中的 token 頻率。如果一個 token 在整個資料集中出現少於 5 次,要麼刪除包含它的示例,要麼用更常見的同義詞替換稀有 token。標準化術語:如果您的資料中「客戶」和「顧客」可互換使用,選一個並進行標準化。

    去重複不是可選的

    來自大型語言模型的合成資料傾向於重複常見模式。來自企業的人工生成資料傾向於包含模板文件、標準程序和程式化通信的多份副本。

    在 70B 規模,適度的重複(10-15% 的近似重複示例)影響最小。模型有足夠的容量學習每個近似重複中的唯一信號。

    在 0.5B 規模,同樣的 10-15% 重複導致模型對重複模式過度加權。如果您的模板電子郵件出現 500 次,而您的邊緣案例升級示例出現 5 次,模型學習生產模板的能力比學習升級強 100 倍——即使升級檢測才是實際的生產任務。

    使用 MinHash 或 SimHash,相似度閾值為 0.80-0.85。刪除近似重複,只保留每個集群中品質最高的變體。這通常將資料集大小減少 15-30%,同時將模型性能提高 3-7 個百分點。

    小型模型的品質評分

    標準品質評分方法使用困惑度、嵌入一致性或統計異常值檢測。對於 1B 以下的模型,這些需要以不同的方式校準。

    使用學生模型而非教師模型進行評分。 如果您使用 70B 模型對訓練示例評分,一切看起來都是高品質的,因為 70B 模型理解一切。使用目標 0.5B 模型(或類似大小的模型)對示例評分。相對於學生模型的高困惑度示例超出了其學習容量,應該被刪除。

    對生產而非訓練評分。 訓練示例的品質應通過其與生產任務的相關性來衡量,而非其固有品質。一篇寫得很好的 2,000 字分析,如果生產任務是 50 字分類,那它就是低品質的訓練示例。

    積極地應用品質閾值。 對於 70B 模型,包含品質評分最低的 25% 示例通常影響可以忽略不計。對於 0.5B 模型,刪除最低的 25% 將準確率提高 4-8 個百分點。閾值應至少在第 25 百分位,對於最受限制的部署應達到第 40 百分位。

    小型模型資料準備的 Ertas Data Suite

    Ertas Data Suite 的清理模塊提供校準到目標模型大小的品質評分、長度篩選、去重複和分佈分析。指定您的目標(0.5B、1B、3B),篩選閾值會自動調整。

    領域專家直接在應用程式中審查標記的示例——不需要 Python 環境。每個篩選決定都記錄了完整的審計追蹤以滿足法規合規。

    結果:每個示例都有其存在的理由的資料集。沒有容量浪費在雜訊、不平衡、長度不匹配或重複上。模型有限的參數花費在生產中重要的模式上。

    預約探索電話 討論您的小型模型部署的資料分佈優化。

    Turn unstructured data into AI-ready datasets — without it leaving the building.

    On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.

    Keep reading