本記事にはアフィリエイト広告(Amazon アソシエイト)が含まれます。
実測日: Fri Sep 18 2026 09:00:00 GMT+0900 (Japan Standard Time)
前回、1 bit の 27B を NPU で 7.18 tok/s まで持っていき、速度の半分が重みの読み出しで決まることを示した。 重みを減らすしかない。 本記事は、64 層から層を落として 18B 相当にする探索で、最初の方法が破綻し、方法を変えて通るまでを記録する。
見積りの訂正から始まった
窓の時間は重みの量 f(元に対する割合)にほぼ比例する。
窓(f) = 201.5 × f + 38.5 msここで数え方を 1 つ訂正した。 語彙の head と埋め込みは、層を落としても縮まない。 元の言語の重みは 26.90B で、内訳は層 24.35B、埋め込み 1.27B、語彙 head 1.27B である。 head を床として数え直すと、呼び名の「18B」は 44 層ではなく 40 層(4 層の組を 6 つ落とす)になる。
| 落とす組 | 残る層 | 言語の重み | f | 窓 ms | TG128 の見積り |
|---|---|---|---|---|---|
| 3 | 52 | 22.33B | 0.830 | 205.8 | 8.36 |
| 5 | 44 | 19.29B | 0.717 | 183.0 | 9.40 |
| 6 | 40 | 17.76B | 0.661 | 171.6 | 10.02 |
| 8 | 32 | 14.72B | 0.547 | 148.8 | 11.56 |
見積りは受理長 0.72 を保てた場合の値で、刈った本体で draft を学び直す前提である。 44 層で進めるか 40 層まで行くかは、perplexity を見てから決めることにした。
重要度の順に落とすと破綻した
最初の方法は、各層を 1 枚だけ抜いたときの出力の変化(層の働き)を測り、働きの小さい順に組を落とすものだった。 測定そのものは健全だった。 2 種類の文章で順位の相関は Spearman 0.9148 と高く、層 0 の働きは 0.9144 で 2 位の層 63(0.2604)を大きく引き離していた。
それでも答えは壊れていた。
| 落とした 5 組 | 選び方 | lit_ja | selfgen | 悪化の平均 |
|---|---|---|---|---|
| 1, 2, 3, 4, 7 | 働きの小さい順 | 33.2 → 26,959 | 2.94 → 23,524 | 4,402 倍 |
| 1, 5, 7, 9, 10 | 無作為(対照) | 33.2 → 92.4 | 2.94 → 4.77 | 2.20 倍 |
無作為のほうが 2,000 倍良い。 対照を入れておいたから判った。 層ごとの点数は「他の 63 層が居るときに 1 枚抜いたらどうなるか」しか測っておらず、まとめて抜いたときの崩れを予言しない。 物差しを相対 L2 に変えても同じ 5 組が選ばれたので、物差しの問題でもなかった。
perplexity で貪欲に探す
方法を変えた。 候補の組を 1 つずつ落として perplexity を測り、最も悪化の小さい組を採用して次へ進む貪欲探索である。 探索は 16 窓で行い、採用した組は 64 窓で確認した。
| 残る層 | 落とした組 | 悪化(64 窓) | 悪化(16 窓) | TG128 の見積り |
|---|---|---|---|---|
| 60 | 3 | 1.029 | 1.027 | 7.52 |
| 56 | 3, 5 | 1.093 | 1.091 | 7.92 |
| 52 | 3, 5, 10 | 1.189 | 1.188 | 8.36 |
| 48 | 3, 5, 9, 10 | 1.298 | 1.302 | 8.85 |
| 44 | 3, 5, 8, 9, 10 | 1.479 | 1.479 | 9.40 |
| 40 | + 7 | 1.743 | 1.749 | 10.02 |
| 36 | + 14 | 2.483 | 2.499 | 10.74 |
| 32 | + 2 | 3.924 | 3.943 | 11.56 |
44 層で 1.479 倍となり、事前に決めた閾値 1.5 を通った。 探索(16 窓)と確認(64 窓)の差は最大 0.6% で、探索が窓に合わせ込んでいないことも確かめた。 文章の種類別では、lit_ja が 33.20 から 52.81(1.591 倍)、selfgen が 2.94 から 4.02(1.367 倍)である。 同じ窓で測り直すと、最初の方法の選択は 4,907 倍、無作為は 2.214 倍だった。
40 層より先は悪化が急に大きくなるので、組の選び直しか、落とす幅の検討が要る。 まず 44 層で回復学習へ進むことにした。
原因の説明も 1 回間違えた
最初の失敗を、私は「落とした組 1 から 4 が層 4 から 19 の 16 枚で連続していたから」と説明した。 これは誤りだった。 貪欲探索が選んだ 5 組のうち 8、9、10 も連続していて、層 32 から 43 の 12 枚が続けて消えている。 それで 1.479 倍に収まっている。
| 落とした区間 | 連続の長さ | 悪化 |
|---|---|---|
| 層 4 から 19(前段)と 28 から 31 | 16 枚 | 4,907 倍 |
| 層 32 から 43(中後段)と 12 から 15、20 から 23 | 12 枚 | 1.479 倍 |
連続しているかどうかではなく、前段を失うことが致命的だった。 局所の指標で選んではいけない、という教訓は変わらない。 ただし、その理由づけまで実測で確かめないと、次の判断を誤る。
この記事で扱った機材
Crucial DDR5-5600 SO-DIMM 128 GB キット(64 GB × 2、CT2K64G56C46S5)
27B 級の重みを bf16 のまま読み込んだり、1 bit への変換の中間状態を持ったりするには、ミニ PC のメモリをこの容量まで積む必要がある。