Back to blog
    微調管線的 CI/CD:自動化訓練-評估-部署
    ci-cdfine-tuningautomationmlopsdeploymentevaluationproduction

    微調管線的 CI/CD:自動化訓練-評估-部署

    手動微調無法擴展。學習如何構建一個完整的 CI/CD 管線,自動化微調模型的訓練、評估、晉升關卡和部署。

    EErtas Team·

    您的第一次微調是手動的。您手工整理數據,啟動訓練,憑感覺查看結果,轉換為 GGUF,加載到 Ollama,並自行測試。花了一天。也許兩天。

    這種方法只適用一次。當您有四個客戶,每個客戶每月都要重新訓練,每個客戶有不同的評估標準,每個客戶都期望零停機時,這就行不通了。手動微調在第二個客戶時就會崩潰。到第四個時,您花在流程上的時間比實際改進模型的時間還多。

    解決方案與軟件工程幾十年前解決的相同:CI/CD。持續集成和持續部署,適用於微調管線。以下是如何構建一個的確切方法。

    管線概覽

    微調 CI/CD 管線有七個階段:

    1. 觸發 — 某些事件啟動管線
    2. 數據驗證 — 確認訓練數據乾淨且充足
    3. 微調 — 運行實際訓練任務
    4. 評估 — 針對您的測試套件運行模型
    5. 比較 — 與當前生產模型進行基準測試
    6. 部署 — 如果通過所有關卡,晉升新模型
    7. 監控 — 部署後觀察生產指標

    每個階段都有明確的通過/失敗標準。如果任何階段失敗,管線停止並提醒您。在正常路徑上不需要人工干預。

    選擇觸發器

    並非每次管線運行都需要人工點擊「開始」。三種觸發器類型涵蓋了大多數場景:

    定時觸發器 最適合穩定、可預測的工作負載。設置每月計劃。管線在每個月的第一個星期二運行,在積累的新數據上重新訓練,如果新模型更好就晉升。如果新模型不夠好,什麼都不改變。總人力投入:閱讀摘要電子郵件。

    數據閾值觸發器 在積累了足夠的新訓練示例時觸發。設置一個閾值——比如 500 個新的已驗證示例——管線自動啟動。這對於每天都有新數據到來的高量應用效果很好。

    品質閾值觸發器 是反應式的。您的監控系統偵測到生產準確率下降到 85% 以下。它觸發管線。模型在更新的數據上重新訓練,評估,如果能修復回歸就部署。這是您的安全網。

    組合觸發器 是實際方法。大多數團隊將定時觸發器作為基準,將品質閾值觸發器作為安全網。每月定時重新訓練處理漸進式漂移。品質閾值觸發器捕捉突然的退化——比如產品更新在一夜之間改變了數據分佈。

    一個重要規則:觸發器應該有冷卻期。如果品質閾值觸發器觸發並重新訓練,至少 48 小時內抑制額外的觸發器。否則您可能面臨一個嘈雜的指標反復觸發重新訓練的循環風險。

    第一階段:數據驗證

    在花費計算資源進行訓練之前,驗證您的數據。這個階段捕捉會浪費數小時微調時間的問題。

    量檢查:您是否有足夠的新示例?如果您每月重新訓練,但只積累了 12 個新示例,管線應該跳過這個週期。設置最低閾值——100 個新示例是一個合理的起點。

    格式驗證:每個示例必須符合您的訓練架構。對於聊天微調,這意味著有效的 system/user/assistant 消息數組。對於補全任務,有效的輸入/輸出對。格式不正確的示例應該被標記和隔離,而不是靜默丟棄。

    分佈檢查:將新數據的標籤分佈與現有訓練集進行比較。如果您的新批次有 90% 屬於一個類別,這是值得調查的信號。這可能是合理的(季節性轉移)或者可能表示數據收集錯誤。

    去重:移除精確和近似精確的重複項。Jaccard 相似度在 0.95 以內的近似重複項應該被標記。重複的訓練示例會導致對這些特定模式的過擬合。

    品質評分:如果您對單個示例有品質指標(回應長度、格式合規性、人工評分),過濾掉低於品質閾值的示例。一個糟糕的訓練示例可以抵消十個好示例的好處。

    如果驗證失敗,管線停止並發送詳細報告:有多少示例失敗、哪些檢查失敗,以及失敗的代表性樣本。您修復數據並手動重新觸發。不要自動修復——數據品質決策需要人工判斷。

    第二階段:微調

    有了經過驗證的數據,管線調用 Ertas 微調 API。這個階段很直接,因為困難的工作——超參數選擇、基礎模型選擇——在您最初的手動微調期間已經完成。

    您的管線配置鎖定了訓練參數:

    • 基礎模型:您手動驗證的同一個(例如 Llama 3.1 8B)
    • LoRA 秩:您的驗證設置(通常 r=16 或 r=32)
    • 學習率:您的驗證率(通常 2e-4)
    • 輪次:固定或基於驗證損失的早停
    • 訓練數據:現有 + 新驗證示例的合併集

    關鍵洞察:您的 CI/CD 管線不應該在超參數上進行實驗。那些實驗在開發期間進行。管線在更新的數據上運行經過驗證的配方。

    訓練時間取決於數據集大小和模型。對於典型的 8B 參數模型,有 2,000-5,000 個示例,預計需要 30-90 分鐘。管線等待,輪詢完成,然後進入評估。

    對一切進行版本控制。每次訓練運行應該產生帶元數據的版本化工件:數據集哈希、基礎模型版本、超參數和訓練時間戳。六個月後需要調試回歸時,您將想知道每個模型版本中確切包含了什麼。

    # 示例工件元數據
    run_id: ft-2026-02-26-001
    base_model: llama-3.1-8b
    dataset_hash: sha256:a4f8e2...
    dataset_size: 3,847 個示例
    lora_rank: 16
    learning_rate: 2e-4
    epochs: 3
    training_duration: 47m
    timestamp: 2026-02-26T04:00:00Z
    

    第三階段:評估套件

    這是大多數團隊投資不足的地方,也是大多數管線失敗應該被捕捉的地方。您的評估套件需要涵蓋四個維度:

    準確率指標:針對您的保留測試集運行新模型。衡量特定任務的指標——分類的 F1、生成的 ROUGE 或人類偏好分數、結構化提取的精確匹配。您需要一個數字,而不是感覺。

    回歸測試:生產模型正確處理的 50-200 個精心整理的示例集合。這些是您的「絕對不能破壞」案例。如果新模型在其中任何一個上出錯,那就是回歸,需要調查。

    延遲基準測試:運行 100 次推理調用並測量 p50、p95 和 p99 延遲。微調模型的速度不應比基礎模型慢超過 10%。如果是,那麼訓練或量化出了問題。

    安全檢查:運行您的安全評估集——對抗性提示、邊緣情況、敏感話題。新模型必須通過每個安全檢查。沒有例外,沒有閾值。二元通過/失敗。

    將所有評估結果存儲為工件。您將希望跨管線運行進行比較以發現趨勢。

    第四階段:晉升關卡

    評估產生數字。晉升關卡將這些數字轉化為部署/不部署的決定。以下是在實踐中有效的關卡:

    關卡標準失敗時的操作
    準確率不低於生產模型準確率阻止部署
    準確率改善改善 0.5% 以上或沒有回歸允許但標記
    回歸測試100% 通過率阻止部署
    延遲 p95在生產 p95 的 10% 以內阻止部署
    安全檢查100% 通過率阻止部署
    模型大小GGUF 在生產模型大小的 5% 以內警告

    所有阻塞性關卡必須通過。如果任何阻塞性關卡失敗,管線停止,記錄失敗原因,並提醒團隊。模型被存檔以供調查,但不部署。

    如果所有關卡通過,管線自動進行部署。不需要人工批准。這些關卡就是您的批准流程。

    第五階段:部署

    本地模型的部署遵循特定路徑:微調模型被量化為 GGUF,注冊為新版本,並推出。

    GGUF 轉換:將微調的適配器或合併模型以您的目標量化水準(Q4_K_M 是一個穩固的默認值)轉換為 GGUF 格式。驗證文件有效且可加載。

    金絲雀部署:不要立即切換 100% 的流量。從 5% 開始。將 5% 的請求路由到新模型,95% 到生產模型。監控 2 小時。如果指標保持,晉升到 25%。再監控 4 小時。然後晉升到 100%。

    Ollama 整合:更新 Modelfile 以指向新的 GGUF。在 Ollama 中重新加載模型。驗證模型對煙霧測試提示的響應是否正確。

    整個部署階段,不包括金絲雀監控窗口,需要不到 5 分鐘。金絲雀監控增加了 6 小時的自動觀察。

    保留每個部署的模型版本存檔。存儲很便宜。能夠回滾到任何先前版本——不僅僅是直接先前的版本——在部署後幾天或幾週發現回歸時是無價的。

    第六階段:部署後監控

    管線不在部署時結束。部署後監控在完全晉升後運行 24 小時:

    • 第 1 小時:每 5 分鐘檢查錯誤率、延遲和基本輸出品質
    • 第 1-6 小時:每 15 分鐘檢查,與生產基準比較
    • 第 6-24 小時:每小時檢查,觀察漸進退化

    如果在監控窗口期間任何指標在生產基準以下下降超過 5%,管線觸發自動回滾。回滾意味著:重新加載先前的 GGUF,恢復 Modelfile,將 100% 流量恢復到舊模型。使用 LoRA 適配器的總回滾時間:不到 30 秒,完整模型交換不到 2 分鐘。

    自動回滾不是可選的。它是使完全自動化部署可以接受的安全網。沒有它,每次部署都需要一個人監視。有了它,管線可以在凌晨 3 點運行,您睡通了。

    記錄每次回滾的完整上下文:哪個指標觸發了它,觸發時的確切值,被回滾的模型版本,以及被恢復的模型版本。這個日誌成為您的調試起點。

    成本是多少

    設置時間:構建端到端管線需要 8-16 小時。這包括編寫評估套件(最大的時間投資)、配置觸發器、設置監控和測試回滾路徑。

    持續維護:每月 1-2 小時。審查管線運行摘要,更新評估示例,隨著應用程式的演進調整閾值。

    節省了什麼:每月 10-20 小時的手動微調、評估和部署工作。對於管理多個客戶模型的代理商,這個數字乘以客戶數量。

    盈虧平衡是第一個月。到第二個月,您以手動流程無法匹配的速度運作。

    不要自動化的內容(目前)

    並非所有內容在第一天就適合放入管線:

    您的第一次微調應該始終是手動的。在自動化之前,您需要了解流程、數據、失敗模式和評估標準。

    評估標準設計需要人工判斷。哪些指標重要?閾值是什麼?這些決定塑造了整個管線。弄錯了,您就自動化了錯誤的事情。

    新任務類型的數據整理仍然需要人工審查。當您擴展到新領域或添加新能力時,人工應該在訓練數據進入管線之前審查它。

    邊緣情況處理是另一個要保持手動的領域。當您的模型遇到真正新穎的輸入模式——不符合現有類別或工作流的模式——人工應該決定如何處理它、標記示例並將其添加到訓練集。管線然後可以在下一個自動化週期中合併這些示例。

    自動化重複的執行。讓人工參與戰略決策。

    入門

    您不需要一次構建所有七個階段。從三個開始:微調、評估和部署。接下來添加數據驗證。然後是觸發器。然後是監控。每個階段獨立添加價值。

    成功擴展微調的團隊是那些像對待軟件而非科學實驗那樣對待它的團隊。對數據進行版本控制。測試模型。自動化部署。監控生產。

    管線是對可重複性的投資。您自動化的每個手動步驟都是一個不再可以被遺忘、跳過或不一致地完成的步驟。這就是您從一個微調模型到五十個的方式。

    我們合作過的一個團隊,從每季度手動重新訓練(每次需要兩天)過渡到每月自動化重新訓練(每次需要 15 分鐘的人工審查)。他們的模型準確率在六個月內提高了 12%——不是因為更好的訓練技術,而是因為在更新鮮的數據上更頻繁的訓練。管線使頻率成為可能。頻率使改進成為必然。

    延伸閱讀

    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