学習
DLManaka と Manaka は教師データを共有しますが、学習器は別です。このページでは共通の入口と設定規則だけを扱います。個別仕様は DLManaka の学習 と Manaka の教師あり学習 を参照してください。
導入
PyTorch は実行環境に合わせて追加します。
uv sync --extra cpu # NVIDIA GPU なし
uv sync --extra cu129 # NVIDIA GPU3つの指定
manaka train は、次の 3 項目で実行内容を決めます。
| フラグ | 意味 | 値 |
|---|---|---|
--type | 学習器・評価器の系統 | dl, sym |
--network | ネットワーク構成 | 例: b15_c256, pair16_d128_o3_h512 |
--mode | 学習元 | supervised, zero |
manaka train --type dl --mode supervised
manaka train --type dl --mode zero --network b15_c256
manaka train --type sym --mode zero構成名そのものを識別子として使います。別名を増やさず、重み・実行名・ディレクトリにも構成コードを入れてください。
構成を決めるタイミング
- DLManaka: TOML 設定に書き、学習開始時に読み込む。
- Manaka: 初期重みを作るときに決め、
.mnwに埋め込む。
manaka init --type sym --network pair16_d128_o3_h512 --out runs/manaka/gen0.mnwmanaka-train shape --network CODE で Manaka の構成を解析し、正規化された名前を確認できます。
設定
既定値は tideborn.toml に --type × --mode ごとに置きます。キーは下位コマンドのフラグへ直接対応します。1 回だけ上書きする場合は --set を使います。
manaka train --type dl --mode zero \
--set data.train_path=data/selfplay/gen4/train次の設定はそれぞれの形式を正本とします。
configs/*.toml— DLManaka 学習器tideborn/tools/openbench/config.toml— レーティングワーカー
-- より後ろの引数は、下位の学習器へそのまま渡されます。
zero の意味
zero は教師データを学習に使わないという意味です。gen0 はランダム重みから始まり、以降は自己対局データで学習します。ただし世代間で検証指標を揃えるため、固定教師データの検証用データを検証だけに使うことはあります。
DLManaka
簡易確認:
manaka train --type dl -- summary --config configs/smoke.toml
manaka train --type dl -- --config configs/smoke.toml主な設定:
| 設定 | 用途 |
|---|---|
configs/smoke.toml | CPU・合成データでの簡易確認 |
configs/cpu.toml | CPU 推論向け小型ネットワーク |
configs/rtx4070ti.toml | 1 GPU 向け本番構成 |
configs/a100x8.toml | 複数 GPU 学習 |
長時間実行は端末から切り離せます。
manaka train --type dl --mode supervised --detach
manaka train watch --out-dir runs/ckpt/rtx4070ti
manaka train stop --out-dir runs/ckpt/rtx4070tiチェックポイントは step-*.pt として安全に保存されます。同じコマンドを再実行すると最新チェックポイントから再開し、--fresh を付けると最初から始めます。
複数 GPU 学習:
torchrun --standalone --nproc-per-node 8 -m tideborn.trainer train \
--config configs/a100x8.tomlGPU ごとの推奨設定は ベンチマーク に置きます。
Manaka
Manaka は 1 つの .mnw を読み、次の .mnw を書きます。GPU 学習は明示的に有効化します。
cargo build --release -p manaka-train --features cuda
manaka init --type sym --network f4 --out runs/manaka/gen0.mnw
manaka train --type sym -- \
--data data/manaka/gen79 \
--weights runs/manaka/gen0.mnw \
--out runs/manaka/gen1.mnw \
--steps 2000 --batch 1024 --lr 1e-3 --q-ratio 0.5 --device cuda重み形式のバージョンは厳密に扱います。互換性のない古い .mnw は変換せず、構成を作り直して再学習します。
クラスタでは images/Dockerfile.train の CUDA_COMPUTE_CAP を対象 GPU に合わせます。現在の学習速度は ベンチマーク を参照してください。
関連ページ
| 内容 | ページ |
|---|---|
| 教師データの由来と検証 | 教師データ |
| レコード・シャード形式 | 学習データ形式 |
| DLManaka 学習器の詳細 | DLManaka の学習 |
| Manaka の教師あり実験 | Manaka の教師あり学習 |
| Manaka の世代ループ | Manaka の世代ループ |
| アーキテクチャ比較 | 実験結果 |