📊

AIモデル評価入門 — 自分のモデルが良いかどうやって分かる?

正解率、BLEU、CER、SDR — タスクごとに異なる評価指標と「なぜこれを使うのか」

なぜ評価が必要か

trainer.train()が終わった。でも自分のモデルが本当に良いかどうやって分かる?「動かしてみたら良さそう」は評価ではない。数字で測定する必要がある。

核心概念:正解付きテストデータ

訓練データ:モデルが学習に使う(勉強資料)
テストデータ:モデルを評価に使う(試験問題)

タスク別指標

タスク 指標 方向 コード
分類 Accuracy, F1 高い↑ load("accuracy")
翻訳 BLEU 高い↑ load("bleu")
OCR CER, WER 低い↓ load("cer")
音源分離 SDR 高い↑ mir_eval

全部pip install evaluateload("指標名")で使用可能。

キーコンセプト

1

pip install evaluate — HuggingFace評価ライブラリインストール

2

metric = load("accuracy") — タスクに合う指標ロード

3

metric.compute(predictions, references) — 予測と正解比較→数字1つ

4

Trainerにcompute_metrics追加 — 訓練中毎エポック自動評価

ユースケース

ファインチューニング品質確認 — エポックごとに正解率/CER/BLEUを追跡して過学習防止 モデル比較 — 同じテストデータで複数モデルのスコアを比較 デプロイ判断 — 「CER 3%以下ならプロダクション投入」のような基準設定