コンテンツにスキップ

【比較】学習(training)と推論(inference)の違い

概要

機械学習モデルのライフサイクルは、大きく「学習(training)」と「推論(inference)」の 2 フェーズに分かれます。学習はデータからパターンを学んでモデルのパラメータ(重み)を更新する工程、推論は学習済みの固定パラメータで未知の入力に答えを出す工程です。

両者を混同すると、「推論しているのにモデルが賢くならない(学習していないのだから当然)」「本番のレイテンシ要件を学習用 GPU 構成で見積もってしまう」「ファインチューニングと RAG の役割を取り違える」といった事故につながります。コスト構造・必要なハードウェア・データの扱いがフェーズごとに根本から異なるため、最初に切り分けて理解しておく価値が高いテーマです。

例えるなら:教科書で勉強する人と試験を受ける人

  • 学習 … 問題集を解いて答え合わせをし、間違えた箇所をもとに解き方(頭の中の知識=パラメータ)を更新していく勉強期間。
  • 推論 … 試験本番。新しい問題に、勉強して固まった知識だけで答える。試験中に教科書の内容そのものを書き換えることはしない。

詳細比較

比較軸 学習(training) 推論(inference)
目的 データからパターンを学びパラメータを最適化する 学習済みモデルで未知入力に予測を出す
パラメータ(重み) 反復のたびに更新される 固定(更新しない)
計算の流れ 順伝播(forward)+逆伝播(backpropagation)の往復 順伝播(forward)のみ
勾配計算 損失の重みに対する勾配を逆伝播で計算し勾配降下で更新 勾配計算なし
必要データ 大量の学習データ(教師あり時はラベル付き) その都度の入力 1 件(バッチもあり)。正解ラベル不要
計算資源・コスト 一括・高コスト・長時間。多数の GPU/TPU を要することが多い 1 回は軽量だが、リクエスト数に比例して累積。低レイテンシ要件が中心
評価指標 損失・過学習(汎化性能)を見ながら反復 スループット・レイテンシ・推論精度
実行頻度 基本は事前に少数回(再学習・追加学習を除く) 本番で繰り返し継続的に発生

よくある誤解

  • 誤解1:「推論を続ければモデルが賢くなる」 — なりません。推論は固定パラメータでの順伝播だけで、重みは一切更新されません。賢くするには再学習や追加学習(ファインチューニング)という別の学習工程が必要です。LLM の「コンテキスト内学習(in-context learning)」は推論時の挙動でパラメータは変わらないため、用語上の「学習」とは別物です。
  • 誤解2:「推論時にも逆伝播(バックプロパゲーション)が走って、対話するほど少しずつ賢くなっている」 — 走りません。推論は順伝播のみで、逆伝播も勾配計算も重み更新も一切起きません。学習済みの重みは固定で、モデルが“学ぶ”のは学習フェーズだけです。会話の文脈で賢く見えるのは in-context learning(その場の入力を手掛かりにした挙動で、重み更新を伴わない)であり、逆伝播による学習とは別物です。
  • 誤解3:「学習で使った重い GPU 構成がそのまま本番の推論基盤になる」 — コスト構造が違います。学習は一括・大規模・長時間で高コスト、推論は 1 回あたりは軽量でもリクエスト数に比例して費用が累積し、レイテンシ要件が支配的。実運用ではトータルの推論コストが学習コストを上回ることも珍しくなく、量子化・蒸留・バッチ化など別の最適化軸になります。

実務での選び分け

  • モデルの振る舞いそのものを変えたい(新しい知識・ドメイン適応・口調) → 学習フェーズの問題。再学習/ファインチューニングを検討。
  • 既存知識で外部情報を参照させたいだけ → 学習不要。推論時に RAG で文脈を渡す方が安く速いことが多い。
  • コスト見積もり → 「事前に何回学習するか × 学習単価」と「本番リクエスト数 × 推論単価」を分けて積む。両者を混ぜると見積もりが破綻する。
  • ハードウェア選定 → 学習はスループット・大容量メモリ・分散構成重視、推論はレイテンシ・コスト効率・スケールアウト重視。同じ基盤を流用できる前提を置かない。
  • 精度が出ない問題の切り分け → 学習データ・損失・過学習を疑うべきか、推論時の入力(プロンプト/前処理)を疑うべきかを最初に分ける。

ひとことまとめ

学習は「順伝播+逆伝播でパラメータを更新する事前の重い工程」、推論は「固定パラメータで順伝播だけして答えを出す本番の繰り返し工程」。重みが変わるか変わらないかが両者を分ける決定的な境界です。

出典・参考

  • Google Machine Learning Glossary(training / inference / loss / gradient descent / epoch / parameter・hyperparameter / overfitting の定義): https://developers.google.com/machine-learning/glossary
  • Wikipedia「Backpropagation」(逆伝播は損失の重みに対する勾配を計算する学習時アルゴリズム、推論は順伝播のみ): https://en.wikipedia.org/wiki/Backpropagation
  • IBM「What is Backpropagation?」(forward pass と訓練時のみ重み更新、推論は予測のみ): https://www.ibm.com/think/topics/backpropagation