目安: 35分。演習の状態: 未実行 (not-run)。本文は学習ガイドであり、動作や品質の実測記録ではありません。

前提となる章: AI・機械学習・LLMの地図をつくる

独自の概念図。矢印は依存関係や判断の順序を示し、性能の実測を表さない。

  1. 1原文とchat template
  2. 2tokenizer
  3. 3入力のprefill
  4. 4decodeの反復
  5. 5出力token数
順序と役割を、ひとつずつ分けて考える

学習目標

  • 重み、tokenizer、context、出力長の役割を説明できる
  • 入力と出力のtoken数を分けて記録できる

仕事の役割

  • 学習者: 仮説・データ・評価を設計する
  • モデル: 指定した変換を試す
  • アプリ: 制限・検証・権限を保証する

入力 → 工程 → 出力

入力 工程 出力
chat templateで整えたtoken列 prefill → token選択 → decodeの反復 生成token列と、それを復号した文章

モデルは重みだけでは動かない

ニューラルネットのモデルは、計算構造と学習済みの数値である重みからなる。実際に使うにはtokenizer、設定ファイル、会話の並べ方を定めるchat template、実行するランタイムも必要になる。重みを別形式に変換できても、これらの対応が崩れれば期待した応答にならない。

tokenは文字数や単語数と同じではない。日本語、英語、数字、空白、記号がどう分割されるかはtokenizer次第である。「日本語は1文字1token」と決め打ちせず、採用したモデルのtokenizerで数える。embeddingはtokenなどを数値ベクトルで表現したもので、人間向けの意味辞書そのものではない。

推論は二つの時間を持つ

decoder型LLMでは入力のtoken列を処理するprefillの後に、次のtokenを順に作るdecodeが続く。最初のtokenまでの時間TTFTと、その後の生成速度tokens/secは違う。長い資料を渡した場合は、出力が短くてもprefillが重くなる。

context windowは入力、会話履歴、必要な特殊token、生成分が入る範囲である。モデルカードに長いcontextが書かれていても、その長さを手元の機械で快適に使える保証ではない。会話を無制限に足さず、要約・検索・履歴の切り分けで入力を管理する。

Qwenの例示モデルカード はchat templateを使う経路を示し、Transformersのcache文書 はdecodeで過去のkey/valueを再利用する役割を説明する。どちらも読者の機械で本演習を実測した資料ではない。

確率で続きを作ることの限界

学習済みLLMは次のtokenの分布を計算する。temperatureなどは選び方を変えるが、事実の保証装置ではない。greedyな生成でも誤った内容は出るし、もっともらしい説明も根拠の証明にならない。計算は計算機、現在情報は検索、権限のある操作は検証されたツールに任せる設計が必要になる。

Baseモデルは文の続きを予測する土台、Instructモデルは指示応答へ調整されたモデルである。同じ規模でも使い方が違う。会話用途の最初の実験ではInstructと公式chat templateを組にし、テンプレート違いによる誤差を減らす。

自分で進める工程

  1. 同じ文をtokenizerで数える
  2. 入力上限と生成上限を別に決める
  3. 会話履歴のある場合とない場合を比較する
  4. TTFTと生成速度を別々に記録する

品質を確認する

  • 重み、tokenizer、context、出力長の役割を説明できる
  • 入力と出力のtoken数を分けて記録できる
  • 文字数の比率を他モデルへ一般化していないか

失敗を切り分ける

注意すること 具体的な確認方法
temperatureを下げれば正確になるとは限らない 課題を固定し、出力のばらつきと事実の裏付けをそれぞれ確認する。
API互換はモデルの能力やchat templateの互換まで意味しない 同じ依頼を比較する前に、モデル、tokenizer、chat templateを記録する。

演習: モデル・token・推論を理解する

状態: 未実行 (not-run)。

日本語の短文、同じ意味の英語文、JSONを各一つ用意し、token数と文字数を記録する

提出するもの: モデルID付きのtoken数比較

完了の確認: 文字数の比率を他モデルへ一般化していないか

実験記録用ワークシートに計画・条件・観察を記録する。未測定値は null とし、推定値は式と仮定を残します。

MENTAL MODEL / メモリ

モデルの重さを、分けて考える。

重みとKVキャッシュは別々に増える。下の値は設計用の概算です。

4.5 GB重み 4.0 GB + KV 0.5 GB

GBは10⁹ byte。KVは32層・8 KV heads・128 head dim・FP16・batch 1の仮定。量子化メタデータ、実行バッファ、OS、モデル固有の構造は別途必要。MoEでは総重みとactive parametersを分けます。

出典

公開日は資料の日付、確認日は内容を参照した日です。コミュニティの観測は公式の確定事項と区別します。

01
Qwen2.5-0.5B-Instruct モデルカード ↗huggingface.co公開: 不明 · 確認: 2026-10-03
02
Transformers KV cache ↗huggingface.co公開: 不明 · 確認: 2026-10-03
03
Transformers Auto classes ↗huggingface.co公開: 不明 · 確認: 2026-10-03
このブラウザ内に保存します。