ざっくり言うと

推論(Inference)とは、学習を終えたAIに新しい入力を渡して、答えを受け取る工程のことです。

ChatGPTに質問を打ち込むと、少し待って返事が出てきますよね。あの待ち時間のあいだに、モデルの推論が行われています。

AIの世界では、作業を大きく2つに分けて考えます。モデルの中身を作り込むのが学習、できあがったモデルを使うのが推論です。

ここでいう推論は、人が筋道を立てて考える場面だけを指す言葉ではありません。翻訳、画像の仕分け、音声の文字起こし、文章の生成。学習済みのモデルに新しい入力を当てはめて結果を出す処理は、どれも広く推論に含まれます。

ただし、決まった規則どおりに動いているだけの機能まで、すべてAI推論と呼ぶわけではありません。件名に特定の言葉が入っていたら指定のフォルダへ移す、といった仕分けなら、モデルを使わないふつうのプログラムでもできます。

イメージ

かかる時間や設備は、モデルと使い道によって大きく変わります。「学習は必ず何か月、推論は必ず数秒」と決まっているわけではありません。

正確には

Google Cloud、NVIDIA、IBMはいずれも、推論を次のように説明しています。訓練済みのモデルを新しいデータに適用して、予測・分類・生成などの結果を得る処理である、というものです。

会社は違っても、説明はほぼ重なります。

学習と推論は、どこが違う?

観点学習(Training)推論(Inference)
何のためにデータからパターンを学び、パラメータを調整する学習済みのパラメータを使って出力を計算する
何を入れる訓練データ、評価データなど使うときの新しいデータや、打ち込んだ指示文
パラメータ更新するふつう、そのやりとりの中では更新しない
いつ行う開発のときのほか、あとから学習し直すときにも行う評価のときや、サービスを使うたびに行う
どこで行うデータセンターや開発用の環境などクラウド、サーバー、パソコン、スマートフォンなど

まぎらわしいのが、スマートフォンの顔認証で顔を登録する操作です。あれは多くの場合、利用者の顔の特徴をテンプレートとして保存する登録処理にあたります。

土台になっている認識モデルそのものを、その場で学習し直しているとは限りません。登録とモデルの学習は、分けて考えてください。

推論とサービング

Google Cloudは、推論とサービングも分けています。

  • 推論
    モデルが入力から出力を計算すること
  • サービング
    モデルを使える状態に置き、リクエストの受付、振り分け、処理量に合わせた増減、監視などを行う仕組み

チャットの画面では1回の返事に見えても、裏側では通信、順番待ち、推論、結果の送り返しが組み合わさっています。返事が遅いときの原因が、いつもモデルの計算だとは限らないわけですね。

「推論モデル」とは別の言葉です

名前が似ていて混ざりやすいのが、推論モデル(Reasoning Model)です。この2つは、指しているものの種類が違います。

  • 推論(Inference)は、学習済みのモデルから答えを得る工程の名前です
  • 推論モデルは、答える前に内部で考えるステップを挟むモデルの種類の名前です

推論モデルが返事を書くときも、そこで行われているのは推論です。工程の名前か、モデルの種類の名前か。ここで分けておくと、製品紹介やニュースを読むときに迷いません。

オンライン学習との違い

使いながらモデルを更新し続ける仕組みは、オンライン学習などと呼ばれます。

そうしたシステムでも、その時点のパラメータから出力を計算する推論と、データを使ってパラメータを更新する学習は、別の処理です。

料金や待ち時間の話で、推論がよく出てくる理由

1回の推論に必要な計算は、大規模な学習の全体に比べれば少ないのがふつうです。ただし推論は、使うたびに発生します。

利用する人が増え、入力と出力が長くなり、同時に動く数が多くなるほど、計算量の合計も運用費も上がっていきます。1皿ずつの手間は小さくても、注文が朝から続けば1日分では大きな作業量になる、というのと同じです。

速さと計算量を左右するもの

同じ推論でも、次のようなもので速さと計算量が変わります。

  • モデルの構造と規模
  • 入力と出力の長さ
  • まとめ処理(バッチ)や、同時に使っている数
  • 使っているGPUや、専用の計算装置(アクセラレーター)
  • 量子化やキャッシュなどの最適化
  • 通信、順番待ち、外部ツールの利用

ですから、「推論はいつも軽い」「手元の機械で動かせば必ず速い」とは言えません。速さを比べるときは、使い道と動かす場所をそろえて測る必要があります。

使う場面

身近な例

どれも、意識せずに使っている機能ばかりです。言葉を知らないうちから、私たちはもう推論のお世話になっているわけですね。

注意点

関連用語

やってみよう