Chuyển đến nội dung chính

レッスン 13: 評価パイプライン — 「Pro」のような微調整されたモデルをテストする

完全な評価パイプラインを構築します: ゴールデン テスト セット設計、自動ベンチマーク、回帰テスト、CI/CD、A/B テスト、致命的な忘れの検出、レッド チーム化。

🧠 AI と ML — レッスン 12 レッスン 13: 評価パイプライン — テスト 「Pro」のようなファインチューンモデル

LLM の微調整: AI チューニングの技術

パート 5: モデルの評価 — メソッドとメトリクス

xdev.asia

はじめに

評価は「1 回限りの実行」ではなく、継続的なパイプラインです。この記事では、エンドツーエンドの評価システムを構築します。


1. 多層評価

Layer 1: Automated Metrics (ROUGE, BERTScore)
  → Chạy mỗi training iteration
  → Fast, reproducible

Layer 2: LLM-as-Judge
  → Chạy mỗi version release candidate
  → Quality, relevance, format

Layer 3: Golden Test Set
  → 50+ curated test cases
  → Domain-specific validation

Layer 4: Catastrophic Forgetting Check
  → Test model vẫn giỏi tasks chung
  → Không "quên" kiến thức cũ

Layer 5: Red Teaming
  → Adversarial testing
  → Safety, edge cases, prompt injection

2. 壊滅的な物忘れの検出

GENERAL_KNOWLEDGE_TESTS = [
    {"q": "Thủ đô Việt Nam là gì?", "a": "Hà Nội"},
    {"q": "1 + 1 = ?", "a": "2"},
    {"q": "Ai viết Romeo and Juliet?", "a": "Shakespeare"},
]

def check_forgetting(model, threshold=0.8):
    correct = 0
    for test in GENERAL_KNOWLEDGE_TESTS:
        response = call_model(model, test["q"])
        if test["a"].lower() in response.lower():
            correct += 1
    score = correct / len(GENERAL_KNOWLEDGE_TESTS)
    if score < threshold:
        print(f"⚠️ CATASTROPHIC FORGETTING DETECTED: {score:.0%}")
    return score

3. モデル評価用の CI/CD

# .github/workflows/model-eval.yml
on:
  push:
    paths: ['training_data/**']
jobs:
  evaluate:
    runs-on: ubuntu-latest
    steps:
      - run: python eval/run_metrics.py
      - run: python eval/run_llm_judge.py
      - run: python eval/check_forgetting.py
      - run: python eval/generate_report.py

概要

  • 5層評価:メトリクス→LLMジャッジ→ゴールデンセット→忘却→レッドチーム
  • 壊滅的な忘却: モデルが一般知識を「忘れていない」ことを確認します。
  • CI/CD 評価: データ変更時に自動的に実行
  • レッド チーム: 運用前に敵対的な入力をテストします

演習

  1. モデルの 5 層評価パイプラインを構築する 2.壊滅的な忘却テストスイートを作成する(20以上の一般的な質問)
  2. レッド チーム シナリオを設計する (10 個以上の敵対的なプロンプト)
  3. 基本と微調整を比較した評価レポートを作成します。