https://yng87.page/blog/feed.xml

なぜ機械学習システムの評価をするのか/評価駆動開発について

2025-05-02

はじめに

ここ最近フォローしている人々が機械学習、特に LLM を使ったシステム開発における評価について話しているのでまとめておきたいと思う。主に参考にしたのは以下の記事やブログ:

ここで「評価」という言葉で指すのはオフラインにおける自動化された評価であって、人間の専門家によるアノテーションや、オンライン A/B テストのような実行コストが高いもののことではないということをはじめに断っておく。

なぜ評価が必要か

上に挙げた記事はどれも皆、自動評価は機械学習を使ったアプリケーションを開発する際のイテレーションを高速化するための手段だと言っている。あらかじめ開発フローに評価を組み込んでおき、評価値の良し悪しを見て試行錯誤を繰り返して高速にシステムを改善していくわけである。このやり方を最近は評価駆動開発と呼んだりもしている。

評価駆動開発は言葉としては新しいものの、実務で機械学習を使ったサービス開発に携わってきた人にとっては身近な考え方だと思う。例えば、推薦システムや検索システムでは出力例を人間がいくつか見たところで1 良し悪しを判断するのは難しいので、何らかのオフライン評価指標を設定してそれを最適化するように試行錯誤したのち、AB テストなどでユーザーからのフィードバックを得るのが一般的である。

また、個人的には自動評価はシステムのメンテナンス性のためにも重要だと思っている。担当者が離れた後で、なんのオフライン評価もされていない機械学習システムが残っていると、そこで使われているモデルを変更するコストが跳ね上がる。特に LLM を使っている場合は発展のスピードが速いので、変更容易性を担保するのはより重要である。

評価は何ではないか

最近は LLM-as-judge という手法も広まっており、これまでは難しかった観点に関してもある程度評価値を算出することができるようになっている。しかし、現在の LLM の性能で人間の介入を排した完全な自動評価を実現できると考えている人は少ないように見える。

またシステムによる自動評価はあくまで相対評価として役立つものであって、システムの性能の絶対的なレベルを測定するものだと捉えることは少ないように思う。この点については Andrew Ngが以下のように述べている

To me, a successful eval meets the following criteria. Say, we currently have system A, and we might tweak it to get a system B:

  • If A works significantly better than B according to a skilled human judge, the eval should give A a significantly higher score than B.
  • If A and B have similar performance, their eval scores should be similar.

オフライン評価はあくまで開発高速化のための安価な proxy なので、真の良し悪しとの大雑把な順序相関があれば十分ということである。2

この辺の評価に対する態度は分野によっても異なっていて、特にバイアスのないデータセットを集めるのが難しい推薦や検索のような分野では、モデルの学習が期待通り進んだかどうかというヘルスチェック程度にしか扱われないこともある。3

評価をどのように開発サイクルに組み込むか

冒頭の記事では、評価の構築それ自体も iterative な process であり、人手による評価を時々挟むことで、自動評価と人手の評価の相関をより良くするように継続的に改善していくことが必要だと述べられている。本当のゴールはユーザーにとって良いものを作ることであり、自動評価はあくまでそのためのツールなので、真のゴールを達成できるように指標やデータセットを調整していくということである。この点は実務と機械学習コンペの大きな違いだと思う。

また、システムの failure mode を把握することも重要である。無闇にトップダウンで指標を設定するのではなく、実際のシステムの挙動やユーザーからのフィードバックなどのデータを見て失敗箇所を把握し、それを定量化するために評価を導入するのが良い。特定の課題を念頭に置かずシステムを包括的に評価してくれるような銀の弾丸はない。

最後に

AI Engineering は評価駆動開発をかなり推しているが、その一方で、評価しやすい指標にばかり目を向けると真に革新的なアイデアを見落とすという、街頭効果に警鐘を鳴らしてもいる。ゲームチェンジャーとなるようなアイディアは容易に評価できないかもしれないので、評価一辺倒になりすぎないようにもすべきである。


1

最近はこういうやり方を vibe check と呼ぶらしい。

2

同様の議論は評価指標入門という本にも載っている。

3

評価指標入門で取り上げられている Booking.com の事例。