Skip to content

学習

DLManaka と Manaka は教師データを共有しますが、学習器は別です。このページでは共通の入口と設定規則だけを扱います。個別仕様は DLManaka の学習Manaka の教師あり学習 を参照してください。

導入

PyTorch は実行環境に合わせて追加します。

sh
uv sync --extra cpu     # NVIDIA GPU なし
uv sync --extra cu129   # NVIDIA GPU

3つの指定

manaka train は、次の 3 項目で実行内容を決めます。

フラグ意味
--type学習器・評価器の系統dl, sym
--networkネットワーク構成例: b15_c256, pair16_d128_o3_h512
--mode学習元supervised, zero
sh
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 に埋め込む。
sh
manaka init --type sym --network pair16_d128_o3_h512 --out runs/manaka/gen0.mnw

manaka-train shape --network CODE で Manaka の構成を解析し、正規化された名前を確認できます。

設定

既定値は tideborn.toml--type × --mode ごとに置きます。キーは下位コマンドのフラグへ直接対応します。1 回だけ上書きする場合は --set を使います。

sh
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

簡易確認:

sh
manaka train --type dl -- summary --config configs/smoke.toml
manaka train --type dl -- --config configs/smoke.toml

主な設定:

設定用途
configs/smoke.tomlCPU・合成データでの簡易確認
configs/cpu.tomlCPU 推論向け小型ネットワーク
configs/rtx4070ti.toml1 GPU 向け本番構成
configs/a100x8.toml複数 GPU 学習

長時間実行は端末から切り離せます。

sh
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 学習:

sh
torchrun --standalone --nproc-per-node 8 -m tideborn.trainer train \
  --config configs/a100x8.toml

GPU ごとの推奨設定は ベンチマーク に置きます。

Manaka

Manaka は 1 つの .mnw を読み、次の .mnw を書きます。GPU 学習は明示的に有効化します。

sh
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.trainCUDA_COMPUTE_CAP を対象 GPU に合わせます。現在の学習速度は ベンチマーク を参照してください。

関連ページ

内容ページ
教師データの由来と検証教師データ
レコード・シャード形式学習データ形式
DLManaka 学習器の詳細DLManaka の学習
Manaka の教師あり実験Manaka の教師あり学習
Manaka の世代ループManaka の世代ループ
アーキテクチャ比較実験結果