第6章 自動テスト 自動テスト:MLモデルのテスト
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
前の章では、MLソリューションに自動テストを導入しないことの代償と、品質、フロー、認知的負荷、満足度といった点で、テストがチームにもたらす利点について見てきた。我々は、包括的なテスト戦略の構成要素を概説し、テストの最初のカテゴリーであるソフトウェアテストの詳細に飛び込んだ。
この章では、次のテストカテゴリーを探求する:MLモデルテスト(略してモデルテスト)だ。大規模言語モデル(LLM)は一世を風靡したので、LLMとLLMアプリケーションをテストするテクニックも取り上げる。
さらに、可視化とエラー分析、データ収集ループの閉鎖、オープン・クローズドなテスト設計など、MLモデルテストを補完するプラクティスについても探求する。また、MLシステムにこれらのテストを実装するのに役立つ具体的な次のステップで締めくくる前に、データテストについても簡単に説明する。
この章では、スケールの大きなオフライン・テストに焦点を当て、オンライン・テストのテクニック(A/Bテスト、バンディット、インターリーブ実験など)については、Chip Huyenの名著『Designing Machine Learning Systems』(O'Reilly)で十分にカバーされているので、ここでは取り上げない。
モデルテスト
ML実務者は、手動のモデル評価手順を知らないわけではなく、そのようなテストの手 探り的な性質は、モデル開発の初期段階では有用であるが、この手動の作業は、過度に時間がかかり、退屈になりやすい。モデルが「十分良い」か「以前より良い」かを判断する尺度とヒューリスティックを特定するにつれて、モデルテストを使用して、これらの手作業によるヒューリスティックとチェックを自動化することができる。そうすることで、時間とエネルギーを他のもっと興味深い問題を解決するために使うことができる。
この章では、トレーニングしたモデル(この章でテストする対象)をテストする理由、内容、方法について詳しく説明する。本章でテストする対象である:
-
MLモデルの自動テストが必要な理由
-
MLモデルのテストの課題
-
適応度関数の概念は、これらの課題を克服する上でどのように役立つのだろうか?
-
一般的な2種類のモデルテストの実装方法:メトリックテストと振る舞いテスト
-
LLMとLLM申請書のテスト方法
それじゃあ、飛び込もうか!
モデルテストの必要性
、MLのデリバリーサイクルを靴の箱を生産する工場に見立ててみよう。データサイエンティストは、靴を作成し、靴の品質をテストする。通常は、部分的に自動化され、アドホックに行われる。後者のグループ(MLエンジニア)は、自動化によって生産ラインのスピードを上げようとするが、前者(データサイエンティスト)は、モデルの品質チェックが手作業である限り、知らず知らずのうちにボトルネックになってしまう。
時間が経つにつれて、新しくさまざまな製品要件に対応し、さまざまなテクニックを実験しようとすると、MLOpsパイプラインで作成された新しいシューズ(モデル)を含むすべての箱の品質テストを行うために、生産ラインを減速させるか、生産スピードに追いつくために各箱の中身の品質チェックを見送らなければならなくなる。
特に "デリバリプレッシャー "にさらされているとき、チームが品質よりもスピードを選ぶのはよくあることだ。すべてのボックス(例えば、すべてのコードコミット)をチェックする代わりに、10〜15のボックス(例えば、すべてのプルリクエスト)をチェックするようになる。チームは、プルリクエストの完全な品質チェックやリグレッションテストをスキップして、ボックス内の製品の側面を散発的にチェックするだけになることさえある。当然の帰結として、不具合を発見するのが遅すぎ、不具合が導入された何箱も後になり、生産ラインを止めて多くの疑わしい箱を検査し、不具合の根本原因を突き止めて解決しなければならなくなることがある。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access