
微調模型運維:完整生命週期指南
微調模型在生產環境中的完整生命週期——從資料準備到部署、監控和再訓練。分階段詳述,包含時間估算、成熟度等級和失敗模式。
微調是容易的部分。使用 LoRA 只需要 10 分鐘,較大的資料集可能需要 30 分鐘。你得到一個在演示中完全符合你使用案例的模型。然後你發布它。
三個月後,模型在悄悄地退化。沒有人在檢查輸出品質。訓練資料已過時。客戶更改了他們的產品命名,但模型仍在使用舊術語。沒有人知道哪個版本在生產環境中或最後一次評估是什麼時候。
這就是「微調」和「微調模型運維」之間的差距。調整是一個步驟。運維——保持模型準確、最新和可靠——是大多數團隊完全跳過的另外五個步驟。
本指南涵蓋生產環境中微調模型的完整生命週期:六個階段、具體時間估算、成熟度框架,以及最終會坑到每個團隊的失敗模式。
生命週期概覽
微調模型生命週期是一個循環,而不是一條線:
- 資料準備 — 策劃和格式化訓練範例
- 訓練 — 使用 LoRA/QLoRA 微調基礎模型
- 評估 — 根據特定領域基準測試
- 部署 — 匯出為 GGUF,通過 Ollama 或類似工具提供服務
- 監控 — 追蹤生產環境中的輸出品質
- 再訓練 — 品質下降時更新模型
第 6 步之後,你回到第 1 步。活躍模型的週期通常每月運行一次,穩定模型每季度一次。
微調運維與傳統 MLOps 的不同之處
如果你來自傳統 ML 背景,微調模型運維看起來相似,但每個階段的細節都不同。
資料準備是策劃,而不是大規模標注。你不是在僱人標注 10 萬張圖片。你是從現有工作流程中選擇 200-2,000 個高品質範例——真實的客服對話、實際的文件摘要、生產品質的輸出。瓶頸是領域專家時間,而不是標注員產量。
訓練需要 10 分鐘,而不是 10 天。在 500 個範例上對 7B 模型進行 LoRA 微調,在單個 GPU 上不到 15 分鐘就能完成。這改變了迭代速度的一切。你可以承受頻繁再訓練。你無法承受跳過評估,因為「訓練很昂貴」。
評估需要特定領域的基準,而不是通用排行榜。MMLU 分數無關緊要。重要的是模型是否正確格式化法律引用、使用正確的產品術語或遵循客戶的語氣指南。你需要從你實際使用案例構建的自訂評估集。
部署是 GGUF 加 Ollama,而不是帶有 GPU 自動擴展的 Kubernetes 集群。微調小型模型在 2,000 美元的 Mac Studio 或單個雲 GPU 上運行。部署故事更簡單,但版本控制和回滾仍然重要。
監控是輸出品質,而不只是延遲和吞吐量。微調模型可以在 50ms 內回應,但仍然是錯誤的。你需要對輸出進行取樣和評分,追蹤用戶更正,並偵測模型的領域知識何時落後於現實。
第一階段:資料準備(4-20 小時)
模型的品質上限在這裡設定。再多訓練也無法修復糟糕的資料。
要做什麼:
- 從生產工作流程中收集 200-2,000 個範例
- 格式化為指令/回應對(或你選擇的格式)
- 去重並刪除低品質範例
- 90/10 分割為訓練集和評估集
- 使用雜湊和日期對資料集進行版本控制
時間估算: 初始資料集 4-8 小時,更新 2-4 小時。領域專家審查在第一輪增加 4-8 小時,增量更新 1-2 小時。
常見錯誤: 完全使用合成資料而沒有真實範例。包含相互矛盾的範例。不對資料集進行版本控制,導致無法重現結果。
這裡的關鍵指標是每小時領域 專家時間的範例數。如果每個範例策劃超過 3 分鐘,你的流程需要精簡。大多數團隊發現,一旦有了系統,每小時可以策劃 30-50 個好範例。
第二階段:訓練(10-45 分鐘)
最快的階段,也是團隊相對於其影響投入過多的階段。
要做什麼:
- 選擇基礎模型(Llama 3.3、Qwen 2.5、Mistral 等)
- 配置 LoRA 參數(rank 16-64,alpha 為 rank 的 2 倍)
- 在你策劃的資料集上訓練 3-5 個 epoch
- 儲存適配器權重和訓練配置
- 記錄:基礎模型雜湊、資料集雜湊、超參數、訓練損失曲線
時間估算: 在單個 GPU 上,少於 1,000 個範例的資料集需要 10-15 分鐘。較大的資料集或更高的 LoRA rank 需要 30-45 分鐘。
常見錯誤: 訓練太多 epoch(過擬合)。在不追蹤變更內容的情況下更改超參數。不儲存用於訓練的確切資料集雜湊。
使用 Ertas,訓練配置會自動進行版本控制。每次運行都記錄基礎模型、資料集版本和參數,讓你可以重現任何結果。
第三階段:評估(2-6 小時)
最被跳過的階段,也是決定你的模型是否真的有效的階段。
要做什麼:
- 對你的保留評估集(最少 50 個範例)運行模型
- 評估準確率、格式合規性和語氣的輸出
- 與上一個模型版本進行比較(A/B 評分)
- 測試邊緣案例:模糊輸入、超出範圍的查詢、對抗性提示
- 在開始評估之前記錄通過/失敗標準
時間估算: 自動評分 2-3 小時,加上對標記輸出進行人工審查 2-3 小時。如果你有先前週期的既定評估模板,速度更快。
目標指標:
- 準確率:領域任務 90% 以上正確
- 格式合規性:95% 以上符合預期輸出結構
- 幻覺率:事實聲明低於 5%
- 邊緣案例處理:對超出範圍輸入進行優雅拒絕或升級
第四階段:部署(1-2 小時)
要做什麼:
- 匯出適配器(可選擇與基礎模型合併)
- 轉換為 GGUF 格式,使用適當量化(Q5_K_M 品質優先,Q4_K_M 速度優先)
- 部署到 Ollama 或你的推理伺服器
- 使用冒煙測試驗證:10-20 個代表性查詢
- 用部署元資料更新模型登錄檔
時間估算: 匯出和轉換 30 分鐘,部署和驗證 30 分鐘,問題緩衝 30 分鐘。
回滾計劃: 始終保持先前版本已部署且可訪問。如果新版本未通過冒煙測試或早期監控,在幾分鐘而不是幾小時內切換回去。
第五階段:監控(每月持續 2-4 小時)
這是大多數團隊失敗的地方。他們部署然後就忘了。
要監控什麼:
| 指標 | 如何測量 | 頻率 | 警報閾值 |
|---|---|---|---|
| 輸出準確率 | 取樣 5-10% 的輸出,評分 | 每週 | 低於 88% |
| 格式合規性 | 自動化正規表示式/schema 檢查 | 每天 | 低於 93% |
| 用戶更正 | 追蹤對模型輸出的編輯 | 每週 | 編輯率超過 15% |
| 回應信心 | Token 機率分佈 | 每天 | 平均信心下降超過 10% |
| 延遲 p95 | 推理計時 | 每天 | 超過基線的 2 倍 |
| 輸入新穎性 | 與訓練集的嵌入距離 | 每週 | 超過 20% 的新型輸入 |
時間估算: 每週審查 1-2 小時,如果有自動化儀表板,每月總計 2-4 小時。
第六階段:再訓練(每個週期 6-24 小時)
再訓練不是「從頭重新訓練」。它是基於監控資料的有針對性的更新。
再訓練的觸發因素:
- 準確率在每週取樣中降至 88% 以下
- 領域詞彙更改(產品更名、新術語)
- 出現模型處理不佳的新任務類型
- 無論指標如何,每季度定期刷新
要做什麼:
- 從生產環境收集新範例(特別是更正後的輸出)
- 與現有訓練集合並,刪除過時的範例
- 使用更新的資料集再訓練
- 根據相同基準加上新測試案例進行評估
- 僅在評估分數達到或超過當前生產模型時才部署
時間估算: 資料收集和策劃 4-8 小時,訓練 15-45 分鐘,評估 2-6 小時,部署 1-2 小時。總計:每個再訓練週期大約一個工作日。
成熟度模型
並非每個團隊都需要從第一天就完全自動化。以下是與團隊規模和模型數量匹配的進展。
| 等級 | 描述 | 特徵 | 適合對象 |
|---|---|---|---|
| 等級 1:手動 |