set shell := ["bash", "-cu"] default: @just --list check: test smoke build test: uv run --extra test pytest -q smoke: uv run --extra test --extra benchmark pytest -q tests/test_metamath_smoke.py -k test_metamath_quick_train_save_load bnb-smoke: uv run --extra test --extra benchmark --extra bnb-test pytest -q tests/test_metamath_smoke.py -k test_attach_on_bnb_loaded_base build: rm -rf dist uv build uv run --extra build twine check dist/* qwen-probe variants="lora pissa delora ia3" steps="5": #!/usr/bin/env bash set -euo pipefail for variant in {{variants}}; do uv run --extra benchmark python scripts/metamath_gsm8k_benchmark.py \ --mode probe \ --model Qwen/Qwen3-0.6B-Base \ --variant "$variant" \ --steps {{steps}} \ --batch-size 1 \ --batch-size-eval 10 \ --max-train-samples 32 \ --max-eval-samples 10 \ --max-new-tokens 32 \ --max-seq-length 384 \ --r 4 \ --alpha 8 \ --layers 0 \ --lr 5e-3 \ --target-name 'model\.layers\.0\.self_attn\.(q_proj|v_proj)$' done qwen-queue variants="lora pissa delora ia3" steps="16": #!/usr/bin/env bash set -euo pipefail pueue add \ -l "why: verify Qwen0.6B train/save-load proof for {{variants}} at {{steps}} steps via benchmark probe mode; resolve: publish only if exact layer0 q/v targets, lora-only grads, perturb>0, reloadGSM8K benchmark for {{model}} {{variant}} at {{steps}} steps; resolve: result JSON under outputs/metamath_gsm8k proves grad>0 dθ>0 base_grad_leaks=0 and reports valid/test accuracy" \ -w "$PWD" -o 1 -- \ uv run --extra benchmark python scripts/metamath_gsm8k_benchmark.py --model {{model}} --variant {{variant}} --steps {{steps}} metamath-queue-all model="Qwen/Qwen3-0.6B-Base" steps="5000" variants="lora pissa delora dora hra ia3 ia3_ff eva antipasto": #!/usr/bin/env bash set -euo pipefail for variant in {{variants}}; do lr=1e-4 extra_args=(--target-name '(q_proj|v_proj)$' --layers all --r 32 --alpha 64) case "$variant" in delora) lr=1e-3 ;; ia3) lr=1e-3 extra_args=(--target-name '(k_proj|v_proj)$' --layers all --r 32 --alpha 64) ;; ia3_ff) lr=1e-3 extra_args=(--target-name '(down_proj)$' --layers all --r 32 --alpha 64) ;; eva) lr=1e-4 ;; antipasto) lr=1e-4 ;; esac pueue add \ -l "why: benchmark {{model}} ${variant} on MetaMathQA->GSM8K at {{steps}} steps; resolve: outputs/metamath_gsm8k/results/benchmark_results.tsv gets a row with accuracy commit time method argv and result JSON for ${variant}" \ -w "$PWD" -o 1 -- \ bash -c "uv run --extra benchmark python scripts/metamath_gsm8k_benchmark.py --model {{model}} --variant $variant --steps {{steps}} --lr $lr $(printf '%q ' "${extra_args[@]}")" done