役立つメンタルモデル
モデルは、デジタルな脳や答えのデータベースではなく、調整可能な変換処理だと考えてください。
モデルには、情報がどのように流れるかを決める構造があります。また、入力の各部分が出力にどの程度強く影響するかを決める、学習済みの値もあります。構造と学習済みの値が組み合わさって、その変換処理を定義します。
気象モデルに測定値を与えると、雨の確率が出力されるかもしれません。画像分類器に画素を与えると、複数のラベルに対するスコアが出力されるかもしれません。言語モデルにテキストを与えると、次に続き得るテキストの確率が出力されるかもしれません。入力と出力は異なっても、モデルの役割は同じです。
モデルは必ずしもニューラルネットワークである必要はありません。線形モデル、決定木、確率モデルなど、ほかの手法もAIシステム内のモデルになり得ます。ニューラルネットワークは、特に柔軟なモデルの系統の一つです。
AIモデルはどのように作られ、使われるのか
機械学習モデルの場合、アイデアから出力に至るまでには、学習と推論という二つの主要な段階があります。
学習では、開発者がモデルの構造と目標を選びます。モデルは例を処理し、その出力を目標と比較され、学習手順によって、誤差を減らしたり報酬を高めたりするよう学習可能な値が調整されます。この処理を繰り返すことで、学習済みモデル、つまり特定の構造と特定の学習済み状態を持つモデルが作られます。
次に、そのモデルを、適合に使われていないデータや状況で評価します。これは、単に学習例と一致したのではなく、役立つパターンを学習したかどうかを検証するものです。一つの評価に合格しても、あらゆる集団、環境、用途で機能することの証明にはなりません。
推論では、学習済みモデルが新しい入力を受け取り、学習処理全体を繰り返すことなく出力を計算します。デプロイされたサービスは、モデルの学習済みの値を変えずに、何百万回も推論を実行できます。モデルが後のインタラクションから学習するのは、別のプロセスがフィードバックを収集し、モデルを更新または再学習する場合に限られます。
「モデル」という言葉は、この過程にある異なる成果物を指すことがあります。
- 学習前には、提案された構造を意味する場合があります。
- 学習後には通常、構造とデータから学習した値の組み合わせを意味します。
- フレームワーク内では、適合済みオブジェクトや、学習済み状態を含むファイルを意味する場合があります。
- プロダクトカタログでは、名称の付いたモデルファミリー、特定のバージョン、そのバージョンを実行するエンドポイントを意味する場合があります。
これらの用法は重なりますが、同一ではありません。精密さが重要な場合は、その主張がモデルの設計、学習済み状態、ファイル、周辺のサービスのどれについて述べているのかを確認してください。
具体例
迷惑メールの可能性を判定する、意図的に単純化したモデルを考えてみましょう。周辺のソフトウェアは、各メールを次の二つの入力に変換します。
- リンクの数
- 短い「緊急」を示す単語リストに含まれる単語の数
学習によって、次のスコアが得られたとします。
迷惑メールスコア = 1.4 × リンク数 + 0.9 × 緊急単語数 − 1.2
リンクが2個あり、緊急単語が1個あるメールの場合:
1.4 × 2 + 0.9 × 1 − 1.2 = 2.5
リンクがなく、緊急単語もないメールの場合:
1.4 × 0 + 0.9 × 0 − 1.2 = −1.2
プロダクトが正のスコアを迷惑メールとみなすなら、最初のメールにはフラグを付け、二つ目のメールは許可します。
モデルとは、スコアを生成する変換処理、つまりその数式と学習済みの数値です。メールを読み取り、特徴量を数え、判定のしきい値を選び、メッセージを迷惑メールフォルダに移し、ユーザーが誤りを訂正できるようにするコードは、より広いシステムを構成します。
この玩具モデルは簡単に調べられます。現代のニューラルネットワークには多数の層と学習済みの値が含まれることがあり、生成モデルは一つの固定ラベルを返すのではなく、複数の候補出力から選ぶことがあります。それでも本質的な役割は、モデルが捉えたパターンに従って、適切な入力を出力に変換することです。
モデルはAIシステム全体ではない
この違いは、パイプラインとして見ると最も分かりやすくなります。
raw input
↓
input preparation
↓
AI model: structure + learned state
↓
raw model output
↓
rules, tools, storage, and presentation
↓
system result or actionたとえばチャットボットは、言語モデルの周囲に、指示、会話履歴、取得した文書、安全性チェック、ツール、インターフェースを追加することがあります。これらの層のいずれかを変えるだけで、モデル自体が同じでもユーザー体験は変わります。より大きなシステムでは、一つのリクエストを複数のモデルに振り分けることもあります。
境界が常に同じ形でパッケージ化されているとは限りません。分類のしきい値が一つのモデルに組み込まれる場合もあれば、別のシステムでは周辺コードによって適用される場合もあります。実務上のテストは、中心的な学習済みの入力から出力への変換を実行するコンポーネントを特定し、次に、その出力を準備、制約、解釈、または処理するものを特定することです。
この区別が重要な理由
この区別により、あらゆる成功や失敗を誤ったコンポーネントのせいにすることを防げます。悪い結果はモデルに起因するかもしれませんが、文脈の不足、不適切な入力準備、不適切なしきい値、ツールの失敗、推論後に適用されたルールが原因である可能性もあります。
また、モデルに関する主張も評価しやすくなります。モデルは、タスク、受け取る入力の種類、出力の使われ方、誤りのコストとの関係でのみ有用です。そのためモデルのドキュメントには、想定用途、評価条件、既知の制限、テストされていない用途を記載すべきです。一つの精度の数値やプロダクトのデモだけでは、これらすべての問いに答えられません。
最後に、この区別によって、自分がどのようなアクセス権を持つのかも明確になります。学習済み重みをダウンロードすること、API経由でホスト型モデルを呼び出すこと、完成したAIアプリケーションを使うことでは、制御できる範囲が異なります。同じモデルファミリーに関わる場合があっても、それらは同じものではありません。
よくある誤解
「モデルには学習データが含まれている」
学習済みモデルには通常、例を一行ずつ検索できるコピーではなく、学習済みの数値状態が含まれています。その状態は、出力の生成に役立つパターンを捉えています。ただし、状況によってはモデルが学習データの一部を再現したり明らかにしたりすることがあります。そのため、「データベースではない」ことは「記憶できない」ことを意味しません。
「モデルは使うたびに学習する」
推論では通常、固定された学習済みの値を使います。プロダクトが会話を保存したり、後のリクエストをパーソナライズしたり、将来の学習にフィードバックを使ったりすることはありますが、これらは別のシステムの挙動です。会話中にデプロイ済みモデル自体が更新されたことを示すものではありません。
「AIモデルはアルゴリズムと同じものだ」
アルゴリズムは手順です。学習アルゴリズムはモデルを調整し、推論アルゴリズムはモデルを実行します。日常会話ではこれらの用語が重なることもありますが、手順と学習結果を区別すると、同じ学習方法から異なるデータによって異なるモデルが作られる理由を説明できます。
「すべてのAIモデルは言語モデルだ」
大規模言語モデル(LLM)は、AIモデルの一種です。ほかにも、画像を分類するモデル、数量を予測するモデル、検索結果を順位付けするモデル、異常を検出するモデル、アイテムを推薦するモデル、機械を制御するモデルなど、入力から出力へのさまざまなタスクを実行するモデルがあります。
「より優れたモデルなら、より優れたプロダクトが保証される」
より強力なモデルは、システムの基礎的な能力を向上させる可能性があります。しかし、プロダクトの品質は、データ、指示、ツール、安全対策、レイテンシ、インターフェース設計、そしてモデルが実際のタスクに適合しているかどうかにも左右されます。モデルは中心的な存在ですが、それだけで成り立つものではありません。
AIモデルがより広いシステムに組み込まれる仕組み
AIプロジェクトは、タスクと、有用な振る舞いを評価する方法から始まります。学習によってモデルが生成または適応されます。評価では、選択した条件下でのモデルの振る舞いを確認します。デプロイでは、モデルを実行するために必要な計算資源と周辺ソフトウェアを提供します。その後、モニタリングによって、失敗、変化する入力、モデルまたはシステムを更新する理由を確認します。
このライフサイクルがあるため、「これはどのモデルを使っていますか?」という問いは、有用な質問の出発点にすぎません。どのバージョンが稼働しているのか、どのような入力を受け取るのか、その出力がどのように処理されるのか、何について評価されたのか、最終的な判断を人間や別のプログラムのどこで行うのかも知る必要があるでしょう。
次に読むもの
学習済みモデルの状態を作り出すプロセスについてはAIにおける学習とは?を読み、次に、学習済みモデルが新しい入力を処理するときに起こることについてはAIにおける推論とは?を読んでください。多くのテキスト・チャット製品の基盤となるモデルファミリーについては、LLMとは?で説明しています。