本文へスキップ
スキルアップカレッジ

効率化と推論最適化——MoE・量子化・蒸留・KV キャッシュ・GPU / TPU

レッスン8:効率化と推論最適化——MoE量子化蒸留KV キャッシュGPU / TPU

このレッスンで学ぶこと

  • 効率化が必要な 3 つの理由(コスト・レイテンシ・環境負荷)を押さえる
  • MoE(Mixture of Experts)の分業アーキテクチャを、専門家のルーティングとして理解する
  • 量子化と蒸留を、モデル圧縮の 2 大アプローチとして区別できる
  • KV キャッシュの役割を、「文脈の下書きの繰り返し利用」として理解する
  • GPU と TPU の位置づけを押さえ、ハルシネーションを仕組み側から捉え直せる

前回のレッスン 7 では、事前学習Post-training で LLM に振る舞いを与える工程を扱いました。今回は、こうしてできあがった LLM を「実務で動かす」ための効率化と推論最適化の話に踏み込みます。3 層フレームで言えば計算資源層の話題です。MoE・量子化・蒸留・KV キャッシュ・GPU / TPU といった技術が、モデルの性能・コスト・レイテンシに直接効いてくる場面を見ていきます。本コースの最終レッスンでもあり、コース全体の中核メッセージを振り返り、修了後の学び方向を示します。

なぜ効率化が必要か——3 つの理由

事前学習と Post-training を終えた LLM は、そのままでは実務で使いにくいことが多くあります。効率化が必要な理由は、次の 3 つに整理できます。

  1. コスト:数百億〜数兆パラメータのモデルを 24 時間動かすには、大規模な GPU クラスタが必要で、電気代とハードウェア費用が膨大
  2. レイテンシ:ユーザーが 30 秒待たされるチャット体験は、実用にならない場面が多い
  3. 環境負荷:大規模学習と大規模推論の消費電力は、社会的な課題として無視できない規模になっている

効率化は「モデルの性能を保ったまま、コスト・レイテンシ・環境負荷を下げる」ための工夫の総体です。以下、代表的な 4 手法(MoE・量子化・蒸留・KV キャッシュ)を順に見ていきます。

MoE——Mixture of Experts の分業アーキテクチャ

MoE(Mixture of Experts、専門家の混合)は、モデルの内部を「多数の小さな専門家(expert)」に分け、入力に応じて「今回はこの専門家に処理させる」とルーティングする仕組みです。すべての専門家が常に動くわけではなく、各トークンごとに一部だけが使われます。

通常モデルと MoE の違い

通常の LLM は、入力の各トークンに対して、モデルのすべてのパラメータが使われます。パラメータが多いほど計算量が増えます。

MoE では、モデル全体としては巨大なパラメータを持ちますが、1 トークンあたりに実際に使われるパラメータは一部だけです。例えば「64 人の専門家のうち、各トークンで 2 人だけを選ぶ」といった設計です。全体のパラメータ数(総容量)は大きいけれど、1 トークンの推論に使う計算量(アクティブパラメータ)は小さい、という美味しい両立を狙います。

flowchart LR
  T[トークン入力] --> R[ルーター<br/>どの専門家に送るか判断]
  R -->|選ばれた 2 名| E1[専門家 1]
  R -->|選ばれた 2 名| E7[専門家 7]
  E1 --> S[結果を統合]
  E7 --> S
  S --> O[出力]

代表的な MoE モデル

MoE を実装した代表的なオープンウェイトモデルとして、Mistral AI が 2023 年 12 月に公開した Mixtral 8x7B が広く知られています。名前の通り「7B パラメータの専門家 8 人で構成される MoE」で、総パラメータは約 47B ですが、1 トークンあたりのアクティブパラメータは約 13B です。同規模の通常モデルより計算コストを抑えつつ、より大きな総容量の恩恵を受けられる設計として注目されました。

その後、Google の Gemini 系や、DeepSeek の V3 系など、多くのフラッグシップモデルで MoE が採用されるようになっています。

💡 ポイント MoE は「モデルサイズ vs 計算コストのトレードオフ」を緩和する設計です。総パラメータの巨大さで表現力を確保し、アクティブパラメータの小ささで推論効率を保つ——両取りを狙う構造だと押さえてください。

量子化——数値精度を下げてサイズを縮める

量子化(quantization)は、モデルの重みの数値精度を下げてサイズと計算量を縮める手法です。学習時は 32 ビットの浮動小数点数(float32)で表現される重みを、推論時には 8 ビット整数(int8)や 4 ビット整数(int4)に「丸めて」使います。

float32 → int8 → int4 のイメージ

比喩としては、「小数第 10 位まで書いた数値を、四捨五入して整数に丸める」ようなものです。精度は多少落ちますが、メモリ使用量は 4 分の 1 や 8 分の 1 になり、計算も高速化されます。多くのタスクで、量子化による精度低下は実用上気にならない範囲に収まります。

int8 と int4 の使い分け

  • int8 量子化:多くの場合、精度への影響がほとんどない安全な選択
  • int4 量子化:メモリ削減効果が大きいが、精度への影響が出やすい

量子化は、ローカル環境や個人 PC で LLM を動かす場面で特に威力を発揮します。ラップトップの GPU で 70B クラスのモデルを動かせるようになったのは、量子化技術の進歩によるところが大きくあります。

蒸留——大きな先生から小さな生徒へ

蒸留(distillation、モデル蒸留、Knowledge Distillation)は、「大きな高性能モデル(先生モデル)の振る舞いを、小さなモデル(生徒モデル)に学ばせる」手法です。2015 年に Google のジェフリー・ヒントンらが提案し、以降広く使われています。

蒸留の手順

  1. 大きな先生モデルを用意する(既存の高性能 LLM)
  2. 先生モデルにさまざまな入力を与え、出力(応答・確率分布)を集める
  3. その出力を「模範解答」として、小さな生徒モデルに教師あり学習させる

生徒モデルは、先生モデルの「教え方」を模倣することで、通常の学習よりも短時間で近い性能に到達できることがあります。実務では、大規模モデルを小型のスマートフォン向けモデルに縮小するときなどに使われます。

量子化と蒸留の使い分け

量子化と蒸留は、どちらもモデル軽量化の手法ですが、アプローチが違います。

  • 量子化:モデルの構造は変えず、重みの表現精度を下げる(同じモデルの縮小版を作る)
  • 蒸留:モデルの構造ごと小さく作り直し、大きなモデルの「教え方」を学ばせる(別の小さなモデルを作る)

実務では併用も一般的です。「大きなモデルを蒸留で小さくして、さらに量子化する」といった 2 段構えで、極限まで小さいモデルを作ります。

KV キャッシュ——文脈の下書きを繰り返し利用する

KV キャッシュ(KV cache)は、Transformer の推論を高速化する仕組みです。文中の各トークンについて、Self-Attention で計算した Key と Value のベクトルを「キャッシュ」に保存し、次のトークン生成時に再利用します。

なぜキャッシュが効くのか

LLM の推論は、通常 1 トークンずつ生成します。例えば「明日の会議の議題は」と入力して 100 トークンの応答を生成する場合、モデルは 100 回の推論を繰り返します。

このとき、入力の各トークンについて計算した Key と Value は、100 回の推論で毎回同じ値になります。毎回計算し直すのは無駄なので、初回で計算した Key と Value をキャッシュに保存し、以降は使い回します。これが KV キャッシュです。

KV キャッシュの効果

KV キャッシュがあると、応答が長くなるほど「1 トークンあたりの推論コスト」が下がります。「長い応答の後半のほうがなぜか速く感じる」経験がある方もいるかもしれません。これは KV キャッシュが効いているためです。

一方で、KV キャッシュはメモリを消費します。文脈が長くなればなるほど、キャッシュのサイズも大きくなります。100 万トークンの文脈窓を持つモデルでは、KV キャッシュだけで数 GB のメモリを使うこともあります。近年は、KV キャッシュを圧縮する研究(Grouped-Query Attention、Multi-Query Attention など)が活発になっています。

📝 補足 「文脈窓を伸ばすと推論が遅くなる」の主要因は、この KV キャッシュのメモリ圧迫にあります。単にモデルの計算量だけの問題ではなく、キャッシュのメモリ帯域が推論速度のボトルネックになることが多いのです。

GPU と TPU——並列計算の担い手

現代の AI は、GPU(Graphics Processing Unit)と TPU(Tensor Processing Unit)という 2 種類のチップを主戦場にしています。両者は「大量の行列演算を並列に処理する」ことを得意とする点で共通します。

GPU——業界標準の並列計算チップ

GPU は、もともと画像処理(グラフィックス)のために設計されたチップで、行列演算の並列処理が得意です。ディープラーニング時代に「AI 学習の主戦場」になり、NVIDIA が事実上の業界標準を築きました。代表製品は A100(2020 年)、H100(2022 年)、B200(2024 年)などです。

TPU——Google の AI 特化チップ

TPU は、Google が AI 向けに独自設計したチップで、Google のクラウドサービスや自社の AI 開発に使われています。行列演算をさらに特化した設計で、大規模 LLM の学習で高効率を発揮します。世代は v1(2016 年)から v5e(2023 年)などが公表されています。

選択の実務観点

実務でモデル選定・インフラ選定をするとき、GPU / TPU の選択は次のような観点で行われます。

  • エコシステム:オープンウェイトモデルや PyTorch は NVIDIA GPU が最も充実
  • コスト:クラウド利用料は GPU / TPU で異なり、ワークロードで最適解が変わる
  • 可用性:H100 級の GPU は 2023 〜 2024 年に品薄が続き、調達可能性が意思決定要因になった
  • ロックイン:TPU は Google Cloud 限定で、マルチクラウド戦略と相性が悪い

こうしたトレードオフを、3 層フレームの「計算資源層」で意識的に評価するのが実務の眼です。

ハルシネーションを仕組み側から捉え直す

生成 AI の代表的な弱点として広く語られるハルシネーション(hallucination)を、ここで仕組み側から捉え直しておきます。生成 AI の入門レベルでは「AI が事実でないことをもっともらしく出力する現象」と紹介されることが多いですが、仕組みを踏まえるとより具体的に理解できます。

「幻覚」ではなく「作話(confabulation)」

「hallucination」の日本語訳は「幻覚」ですが、仕組み側から見ると「confabulation(作話)」のほうが実態に近いという主張もあります。作話は「知らないことを、それらしく作って埋めてしまう」現象で、人間の記憶研究にも登場する言葉です。

LLM は、事前学習で「次に来るもっともらしい単語」を予測する能力を身につけています。「もっともらしさ」の物差しは統計的な尤度で、「事実であるか」の物差しではありません。知らないことを問われても、モデルは「もっともらしい単語」を紡ぎ出してしまうのです。

なぜハルシネーションは完全には消せないか

事前学習の中核である Next Token Prediction は、「正確さ」ではなく「もっともらしさ」を最適化しています。Post-training で振る舞いを整えても、この根本の性質は残ります。ハルシネーションは、モデルアーキテクチャの副作用ではなく、事前学習の設計選択の必然的な帰結です。

対策の主な方向は次の 3 つです。

  1. モデル側の対策:Post-training で「知らないことは知らないと言う」振る舞いを強化する(Constitutional AIDPORLHF
  2. 入力側の対策RAG(検索拡張生成)で、モデルに参照可能な情報源を与える
  3. 運用側の対策:出力を人間や別モデルが検証する

これらを組み合わせても「ゼロ」にはなりません。「起こることを前提に減らす・検知する」姿勢が、実務の眼になります。

講師の現場メモ——効率化の実務インパクト

私が独立してから携わった案件の中で、印象的だった学びが 1 つあります。ある中堅企業が「社内向けチャットボット」を導入するプロジェクトで、当初は「性能が良さそうな最大級の LLM」を採用しようとしていました。私が提案したのは、「量子化した中規模モデル+ RAG + KV キャッシュ最適化」の組み合わせでした。

結果は次の通りでした。応答品質は主観評価で大差なく、推論コストは月額約 4 分の 1、平均レイテンシは半分以下になりました。管理職からは「性能を落として妥協したように見えるが、実際にはユーザー体験も予算も改善した」と評価されました。

この経験から学んだのは、「効率化はモデルの性能を『削る』のではなく、実務価値を『高める』ための投資である」という発想です。3 層フレームで言えば、モデル層と計算資源層のバランスを、実務のコンテキストで再設計する仕事です。

コース全体の振り返り——中核メッセージ 7 個

本コースを通して繰り返し提示してきた中核メッセージを、最後にもう一度整理します。

  1. AI の性能は 3 つの層で決まる——モデル・データ・計算資源
  2. LLM は「意味を理解している」のではなく、「次のトークンを予測する仕組みが、意味を扱うように振る舞っている」
  3. 学習は「損失関数を最小化する山下り」で、その勾配計算に逆伝播が使われる
  4. Transformer の真髄は「並列に文脈を絡み合わせる Self-Attention」で、順序情報は別途埋め込む必要がある
  5. 事前学習は「大量の文章で次の単語を予測させる自己教師あり学習」、Post-training は「振る舞いを整える工程」
  6. 効率化(MoE・量子化・蒸留・KV キャッシュ)は「モデルの中身」と同じくらい実務に効く
  7. 仕組みを 1 段深く知ると、モデル選定・失敗の切り分け・ベンダー説明の解像度が上がる——それが本コースの投資対効果

コース修了後の学び方向

本コースはあくまで「仕組み側」の入門です。ここから先の学びの方向を、いくつか示しておきます。

書籍で深める

  • 斎藤康毅『ゼロから作る Deep Learning』シリーズは、パーセプトロンから Transformer までを実装しながら学べる定番書です
  • 岡野原大輔『大規模言語モデルは新しい知能か』は、LLM の可能性と限界を平易に整理した一冊です
  • Christopher M. Bishop『Pattern Recognition and Machine Learning』は難易度が高めですが、機械学習の理論的な定番書として長く読まれています

論文を読む

参考資料のリストに挙げた論文(Attention Is All You NeedInstructGPT、Chinchilla、Constitutional AI、DPO など)は、本コースの内容の原典として一度目を通す価値があります。数式は難しくても、Abstract と Introduction、Conclusion だけでも読めば得るものは大きくあります。

公的資料で最新動向を追う

総務省・経済産業省の「AI 事業者ガイドライン」、内閣府の AI 戦略、独立行政法人 情報処理推進機構(IPA)の公開資料は、日本国内の政策・ガイドラインの動きを追うために有用です。Anthropic Research、Google DeepMind Research、OpenAI Research の公式研究ページも、最新論文の一次情報源として質が高い媒体です。

実際に触る

仕組みを知ったら、実際に触ってみるのが最も効果的です。Hugging Face などの公開モデル、OpenAI・Anthropic・Google の API、ローカル実行のためのツール(Ollama、llama.cpp など)を試してみると、仕組みの理解が実感を伴ったものに変わります。

まとめ

このレッスンでは、以下のことを学びました。

  • 効率化が必要な理由はコスト・レイテンシ・環境負荷の 3 つであること
  • MoE は「多数の専門家からルーティングで一部を選ぶ」分業アーキテクチャで、総容量とアクティブ計算のバランスを取ること
  • 量子化はモデル構造を保ったまま重みの精度を下げる、蒸留はモデル自体を小さく作り直して先生の教え方を学ばせる、という 2 つのアプローチがあること
  • KV キャッシュが Transformer 推論の主役で、応答が長くなるほど 1 トークンあたりのコストが下がる一方、メモリ圧迫の要因にもなること
  • GPU(NVIDIA)と TPU(Google)が計算資源層の主戦場で、実務ではエコシステム・コスト・可用性・ロックインで選ばれること
  • ハルシネーションは事前学習の「もっともらしさ最適化」の必然的帰結で、モデル・入力・運用の 3 層で減らす・検知する姿勢が求められること

本コース全体を通して繰り返してきた「AI の性能はモデル・データ・計算資源の 3 層で決まる」という 3 層フレームを、これからのモデル選定・失敗の切り分け・ベンダー説明の吟味の場面で活用してください。仕組みを 1 段深く知る投資は、意思決定の解像度として長く効いていきます。


確認クイズ

このレッスンの理解度をチェックしましょう。