ZeroZawa

KVキャッシュは記憶のコスト — 文脈が伸びるほど decode が重くなる理由を実測する
2026-07-08
Attention(Part 2)を毎ステップ再計算すると、系列が伸びるたびに同じ O(T²) を繰り返すことになります。それを避けるのが KV キャッシュですが、代わりに何を払っているのでしょうか。mlx_lm の内部キャッシュを直接 introspect し、キャッシュサイズが context 長・層数・head 数に線形で膨らむこと、decode の速度が計算量ではなくこのキャッシュを読み出す帯域で決まる(memory-bound)ことを、理論式と実測の一致で確かめます。連載「言語モデルの中身」Part 3。
6,508 文字
|
14 分
Cover Image of the Post
Sonnet 5 と Opus 4.8 を Claude Code で実測比較——コスト差1.67倍は本当に効くのか
Claude Sonnet 5 と Opus 4.8 に、同一のプログラミング課題(隠しテスト37件)と執筆課題を Claude Code 上で実走させ、正答率・トークン・所要時間・反復回数を実測しました。定価$3/$15 vs $5/$25 の1.67倍差が、Opus のトークン効率で実効ではどこまで縮むのかを検証し、タスク別の使い分けと effort・キャッシュ・fast mode によるコスト最適化を、個人開発者向けのベストプラクティスとして整理します。
5,758 文字
|
12 分
Cover Image of the Post
Attention は過去を読み直している — Q/K/V と O(T²) の壁を最小実装で覗く
2026-06-28
Transformer の心臓 self-attention を、数式ではなく最小の Python 実装で組み立てます。Q/K/V が何をしているか、なぜ各トークンが他の全トークンを見る構造が系列長の二乗 O(T²) の計算量とメモリを生むのかを、系列長を変えた実測で確かめます。長い文脈ほど重くなる理由と、次回 KV キャッシュが必要になる動機が手元の数字で腹落ちします。連載「言語モデルの中身」Part 2。
5,907 文字
|
12 分
Cover Image of the Post
LLM はトークンを1つずつ予測している — 自己回帰ループを手元で覗く
2026-06-27
LLM は文章を一度に書くのではなく、トークンを 1 つずつ予測して繋げています。小型モデルを MLX で手元に動かし、トークン化が文字でも単語でもないことと、「生成時間はトークン数に比例する」ことを実測で確かめます。連載「言語モデルの中身」Part 1。
4,503 文字
|
10 分
Cover Image of the Post
MLX vs ollama を M5 Pro で実測:Mac のローカル LLM、どっちのランタイムが速いか
Apple M5 Pro 48GB で同一モデルを MLX 4bit と ollama (GGUF Q4_K_M) で head-to-head 実測。TTFT・生成 tok/s・ピークメモリを並べ、Mac でローカル LLM を動かすならどちらのランタイムを選ぶべきかに実数で答えます。
7,248 文字
|
15 分
Cover Image of the Post