作業ログ · 生徒 · 蒸留 · モデルの容量
作業ログ: ファイターの脳はどれだけ埋まっているのか:ネットワークサイズの実験
生徒:ネットワークサイズの実験
学習コスト 約$7.65vast.ai の RTX 5090 での蒸留ラン4本(起動しなかったマシン7台を含む)と、それぞれのCPUゲート、2026年10月31日 · 学習ラン4回、マシン17台、約14マシン時間
同じ出発点からの4本のランを、それぞれvast.aiのRTX 5090で1台ずつ、並べて走らせました。出発点は採用されていた生徒distill12-196.6M(2 × 512)です。そのうち3本は、まずkakuto-mlのtrain_stance.widen(新しいユニット:入る重みはランダム、出る重みはゼロ)とtrain_stance.deepen(単位行列の重みとバイアス+1を持つ新しい隠れ層。出力層のバイアスがその分を取り戻す)で拡張しました。学習を始める前に4096個のランダムな入力で確かめています。幅を広げた方策は元と完全に一致し(最大の差は0.0)、深くしたものの差は4 × 10⁻⁵で、浮動小数点の丸め誤差です。手法と結果は記事にあります。
どのランもdistill12のコマンドを変えずに学習しました。opponent_dash環境、2048個の環境、16の教師(ベースはguard18、技ごとに1つの教師、教師の重み4)、学習率1e-4で、ちょうど200 Mステップ(--max-steps 200e6)です。違うのは--warm、--hidden、--layersだけです。揃えたのは時間ではなくステップ数です。大きいネットワークは1ステップあたりが遅いので、代わりにその時間と費用を報告しています。
ラン
| ラン | ネットワーク | 方策のパラメータ数 | ステップ/秒 | 教師との平均距離、最初 → 最後の25 Mステップ(×1000) | 結果 |
|---|---|---|---|---|---|
| cap512x2 | 2 × 512(対照) | 525,872 | 25,400 | 4.60 → 4.28(−7 %) | 不採用 |
| cap1024x2 | 2 × 1024 | 1,575,984 | 23,900 | 4.66 → 3.75(−20 %) | 不採用 |
| cap512x3 | 3 × 512 | 788,528 | 24,100 | 4.87 → 3.71(−24 %) | 不採用 |
| cap1024x3 | 3 × 1024 | 2,625,584 | 21,900 | 4.91 → 2.88(−41 %) | 200.0 Mを採用 |
対照の距離は頭打ちになり、拡張したネットワークはどれも下がり続けます。1024 × 3は最も速く下がり、200 Mの時点でもまだ下がっています。差は一部の教師ではなく、すべての教師に出ています(記事の図4)。
ゲート
各ランの200 Mのチェックポイントは、vast.aiのCPUマシンで完全なゲートを受けました。6つのシード、空中とサンドバッグに対するすべての技、パンチ、歩き、ブロック、スクリプトの防御を持つ対戦相手、パンチの距離、ボディストレートです。表はkakuto-mlのラン記録(training-log/distill/2026-10-31_0950_cap-20261031_network-size.md)にあります。各行の試行回数が少ないことを考慮すると、どのネットワークも対照に対してどの行でもはっきり良くも悪くもありません(記事の図5)。1024 × 3は、パンチ(120回中61と56)、空中でのプルカウンター(6回中6と3)、サンドバッグへのミドルキックと左ローキックで上回り、ブロック(32回中24と26)、空中での膝蹴り、右の肘打ち、空中での左ハイキックで下回りました。
決定
ゲートの前に決めていたとおり、1024 × 3を次のステップ(コンボの狙いのステップ1、slots1-20261031)の親として採用しました。ゲートにはっきり不利なものはなく、教師との距離はまだ下がり続けていて、この先のステップではひとつのネットワークが抱えるものが増えるからです。
マシン
学習用の4台はそれぞれ2.3–2.7時間動きました。ほかに借りた7台は起動しませんでした(4分たってもsshがつながらない、または10分たってもまだ読み込み中)。512 × 3用が2台、1024 × 3用が5台で、どれも約10分以内に破棄しました。ゲートはCPU目当てで小さめのGPUマシンで走らせました。ゲートはCPUで方策を動かし、大きいネットワークは1ステップあたり約5倍の計算をするので、1024 × 3のゲートは12コアで49分かかり、ほかは30–45分でした。1024 × 3の2つ目のゲートを予備として始め、1つ目が終わった時点で破棄しました。3つ目(gate-par)は、ゲートの行を並列に走らせる試験でした。
すべてのラン
kakuto-mlのラン記録から作成しています。各ランのマシン、課金された時間とコストです(EC2のランはランのログからの推定値です)。
| ラン | 結果 | マシン | 時間 | コスト |
|---|---|---|---|---|
cap512x2-2026103110月31日 · ジャブ、クロス、リードフック、リアフック、リードアッパーカット、リアアッパーカット、ボディストレート、奥足の膝蹴り、スイッチニー、右肘打ち、左肘打ち、プルカウンター、右ハイキック、左ハイキック、右ローキック、左ローキック、右ミドルキック、左ミドルキック、ダッシュ、ブロック | 不採用 | 2 | 3.1 | $1.64 |
cap1024x2-2026103110月31日 · ジャブ、クロス、リードフック、リアフック、リードアッパーカット、リアアッパーカット、ボディストレート、奥足の膝蹴り、スイッチニー、右肘打ち、左肘打ち、プルカウンター、右ハイキック、左ハイキック、右ローキック、左ローキック、右ミドルキック、左ミドルキック、ダッシュ、ブロック | 不採用 | 2 | 3 | $1.74 |
cap512x3-2026103110月31日 · ジャブ、クロス、リードフック、リアフック、リードアッパーカット、リアアッパーカット、ボディストレート、奥足の膝蹴り、スイッチニー、右肘打ち、左肘打ち、プルカウンター、右ハイキック、左ハイキック、右ローキック、左ローキック、右ミドルキック、左ミドルキック、ダッシュ、ブロック | 不採用 | 4 | 3.2 | $1.89 |
cap1024x3-2026103110月31日 · ジャブ、クロス、リードフック、リアフック、リードアッパーカット、リアアッパーカット、ボディストレート、奥足の膝蹴り、スイッチニー、右肘打ち、左肘打ち、プルカウンター、右ハイキック、左ハイキック、右ローキック、左ローキック、右ミドルキック、左ミドルキック、ダッシュ、ブロック · 採用 cap1024x3-200.0M | 採用 | 9 | 4.7 | $2.39 |
| 学習ラン4回 | 17 | 14 | $7.65 |