SHRINK IT, SPEED IT UP
巨大な脳を、ポケットに
データセンターの巨大モデルと、スマホでサクサク動くAI——同じ技術の親子です。 数を粗くして軽くする量子化、計算を使い回すKVキャッシュ、先生の知識を写し取る蒸留。 巨大モデルがポケットで動くまでの圧縮の技を、5つのステップで体感します。
はじめる ↓モデルの重さの正体PARAMS × PRECISION
モデルの本体は、学習編で調整した数十億個の重み(パラメータ)の集まり。 その重さは掛け算ひとつで決まります——パラメータ数 × 1個あたりのバイト数。 モデルの大きさと数の精度を切り替えて、どのデバイスに乗るか確かめてください。 式の答えがそのまま、AIが動く場所を決めます。
MEMORY CALCULATOR — モデルはどこに乗る?
数を、粗くするQUANTIZATION
量子化の発想は、画像の減色と同じです。 1677万色の写真を256色にしても、案外きれいに見える—— 連続的な値を少ない段階に丸めても、全体の形は保たれるから。 スライダーでビット数を減らして、画像と重みが同時に粗くなっていく様子を見てください。
BIT SLIDER — 画像の色も、モデルの重みも、同じこと
WEIGHTS — 同じスライダーでモデルの重みを丸める
どこまで削れるか、実物で試すLIVE QUANTIZATION
ここにあるのは、学習編と同じ作りの本物のミニニューラルネット(37パラメータ、学習済み)。 いまこのブラウザで、重みを本当に量子化して曲線を描き直します。 INT8、INT4…と削っていくと、ある段階までは平気で、あるところから急に壊れる—— その崖を自分の目で見つけてください。
QUANTIZE A REAL NET — 37個の重みを丸めて描き直す
覚えておけば、計算しないKV CACHE
軽くする話の次は、速くする話。テキスト生成は1トークンずつの繰り返しで、 アテンションには全トークンのK(キー)とV(バリュー)(Transformer深掘り編!)が毎回必要です。 素朴にやると同じK・Vを何度も計算し直すことになる—— ▶で、キャッシュあり/なしの計算量の差を見てください。
RECOMPUTE VS CACHE — 10トークン生成するときのK/V計算
先生の勘まで、写し取るDISTILLATION
仕上げは蒸留——大きな先生モデルの出力を、小さな生徒モデルの教材にする技です。 ポイントは、正解の単語だけでなく先生の確率分布ごと教えること。 「2位以下にどれくらい可能性を残すか」という先生の勘(暗黙の知識)まで写るから、 ただ正解を暗記するより賢い小型モデルが育ちます。
HARD LABEL VS SOFT LABEL — 生徒は何を教わるか
FULL COURSE — 巨大モデルがスマホに乗るまで
+ 最適化