ZeroZawa

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。
5,637 文字
|
12 分
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
コーディングLLMを M5 Pro 48GB で実測:「動く」と「使える」を分けるのは context の壁だった
48GB の Mac(M5 Pro)に載るオープンウェイト・コーディングLLM を MLX 4bit で実測。7B は 131K コンテキストでもメモリは余るのに最初の一文字まで 4 分待つ。32B は 65K あたりで GPU メモリ上限(約 38GB)に達して失速。70B は重みは載るが生成の瞬間に Metal が OOM で落ちる。weights が載るかではなく、自分が渡す context 長で壁に当たるかで選ぶ、という実測の話。
4,752 文字
|
10 分
Cover Image of the Post
DiffusionGemma を M5 Pro で実測:拡散LLMの「4倍速」は Apple Silicon で消える
2026-06-19
2026年6月10日公開の Google DiffusionGemma 26B-A4B を、同じ A4B 基盤の自己回帰版 Gemma 4 と同一マシン(M5 Pro 48GB / MLX 4bit)で A/B 実測。拡散の並列生成は Mac では自己回帰より遅く、速度を出すために denoise ステップを削るとコードも文章も壊れる——その境界を bun test と反復率で機械計測しました。
5,505 文字
|
12 分