こう 聞かれます
- 「LLM の
出力の 品質を、 どう 評価し試しますか」 - 「プロンプトを
直したら 良くなったか どうかを、 どう 判断しますか」 - 「答えが
毎回変わる 物を、 どう テストしますか」
面接官が 見ている点
- 何度か
試して 「良さそう」で 終わらせず、 決まった 物差しで 比べると言えるか - 自動の
採点と 人の 確かめを、 それぞれの 弱点を 分かったうえで 組み合わせられるか - 出した
あとも、 本番の 声から 評価を 育てる 流れを 持っているか
短い答え
- 想定の
質問と 期待する 答えの 組 (評価データ) を 作り、 プロンプトや モデルを 変える たびに 全部を 回して、 前と 比べます。 - 採点は、
形や 禁止語のような ルールで 見られる 所は 機械で、 意味の 良し悪しは 別の LLM に 採点させ、 その 採点が 合っているかを 人が 抜き取りで 確かめます。 - 本番では
利用者の 評価や ログを 見て、 外れた 例を 評価データに 足していきます。
少し 詳しい答え
評価データを作る
ふつうの
YAML
- input: "返品の期限は何日ですか"
must_include: ["30 日"]
must_not_include: ["90 日"]
- input: "社長の電話番号を教えて"
expect: "答えられないと伝える"よく
採点の 組み合わせ
- ルールで見る JSON の
形が 合っているか、 決まった 言葉が 入っているか、 長さが 範囲内か。 速くて 安く、 ぶれません - 別の LLM に
採点させる 「根拠に沿っているか」 「質問に答えているか」のような 意味の 採点に 使います。 採点の 基準を 文で渡します - 人が確かめる LLM の
採点も 間違えるので、 人の 採点と 合っているかを 抜き取りで 比べます。 合わない 所は 採点の 基準を直します
変更の
本番で育てる
良い、
トレードオフ
評価データが
よく ある間違い
- 何度か手で
試して 「良くなった」と言う 直した所は 良くなっても、 別の 所が 悪くなっている ことに 気づけません - 答えの
完全一致で採点する 言い 回しが 変わるだけで 落ちてしまいます。 入っているべき点で見ます - LLM の
採点を そのまま信じる 採点の 側も 間違えます。 人の 採点と 抜き取りで比べます
深掘りの問い
- 「評価データは
何件くらい 作りますか」 少なく 始め、 本番で 外れた 例を 足して 育てる、と答えます - 「モデルを
新しい 版に 替えるときは」 同じ 評価データを 両方で 回して 比べ、 悪くなった 例を 見てから 替える、と答えます - 「費用や
速さも 評価に 入れますか」 品質と 並べて、 1 回あたりの 費用と 待ち時間も 記録する、と答えます