本文へスキップ

推論(Inference)

この記事は6で読めます

ざっくり言うと

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

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

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

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

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

イメージ

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

正確には

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

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

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

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

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

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

推論とサービング

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

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

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

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

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

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

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

オンライン学習との違い

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

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

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

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

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

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

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

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

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

使う場面

身近な例

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

注意点

関連用語

やってみよう

よくある質問

Q. 推論(Inference)とは何ですか?
A. 学習を終えたAIに新しい入力を渡して、答えを受け取る工程です。人が筋道を立てて考えるという意味ではなく、翻訳や画像の仕分けなど、学習済みのモデルで結果を出す処理が広く含まれます。
Q. 学習と推論は何が違いますか?
A. 学習はデータからパターンを学んでモデルの中の数値を調整する工程、推論はその調整済みの数値を使って答えを計算する工程です。レシピを固める作業と、注文ごとに1皿作る作業の違いだと考えてください。
Q. 推論と推論モデルは同じ意味ですか?
A. 違います。推論は学習済みのモデルから答えを得る工程の名前、推論モデルは答える前に内部で考えるステップを挟むモデルの種類の名前です。推論モデルが返事を書くときも、行われているのは推論です。
Q. 推論という言葉が料金の話でよく出てくるのはなぜですか?
A. 推論は使うたびに発生するからです。1回あたりの計算は学習の全体に比べれば少なくても、使う人が増え、入力と出力が長くなり、同時に動く数が多くなるほど、計算量の合計は上がっていきます。

公開: 更新: ✓ 公式情報と照合:

参考ソース

判断クイズ

「推論が重いので遅い」と言われて、どこを疑いますか?

3問です。答えるとその場で解説が出ます。全問終えたら、「回答を記録する」で学習の記録に残せます。

1. 顔認証で自分の顔を登録しました。同僚に「これでAIが学習し直したの?」と聞かれました
2. チャットの返事が遅いと報告が来ました。「モデルが重いので軽いモデルへ変えよう」という案が出ました
3. 提案書に「推論モデルを使うので、推論の工程は不要です」と書かれていました

全問に答えると、回答を記録できます。

残るのは「答えたかどうか」だけで、正解数は保存されません。この端末の中だけに残り、別の端末には引き継がれません。

この教科書は無料で全文公開しています。仕事で使えるところまで進みたい方は、実習と資料がそろった生徒プランをどうぞ。

生徒プランを見る(14日間無料)

あわせて読みたい