コンテンツにスキップ

Policy/Value Training Modules

対象: pca.training.train, pca.training.policy_value

Purpose

self-play JSONL から Policy/Value model を学習する。legacy ActionConditionedPolicyValueNet と v13 UnifiedTokenPolicyValueNet の両方を扱い、aux prize heads と integrated belief heads の loss もここで合成する。

Modules

Module Role Implementation Details
pca.training.train CLI / facade train_policy_value() と CLI。policy_value helper を旧 import path 互換で re-export する。
pca.training.policy_value.config config TrainConfigSearchDataSummary
pca.training.policy_value.data dataloader search record prescan、streaming dataloader、data summary。
pca.training.policy_value.losses loss policy/value/turn/aux prize/integrated belief loss と metrics。
pca.training.policy_value.metadata metadata tables JSONL embedded card/attack metadata から unified feature tables と cache を作る。
pca.training.policy_value.model_config model config checkpoint/input/CLI から model config を解決し、互換 state dict を load する。
pca.training.policy_value.checkpointing checkpoint payload model state、optimizer-independent metadata、training config を保存形式にまとめる。
pca.training.policy_value.runtime runtime helpers device selection、AMP、grad scaler、memory log、LR schedule、progress line。

Public API

API Usage
TrainConfig training loop 設定。
train_policy_value(input_path, output_path, config, best_output_path) 学習実行。
policy_value_loss(output, batch, ...) model output と batch から loss/metrics を作る。
resolve_model_config(...) model construction config を決める。
load_compatible_model_state(...) checkpoint 互換 load。
load_unified_feature_tables_from_jsonl(...) JSONL metadata から static feature tables を作る。
policy_value_checkpoint_payload(...) checkpoint 保存 payload。

CLI Usage

PYTHONPATH=src uv run python -m pca.training.train \
  --input data/selfplay/example.jsonl \
  --output checkpoints/policy_value.pt \
  --best-output checkpoints/policy_value_best.pt \
  --epochs 3 \
  --batch-size 64 \
  --model-class unified

Notes

  • TrainConfig.streaming=True の場合、大きい JSONL を memory に載せずに学習する。
  • policy_target_sourcesearch / oracle などを切り替える。
  • aux prize / integrated belief は config の profile と weight が 0 でないと loss に入らない。