辞書:知識に住所がある
「富士山」の知識は「富士山のページ」に書いてあります。書き込んだものをそのまま取り出す仕組みなので、必要なページだけ開けば済みます。
知識1件 = 決まった場所に1件
DBC AI Academy 第1回 / interactive guide
トークンとは、LLMが文章を扱うための文字のかたまりです。入力から次の1トークンが出るまでを、実際に動かしてのぞいてみましょう。
Did you know?
文章を一度に完成させるのではなく、この「モデル1周」をトークンごとに何度も繰り返しています。
学習で調整される 0.52489654 のような小数1つを「パラメータ」と呼び、これは「重み」とも呼ばれます。重みとパラメータは同じものの別名です(英語では weights と複数形)。8Bの「B」はBillion(ビリオン=10億)の略なので、8Bモデルには約80億個の重み(パラメータ)があります。
なぜ関係ある部分だけ読まないの?
重みは、辞書のように「関係ある知識だけ引き出す」索引ではなく、計算式の係数だからです。たとえば「y = 0.7×a − 1.2×b + 0.3×c」という式で y を求めるとき、3つの係数はどれも省けません。すべて掛けて足し合わせて、はじめて答えが出ます。LLMはこの式が桁違いに大きくなったものです。
しかも、辞書なら「富士山」のページだけ開けば済みますが、LLMには知識の「ページ」がありません。富士山の高さという知識は、どこか特定の重みに書かれているのではなく、たくさんの係数の値の組み合わせ全体に溶け込んでいます。「関係ある部分」を指させないので、選んで読むことがそもそもできない。これが、1トークンごとにモデル全体を読む理由です。この「溶け込み」は、次の節のミニモデルで実際に触って確かめられます。
では、「毎回すべてのメモリにアクセスする」の?
パソコンの全メモリを読むわけではありません。主に使うのは、モデルの重みが置かれた領域と、ここまでの会話を記録したKVキャッシュです。実際にRAMやVRAMからどう読み出すかは、CPU・GPUのキャッシュや推論方式によって変わります。
毎トークン読むのは、色の付いた「重み」と「計算メモ」の領域です。OSや他のアプリの領域には触れません。Apple Siliconのように1枚の共有メモリの機種では、この2段が同じメモリに同居します。
左側のメモリから重みと会話の計算メモを読み、中央のGPU・CPUで計算すると、右側に次の1トークンだけが出てきます。
学習時:浮動小数点数
実行時:4-bitなどへ量子化
ここまでの会話の途中計算
専門用語:KVキャッシュ
何層もの計算を順番に通過
文章の末尾に追加
パラメータとは別物
Where is the knowledge?
答えは「どこにも書いていない。それでも全体に入っている」。前の節の「関係ある部分を選んで読めない」理由を、実際に触って確かめましょう。
「富士山」の知識は「富士山のページ」に書いてあります。書き込んだものをそのまま取り出す仕組みなので、必要なページだけ開けば済みます。
知識1件 = 決まった場所に1件
学習は「書き込み」ではなく、巨大な計算式を実例に合わせて少しずつ曲げる作業です。1件の知識は、全部の重みをわずかに動かした「痕跡」として残ります。
知識1件 = すべての重みへ薄く分散
Mini model lab
丸い点が学習データ(覚えさせたい実例)、黄色い直線がモデルの答えです。このモデルが持つ重みは「y = a×x + b」の a と b の2個だけ。LLMは、これが80億個規模まで増えたものです。点をドラッグしたり、空いた場所をクリックして点を増やしたりしてみてください。
空いた場所をクリック/タップ=実例を追加。点をドラッグ=実例を修正。灰色の点線は、直前の操作をする前の直線です。
学習データ 8 点を、重み 2 個で記憶中
実際のLLMの学習は、直線ではなく何層も重なった複雑な式を使い、実例ごとに「間違いが減る方向へ全重みを少しずつ動かす」操作を膨大に繰り返します。このラボはその最小の模型です。
写真は半分に切ると半分の絵が消えますが、ホログラムは半分にしても全体像がぼやけて残ります。重みの一部を失ったり丸めたりしたときのLLMの壊れ方は、写真型ではなくホログラム型です。
80億個の重みを一律に丸めても、特定の知識が1件ずつ消えるのではなく、モデル全体がわずかに粗くなるだけ。先ほどの「重みを丸める」ボタンで見た変化の、80億個版です。
「関係あるページ」がそもそも存在しないので、選んで読むことができません。どの1トークンの計算にも、すべての重みが計算式の係数として参加します。
Two phases of inference
入力を読むときと、回答を作るときでは、トークンの処理方法と体感速度の指標が異なります。
入力された複数のトークンをまとめて計算し、これから回答を作るためのKVキャッシュを準備します。
モデルの全レイヤーを通して次の1トークンを選び、会話とKVキャッシュへ追加して繰り返します。
トークンとパラメータは別物です。1つの入力が、どのようにモデルの計算へ入るかを正式な用語で追ってみます。
後ろのレイヤーは前の計算結果を受け取るため、途中を飛ばせません。ボタンを押して、新しいトークンの数値表現がモデルの最初から最後まで進む様子を確認できます。表示するトークンの区切りは模式例です。
物理的な部品ではなく、入力された数値を受け取り、加工して次へ渡す処理のまとまりです。
文脈の中で関係の強いトークンから情報を集めます。
重みを使った行列計算で、次のレイヤーへ渡す特徴を作ります。
各レイヤーはそれぞれ異なる重みを持ちます。後ろのレイヤーは前の出力を必要とするため、順番に通る必要があります。
Interactive token journey
「次へ」を押すたびに、ローカルLLM内部の処理が1段階進みます。入力欄の文章は自由に書き換えられます。
Memory estimator
AIの知識データ(重み)は巨大な本棚、会話の計算メモ(KVキャッシュ)は会話中だけ広がる机です。重みはもともと浮動小数点数ですが、量子化すると小さな本棚へ圧縮できます。
基本的に、学習で調整された小数1つが1パラメータ=1つの重みです。回答中に学習内容が書き換わるわけではありません。
重みを16-bitから8-bitや4-bitへ近似し、必要なメモリと読み出すデータ量を減らします。8Bモデルの重みは単純計算で16-bitなら約16GB、4-bitなら約4GBです。細かな値を丸めるため元の数値へ完全には戻らず、回答品質がわずかに変化する場合があります。
過去のトークンから得た途中計算を保存し、毎回のやり直しを減らします。
推論エンジンやGPUによって必要量は変わります。
AIの知識データ 約4.8GB(生データ約4.0GBに、圧縮を元に戻すための補正値などを上乗せ)+ 会話の計算メモ・作業領域 約0.9GB。実装やモデル構造によって変動します。
VRAMに収まらなくても、重みの一部をRAMへ逃がせば動く場合があります。ただし、高速な場所から遠ざかるほど生成は遅くなります。
重みの容量 ≈ パラメータ数 × bit数 ÷ 8
デコードは重みを繰り返し使うため、メモリ帯域幅がtokens/secを左右します。実際の速度には計算性能や実装効率も影響します。
理論上限の目安 ≈ メモリ帯域幅 ÷ 重みの容量
Memory offload lab
同じ8B・4-bitモデル(必要メモリ約5.7GB、うち重み約4.8GB)を、一般的な離散GPU搭載PCで動かす説明用の例です。スライダーを動かし、1秒間に進める生成量を比べてください。
最初の一段を試してください。 0.2GBだけRAMへ逃がす例では、いきなり3倍には落ちません。
重みと計算をGPU内で完結できる構成です。メモリ帯域が広く、8Bモデルなら会話の文字が滑らかに伸びる速度を狙えます。
SSDのメモリマップは、RAMに余裕があれば最初の読み込みを助けるだけで、毎トークンSSDを読むとは限りません。ここで極端に遅いのは、RAMが足りず同じ重みをSSDから何度も読み直す「スワップ地獄」の状態です。Apple SiliconなどのユニファイドメモリはCPUとGPUが同じ高速メモリを共有するため、このVRAM対RAMの例がそのまま当てはまりません。
Context lab
コンテキストを増やすと過去の内容を多く保持できますが、KVキャッシュもほぼ比例して増えます。スライダーで変化を確認してください。
Choose your model size
Bは能力の絶対値ではなく、モデル規模を示す目安です。表のモデルサイズを選ぶと、向いている用途と弱点が切り替わります。
文章作成、要約、RAG、基本的なコード支援などをローカルで試しやすい規模です。
| 規模 | 向いている用途 | 苦手・注意点 | 4-bit実行目安 |
|---|
表は最近の指示調整済みDenseモデルを想定した目安です。実行メモリには重みと基本的な作業領域を含み、長いコンテキストのKVキャッシュは別途増えます。能力はモデル世代・学習データ・日本語性能・追加学習でも変わります。
同じ世代・設計・学習条件のDenseモデル同士なら、一般に16Bの方が複雑な指示、推論、知識の扱いで安定しやすい傾向があります。ただし、B数は知能の点数ではなく、性能を保証する順位でもありません。
新しく良質に学習された8Bが古い16Bを上回ったり、特定用途へ追加学習した8Bが汎用16Bより強かったりします。日本語の学習量、量子化、プロンプトとの相性も結果を左右します。単純な要約や定型抽出では差が小さく、複雑な推論ほど差が表れやすいため、実際の用途に近い課題で比較するのが確実です。
用途を切り替えると、入力・出力例と人間が確認すべきポイントを比較できます。
全パラメータを使うDenseと、選ばれた専門家だけを使うMoEを切り替えて比較します。
Dense型では、1トークンごとにモデル全体のレイヤーを通ります。ページ前半の「1トークン=1周」は主にこの方式の説明です。
公式値と推測値を同じものとして扱わないため、確度を色分けしています。行を選ぶと根拠と8Bモデルとの比較を確認できます。
調査時点:2026.08.26。出典:GPT-3公式、gpt-oss公式、GPT-4推測の扱い。現在のGPTとClaudeの数値は公式未確認です。
Energy question
2025年、「ユーザーが打つ please や thank you のために数千万ドルの電力費がかかっている」と、クラウドAI企業のCEOが冗談交じりに述べて話題になりました。「ありがとう」も特別扱いはされません。トークンに分割され、返答の1トークンごとにモデル全体(MoEなら有効分)を読みます。ここまでの知識で、この問いを分解してみます。
入力と返答をあわせて約20トークンの短いやり取りを仮定し、モデル規模ごとの消費電力量を並べます。行を選ぶと数値の根拠を確認できます。
調査時点:2026.08.27。出典:Google公表値(2025.08)、OpenAI CEOブログ(2025.06)。クラウドの公表値は、公表当時の標準的な利用における平均・中央値です。「ありがとう」だけの1往復はこれより小さく、長く考えてから答える推論モードや最新の大型モデルの1回は、生成トークン数が多いぶんこれより大きくなり得ます。
クラウドは大量の要求を1つのGPU群でまとめて計算し、重みの読み出しを共有します。1回あたりの消費は素朴な「規模×トークン数」より小さくなり、正確な値は外部から計算できません。
MoEでは毎トークン読むのは選ばれたExpertだけです。「大きいモデルほど消費も大きい」という比例関係は、Dense同士の比較でだけ素直に成り立ちます。
GPUだけを測るか、冷却や待機中の設備まで含めるかで数値は大きく変わります。この図では公式の公表値と、仮定にもとづく概算を色分けしています。
1往復はLED電球を数秒〜数分点けられる程度です。ただし、仮に世界で1日10億回の「ありがとう」があれば、0.3Wh × 10億回 = 30万kWh。日本の一般家庭 約3万世帯の1日分に相当します(回数は説明用の仮定です)。CEOの「数千万ドル」も、小さな1回と莫大な回数の積の話です。
ローカルLLMは自分のPCで動くため、ワットチェッカーやOSの電力表示で「ありがとう」1回分の消費を実際に測れます。公表を待たず自分の環境で確かめられるのは、ローカルならではの利点です。
Myth vs. reality
ローカルLLMを理解するときの、代表的な3つの勘違いです。
KVキャッシュに過去の途中計算を残すため、生成済みの全文を毎回まったく同じように再計算するわけではありません。
日本語でも、1文字になる場合、複数文字がまとまる場合、まれな文字が複数に分かれる場合があります。同じ文章でもモデルの辞書によって分け方は異なります。
容量は「載るかどうか」、帯域幅は「毎秒どれだけ読めるか」。速度にはGPU/CPUの計算力とメモリ帯域の両方が関係します。
Knowledge check
正解することより、理由を説明できることがゴールです。
選択肢を1つ選んでください。
One more token