Back to blog
    針對小型模型蒸餾優化的合成資料生成
    synthetic-datamodel-distillationon-device-aidata-preparationfine-tuningsegment:enterprise

    針對小型模型蒸餾優化的合成資料生成

    在為行動 NPU 部署建立 0.5B–1B 模型時,合成資料品質的重要性遠超大型模型。以下是如何生成、過濾和驗證針對小型模型蒸餾設計的合成訓練資料。

    EErtas Team·

    為行動 NPU 部署建立 5 億參數模型,與建立用於雲端推論的 700 億參數模型有本質上的不同。模型小了 140 倍。它對嘈雜或不對齊的訓練資料的容忍度幾乎為零。而合成資料——它在微調資料集中的佔比日益增加——必須以大多數管線忽視的限制條件生成。

    合成資料的標準方法是:使用大型教師模型生成樣本,用這些樣本訓練較小的學生。當學生是 70 億–130 億參數時,這個方法效果尚可。當學生是 5 億–10 億參數時,它就失效了,因為教師生成的文本複雜度在根本上超出了學生的複製能力。

    以下是如何以不同方式做到這一點。

    為何標準合成資料對不足 10 億參數的模型失效

    一個 700 億參數的教師模型生成合成客服回應時,可能產生一個 400 字的答案,包含條件邏輯、共情表達、多步故障排除和個人化結語。這是 130 億參數學生模型的優質訓練資料。

    對於 5 億參數模型呢?這是模型無法學習的模式的訓練資料。5 億參數模型沒有足夠的參數容量同時編碼條件共情、多步推理和領域知識。它會學習每個方面的片段,但哪個都執行不好。

    結果:一個生成開頭連貫但中途退化的回應的模型。或者一個處理最常見案例很好,但在邊緣案例上災難性失敗的模型。或者一個生成語法正確但實際上沒有回答問題的文本的模型。

    這些不是模型問題,而是資料問題。

    教師模型選擇

    您的教師模型定義了合成資料的品質上限。但越大並不總是越好。

    對於不足 10 億參數的目標: 使用 700 億以上參數的教師以獲得生成品質,但添加一個 70 億參數模型作為「複雜度過濾器」。如果 70 億參數模型無法以 80% 以上的相似度複製教師的輸出,則該樣本對 5 億參數學生來說太複雜。這種雙模型過濾方法能捕捉統計指標遺漏的複雜度問題。

    對於 30 億–80 億參數目標: 700 億參數教師是理想的。容量差距較小(10 倍至 25 倍,而非 140 倍),因此教師的輸出更易於學習。您可以使用更廣泛、更複雜的樣本。

    溫度和採樣。 對不足 10 億參數的目標使用溫度 0.3–0.5 生成。較高的溫度產生更多樣化但也更複雜的文本。在 5 億參數規模,您想要一致性而非多樣性。將溫度多樣性留給較大的學生模型。

    真正重要的過濾策略

    生成合成資料是容易的部分。過濾才是決定結果的地方。

    長度分布匹配。 測量您的生產輸入分布。如果用戶將向您的設備上模型發送 50–200 個 token 的輸入,在該範圍內生成合成訓練輸入。如果您的生產輸出是 20–100 個 token,在該範圍內生成合成輸出。長度不匹配是設備上模型失敗最常見的原因。

    複雜度評分。 透過學生模型(或相似大小的模型)運行每個合成樣本,測量困惑度。高困惑度樣本超出了模型的能力。設置困惑度閾值——通常是已知良好驗證集的第 75 百分位——並丟棄所有超過該閾值的樣本。

    領域相關性評分。 並非教師生成的每個樣本都在主題上。即使有謹慎的提示,10–15% 的合成樣本也會偏離領域。使用嵌入相似度與精選的黃金標準樣本集比較,評分領域相關性。丟棄最低的 20%。

    大規模去重。 來自大型語言模型的合成資料比人工生成的資料更具重複性。教師有偏好模式——它預設使用的常見措辭和結構。在 5 億參數規模,近似重複項特別有害,因為它們在某些模式上的過度代表以犧牲廣度為代價。使用 MinHash 或 SimHash 去重,相似度閾值設為 0.85。

    格式一致性強制執行。 如果您的生產模型輸出 JSON,每個訓練樣本都必須輸出有效的 JSON。如果它輸出分類標籤,每個樣本都必須使用精確的標籤詞彙。在不足 10 億參數規模下,格式變體零容忍。一個不一致的樣本可能會引入影響 5% 生產輸出的失敗模式。

    數字說話

    對於針對特定企業任務的 5 億–10 億參數模型:

    指標樸素方法優化方法
    生成的合成樣本100,000100,000
    長度過濾後100,00065,000
    複雜度過濾後100,00040,000
    領域相關性後100,00032,000
    去重後85,00022,000
    格式驗證後80,00020,000
    最終訓練集80,00020,000
    設備上準確率61–68%84–91%

    優化方法使用少 75% 的訓練樣本,卻實現了高出 20–30 個百分點的準確率。這在我們觀察的多個企業領域中是一致的。在不足 10 億參數規模下,品質優於數量不是老生常談——而是整個策略。

    迭代循環

    針對小型模型蒸餾的合成資料生成不是一次性的過程,而是一個循環:

    1. 使用教師模型生成合成資料
    2. 使用上述標準過濾
    3. 在過濾後的資料集上微調學生模型
    4. 在目標硬體上部署(真實設備,而非模擬器)
    5. 測量具有生產代表性的指標
    6. 分析失敗案例
    7. 為失敗模式生成針對性合成資料
    8. 回到步驟 2

    大多數團隊執行步驟 1–3 一次就發布。在不足 10 億參數模型上實現 90% 以上準確率的團隊,會進行 3–5 次這個循環的迭代,每次迭代針對設備上測試揭示的特定失敗模式。

    企業資料與本地部署要求

    大多數合成資料指南忽視了一個關鍵限制:您合成資料的源知識是企業專有的。

    如果您在為行動端建立臨床分診模型,教師模型需要您機構特有的醫療知識。如果您在為律師事務所的行動應用程式建立合約分析模型,教師需要該事務所合約模式的樣本。

    這意味著要麼在企業資料上微調教師(需要本地資料準備),要麼在生成期間使用企業文件的 RAG(需要本地基礎設施)。

    無論哪種方式,合成資料生成管線都必須在本地運行。您的 700 GB 臨床筆記或法律合約不能上傳到雲端 API 來為設備上模型生成合成訓練資料。

    Ertas Data Suite 如何處理這個問題

    Ertas Data Suite 的增強模塊使用您自有硬體上的本地 LLM 運行合成資料生成。無資料外傳。生成配置時包含目標模型限制——指定 5 億參數目標、512 上下文視窗、Q4 量化——合成樣本自動校準。

    清洗模塊提供過濾管線:長度分布分析、品質評分、去重和格式驗證。每個過濾決策都記錄有完整的稽核追蹤。

    匯出模塊將過濾、驗證後的資料集輸出為可用於微調的 JSONL。元數據追蹤哪些樣本通過了哪些過濾器,因此當您迭代時(您必然會迭代),可以將效能改進追溯到具體的資料決策。

    預約探索電話 討論您的設備上 AI 部署合成資料策略。

    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