Back to blog
    並排模型比較:如何在部署前選擇最佳微調模型
    evaluationfine-tuningmodel-comparisondeploymentquality-assurancesegment:agency

    並排模型比較:如何在部署前選擇最佳微調模型

    在部署前比較和選擇微調模型變體的系統性框架——包括評估集構建、評分標準和決策邏輯。

    EErtas Team·

    您已經訓練了三個微調模型變體——不同的基礎模型、不同的超參數或不同的訓練集。現在您需要挑選一個部署。這個決定比看起來更難。

    損失曲線告訴您訓練進展。它們不告訴您哪個模型實際上在您客戶的真實用例中表現更好。

    這是在生產部署之前系統地比較模型的框架。


    為什麼您不能只用損失來選擇

    訓練損失是「模型在訓練集上預測得有多好」的代理指標。它不告訴您:

    • 在邊緣案例上的表現
    • 在訓練中未見過的提示上的泛化能力
    • 格式合規性(輸出是否結構化為預期格式)
    • 幻覺率(模型捏造答案而非說不知道的頻率)
    • 在對抗性輸入上的穩健性

    兩個具有相同驗證損失的模型在實際任務上可以有非常不同的行為。


    第一步:構建評估集

    在比較模型之前,您需要一個評估集——一組帶有已知良好答案的輸入。評估集是所有模型比較的基礎,需要仔細構建。

    評估集組成

    一個好的評估集代表您的任務分佈並系統地測試已知弱點:

    類別佔比目的
    常見案例60%驗證正常任務的核心性能
    邊緣案例20%測試行為在非典型輸入上
    容易出錯的情況10%覆蓋基線模型已知失敗的情況
    對抗性輸入10%測試設計為令模型混淆的輸入

    常見案例

    來自您實際部署環境中典型交互的代表性樣本。如果您部署的是合同摘要助手,常見案例是典型的合同——標準條款、普通語言、預期的提取目標。

    評估集中的常見案例越多,您對整體質量的估計就越準確。

    邊緣案例

    測試邊界條件的輸入:

    • 極短或極長的輸入
    • 包含異常格式的輸入(大量數字、非英語文本、奇怪的標點符號)
    • 任務描述不完整或模糊的輸入
    • 包含多個衝突指令的輸入

    邊緣案例揭示了模型泛化的弱點——常見案例測試不會暴露的失敗模式。

    容易出錯的情況

    在基礎模型(微調前)或早期模型版本上已知表現差的具體輸入。如果您在迭代微調,這些應該是您在上一個版本中記錄的失敗案例。

    跟蹤這些不僅僅是為了評估——它們記錄了模型從一個版本到下一個版本的改進。

    對抗性輸入

    設計為打破行為的輸入:

    • 注入指令(「忽略前面的指令並...」)
    • 與系統提示矛盾的輸入(要求客服機器人提供非產品相關建議)
    • 試圖從系統提示中提取信息的輸入
    • 重複邊界請求

    對抗性測試在安全敏感的部署中是必不可少的。在通用生產力應用中它不那麼關鍵,但仍然有價值。


    第二步:評分標準

    在針對評估集運行模型之後,您需要評分輸出。您評分的內容應該反映任務的實際要求。

    通用評分維度

    這六個維度適用於大多數生成任務:

    1. 準確性 輸出中的事實聲明是否與輸入/已知事實一致?

    評分:0(完全不準確)到 3(完全準確,無錯誤)

    2. 完整性 輸出是否涵蓋任務所需的所有相關信息?

    評分:0(嚴重缺失)到 3(完整覆蓋)

    3. 格式合規性 輸出是否符合指定格式(JSON、Markdown 表格、特定標題結構等)?

    評分:0(不符合格式)到 2(完全符合格式)

    4. 語氣/風格 輸出是否匹配所需的語氣(正式/非正式、具體品牌聲音)?

    評分:0(嚴重不匹配)到 2(完全匹配)

    5. 幻覺率 輸出是否包含輸入中未支持的聲明?

    評分:0(多個幻覺)到 3(無幻覺)

    6. 邊緣案例處理 當輸入包含異常情況時,模型是否優雅地處理它(返回錯誤消息、請求澄清、降級)?

    評分:0(崩潰/忽略)到 2(優雅處理)

    加權評分

    不同維度對您的任務有不同的重要性。構建一個反映真實需求的加權分數:

    加權分數 = (準確性 × 0.35) + (完整性 × 0.25) + (格式 × 0.20) + (語氣 × 0.10) + (幻覺 × 0.10)
    

    調整這些權重以反映您的特定用例。對於從臨床筆記提取結構化數據的醫療應用程序,準確性和幻覺可能各佔 40%。對於消費者聊天機器人,語氣可能更重要。


    第三步:執行比較

    對評估集中的每個輸入:

    1. 在每個模型上運行相同的輸入(使用一致的參數:相同的溫度、相同的提示)
    2. 收集輸出
    3. 針對評分標準評估每個輸出
    4. 記錄分數

    在理想情況下,評分由不了解哪個模型生成哪個輸出的人來完成——去除評分偏見。如果您使用自動評分(另一個 LLM 評估輸出),應用相同的原則:不要讓評分 LLM 知道哪個模型生成了哪個輸出。

    對每個維度匯總分數

    不要只看一個總體數字。按維度分解分數揭示了綜合分數隱藏的差異:

    維度模型 A模型 B模型 C
    準確性2.62.82.4
    完整性2.12.02.5
    格式合規性1.81.41.9
    語氣/風格1.71.91.5
    幻覺率2.72.52.2
    邊緣案例1.51.81.6
    加權總分2.242.282.22

    在這個示例中,模型 B 有更高的加權總分——但同時有更多的幻覺和更差的格式合規性。根據應用程序,模型 A 可能是更好的選擇。


    第四步:決策邏輯

    較高的總分通常意味著較好的模型,但不是總是如此。

    何時選擇較低總分的模型

    如果關鍵維度有硬性要求:某些維度是非商量的。對於醫療代碼提取,幻覺率可能是拒絕標準——任何在幻覺上得分低於 2.0 的模型都不符合條件,不管它在其他地方的分數如何。

    如果分數差異在統計噪音範圍內:如果模型 A 得 2.24 分,模型 B 得 2.28 分,差異可能不顯著——特別是如果評估集很小(少於 200 個示例)。在這種情況下,次要因素(推理速度、模型大小、您在模型上的信心)可能打破平局。

    如果分數分佈不同:模型 A 可能平均得分 2.24,但有些輸出得 1.0,有些得 3.0。模型 B 可能更一致地得 2.28。一致的模型在生產中通常更容易與之共事——無論平均值如何,高方差的輸出是不可預測的。

    最終決策清單

    在選擇模型之前:

    • 評估集是否覆蓋所有四個類別(常見、邊緣、容易出錯、對抗性)?
    • 評分是否盲目完成(評分人不知道哪個模型生成了哪個輸出)?
    • 硬性要求維度是否通過?
    • 分數差異是否顯著(不只是測量噪音)?
    • 速度/大小約束是否被考慮了?
    • 失敗案例是否被理解(為什麼每個模型在它失敗的地方失敗)?

    自動化評估

    手動評分可擴展性不強。對於大型評估集(1000 個以上示例)或持續評估管道,考慮自動化:

    基於規則的評分:對於格式合規性和結構化輸出,基於規則的評分是可靠的。解析 JSON 輸出並驗證它是否具有正確的字段是確定性的。

    基於 LLM 的評分:使用更大的 LLM 評估生成的輸出。為每個維度提供明確的評分標準並請求數字分數。可靠,但並不完美——校準 LLM 評分員對已知質量的示例是驗證其可靠性的好方法。

    人工循環評估:自動化初始評分,對自動評分低於閾值的案例進行人工審查。結合了效率和可靠性。


    記錄您的決定

    記錄哪個模型被選擇以及為什麼。這對以後很重要:

    • 如果選定的模型生產中出現問題,您想了解您在選擇時知道了什麼
    • 如果您稍後重新訓練,您想知道先前版本在哪些方面更弱
    • 如果客戶詢問,您想能夠解釋選擇標準

    保留評估集、原始分數和加權計算——不僅僅是結論。


    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.

    延伸閱讀

    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