/ Модель

Характеристики

Лицензия
Apache 2.0
Опубликована
18 июл 2026

satp-policy-v2-alphaproof

Обучение с подкреплением

Политика ByT5 формирует конфигурации aesop для автоматического поиска доказательств теорем в Lean 4.

0скачиваний за 30 дней1лайквеса обновлены21 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

satp-policy-v2-alphaproof — специализированная политика на базе ByT5 размером 0,2 млрд параметров, разработанная ChristianZ97 для настройки поиска доказательств в Lean 4. На вход она получает состояние цели, а на выходе формирует конфигурацию aesop для конкретной задачи: бюджет поиска, параметры набора правил, дополнительные тактики и леммы. Модель использует ByT5 из kaiyuy/leandojo-lean4-retriever-byt5-small с адаптерами LoRA и многоголовочную политику совместного выбора действий; репозиторий содержит веса PyTorch и отдельный скрипт инференса.

На наборе miniF2F модель решила 99 из 244 задач валидации (40,6%) и 92 из 244 тестовых задач (37,7%) при жадном декодировании и проверке в Lean 4 v4.26.0. Эти результаты относятся к описанной конфигурации и набору данных; показатель тестовой выборки проверялся один раз и не прошёл такую же двухбэкендовую проверку аксиом, как валидационная выборка. Для работы требуется окружение Lean 4 и Mathlib, а базовая ByT5 загружается отдельно при первом запуске. Лицензия — Apache-2.0.

Сценарии применения

  • подбор бюджета поиска aesop для цели Lean 4
  • выбор параметров и правил aesop для миниF2F
  • добавление подходящих лемм Mathlib к поиску доказательства
  • автоматизированное доказательство задач на Lean 4

Ограничения

В миниF2F решает 40,6% задач валидации и 37,7% тестовых задач в описанной конфигурации. Для инференса нужны Lean 4 v4.26.0 и Mathlib; тестовый результат не прошёл двухбэкендовую проверку аксиом.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

satp-policy-v2-alphaproof

A 0.2B ByT5 policy that reads a Lean 4 goal state and emits a per-problem aesop configuration — search budget, rule-set options, and extra tactic and lemma rules. This repository is a self-contained inference bundle: checkpoint plus a standalone infer.py (no training-repo dependencies), forward-equivalent to the training policy.

The checkpoint is the overall best of a completed 20-epoch run, selected by validation (wandb-logged step 2336; the checkpoint file records internal step 2300). The test split was evaluated once against it at run end.

Results

miniF2F (ChristianZ97/minif2f-satp-alphaproof pinned at revision 81a8abfa — infer.py resolves the dataset at this immutable commit; override with SATP_DATASET_REVISION), greedy decode, statements submitted raw (Lean default maxHeartbeats 200000), Lean 4 v4.26.0. The validation split is evaluated and independently reproduced below; the test split was evaluated once at this final best checkpoint when the run completed:

splitsolved
validation40.6% (99/244)
test37.7% (92/244)
ablation (validation)solved
satp40.6% (99/244)
w/ default search budget40.6% (99/244)
w/o additional lemma34.8% (85/244)
w/o additional tactic31.6% (77/244)
aesop11.5% (28/244)

The validation number has been independently re-run through this bundle's infer.py and matches the training-time value exactly. Every number above — the split and all ablation rows — is verified per problem by two independent backends (the Kimina server, and one lake env lean per proof) with identical solved sets, and gated by #print axioms as the arbiter: a counted proof compiles, contains no sorry, and depends on no axioms beyond propext, Classical.choice, Quot.sound (388 row×problem checks, all clean). The input path is verified end to end: live goal states collected by the satp tactic (Meta.ppGoal) are byte-identical to the dataset goal_state on all 244 problems, the service decode is byte-identical to this bundle's decode (244/244), and a full satp? sweep through the Lean tactic solves the identical 99-problem set. The test number is the training-run FINAL evaluation (Kimina backend, all 244 problems evaluated); it has not been put through the two-backend axiom audit above. A distilled static row is not published for this checkpoint.

Checkpoint

run2rorv25g (wandb satp-v2), epoch 14, seed 1827 — final best of the completed 20-epoch run; best-val event at wandb step 2336, checkpoint file records step 2300
verifierKimina-Lean Server, Lean 4 v4.26.0
architectureByT5(kaiyuy/leandojo-lean4-retriever-byt5-small)+LoRA(r16,α32,q/k/v/o) mean-pool → shared MLP → 69-head joint action (28 tactic ×10-way + 32 lemma ×172-way + 4 config_level + 5 config_binary) + dense premise retrieval

172-way lemma decision = off + 19 hosts × 3 type × 3 priority; the positivity tactic rule is included, with no positivity lemma host.

Files

best_checkpoint.pt            # 1.12 GB — infer.py reads model_state_dict only
infer.py                      # load → retrieve → greedy-decode → Kimina verify
reproduce.py                  # validation-split repro, kimina | lake verifier (imports infer.py)
cache/premise_embeddings.npy  # 1.0 GB — 180,957 × 1472 premise embeddings
cache/mathlib4_premises.txt   # 38 MB — premise names, index-aligned

Premise corpus = LeanDojo Benchmark-4 v10; embeddings come from the frozen retriever → verifier-version independent. ByT5 base auto-downloads on first run.

Run

pip install torch transformers numpy requests huggingface_hub datasets
hf download ChristianZ97/satp-policy-v2-alphaproof --local-dir satp-policy-v2-alphaproof
cd satp-policy-v2-alphaproof
KIMINA_URL=http://localhost:8000 python infer.py
vardefaultmeaning
KIMINA_URLhttp://localhost:8000Kimina /verify endpoint
SATP_SPLITvalidationor test
SATP_DATASET_REVISION81a8abfa…dataset commit infer.py resolves (pinned)
SATP_LIMIT0>0 → first N problems only
SATP_CKPT./best_checkpoint.ptcheckpoint path
SATP_CACHE./cachepremise files dir
SATP_HEARTBEATS0unset1 → remove the heartbeat cap (diagnostic; reported numbers use the default)
SATP_LEAN_TIMEOUT300server-side Lean timeout (s); HTTP timeout = +60

Verification is sequential (one POST per problem, retried with backoff). Header-less statements get the training header prepended.

Reproduce

reproduce.py re-runs the miniF2F validation split end-to-end over the same greedy decode and compares against 99/244, with either verifier:

KIMINA_URL=http://localhost:8000 python reproduce.py kimina
SATP_LAKE_DIR=/path/to/lean-v4.26-project python reproduce.py lake   # no server

lake runs one lake env lean per problem (300 s timeout) inside any Lean v4.26 project with Mathlib built; writes reproduce_<backend>.jsonl ({name, success, tactic, code} per problem). Greedy decode is deterministic; the test split runs too (SATP_SPLIT=test; reference 92/244).

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

RL-агенты не запускаются как сервис инференса.

Ревизия весов
3457a32

0 моделей