qwenjev / Makefile
tchbcb's picture
QwenJev v0.4.3: 25-public-games eval in-repo (run_eval incremental report, fetch_games, CPU feasibility verified)
2bc1c6b verified
Raw History Blame Contribute Delete
2.88 kB
.PHONY: setup smoke collect build-data distill train-s1 calibrate eval eval-v2 eval-25 eval-cpu fetch-games agent-local push-hf test clean
PY ?= python3.13
setup: ## create venv and install deps (Python 3.12+ required)
$(PY) -m venv .venv
.venv/bin/pip install -U pip
.venv/bin/pip install -r requirements.txt
@echo ">> done. activate with: source .venv/bin/activate"
smoke: ## FULL local bring-up on the built-in mock game (no GPU, no downloads)
$(PY) data/collect_selfplay.py --config configs/collect.yaml
$(PY) data/build_dataset.py --in data/traces --out data/dataset
$(PY) train/distill_alignment.py --config configs/train.yaml
$(PY) train/train_system1.py --config configs/train.yaml
$(PY) train/calibrate_rlcd.py --config configs/train.yaml
$(PY) train/evaluate_local.py --config configs/train.yaml --games mock-pushbox
collect: ## self-play trace collection (mock game or public games)
$(PY) data/collect_selfplay.py --config configs/collect.yaml
build-data: ## traces -> decision-question training samples
$(PY) data/build_dataset.py --in data/traces --out data/dataset
distill: ## stage A: align student (image+text) states with the frozen teacher's vision tower
$(PY) train/distill_alignment.py --config configs/train.yaml
train-s1: ## stage B: train System-1 decision heads (choice CE, NanoJev recipe)
$(PY) train/train_system1.py --config configs/train.yaml
calibrate: ## stage C: RLCD calibration + temperature fitting (absorbed from Laya)
$(PY) train/calibrate_rlcd.py --config configs/train.yaml
eval: ## evaluate the hybrid agent (mock game by default)
$(PY) train/evaluate_local.py --config configs/train.yaml --games mock-pushbox
eval-v2: ## one-command eval of the released v2 checkpoint (auto backend; see ops/run_eval.py)
$(PY) ops/run_eval.py --checkpoint hf:tchbcb/qwenjev@t4_assets_v2/checkpoints --games mock
eval-25: ## evaluate on the 25 public games (needs arc-agi + environment_files, see train.md §4.1)
$(PY) ops/run_eval.py --checkpoint hf:tchbcb/qwenjev@t4_assets_v2/checkpoints --games all25
eval-cpu: ## CPU harness test (tiny backend, no checkpoint, 60 actions)
$(PY) ops/run_eval.py --backend tiny --no-checkpoint --games mock --max-actions 60
fetch-games: ## cache all 25 public games locally (anonymous arcade key, ~3MB, no Kaggle account)
$(PY) ops/fetch_games.py
agent-local: ## run the hybrid agent locally via the ARC-AGI-3-Agents runner
$(PY) ../ARC-AGI-3-Agents/main.py --agent=qwenjevagent --game=ls20
push-hf: ## push this repo to HuggingFace (HF_TOKEN from env or .secrets)
$(PY) scripts/push_hf.py
test: ## unit tests (CPU-only, no downloads)
$(PY) -m pytest tests -q
clean:
rm -rf __pycache__ .pytest_cache build data/traces data/dataset eval_report.json