📊
AIモデル評価入門 — 自分のモデルが良いかどうやって分かる?
正解率、BLEU、CER、SDR — タスクごとに異なる評価指標と「なぜこれを使うのか」
なぜ評価が必要か
trainer.train()が終わった。でも自分のモデルが本当に良いかどうやって分かる?「動かしてみたら良さそう」は評価ではない。数字で測定する必要がある。
核心概念:正解付きテストデータ
訓練データ:モデルが学習に使う(勉強資料)
テストデータ:モデルを評価に使う(試験問題)
タスク別指標
| タスク | 指標 | 方向 | コード |
|---|---|---|---|
| 分類 | Accuracy, F1 | 高い↑ | load("accuracy") |
| 翻訳 | BLEU | 高い↑ | load("bleu") |
| OCR | CER, WER | 低い↓ | load("cer") |
| 音源分離 | SDR | 高い↑ | mir_eval |
全部pip install evaluate→load("指標名")で使用可能。
キーコンセプト
1
pip install evaluate — HuggingFace評価ライブラリインストール
2
metric = load("accuracy") — タスクに合う指標ロード
3
metric.compute(predictions, references) — 予測と正解比較→数字1つ
4
Trainerにcompute_metrics追加 — 訓練中毎エポック自動評価
ユースケース
ファインチューニング品質確認 — エポックごとに正解率/CER/BLEUを追跡して過学習防止
モデル比較 — 同じテストデータで複数モデルのスコアを比較
デプロイ判断 — 「CER 3%以下ならプロダクション投入」のような基準設定