Model reference · open weights
Kimina-Prover is an open-weight language model from AI-MO. Kimina-Prover-Distill-8B (BF16) weighs 16.4 GB; the smallest configuration that runs it is 2× RTX 3060 12 GB.
Summary of the AI-MO/Kimina-Prover-Distill-1.7B model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | AI-MO |
|---|---|
| Released | 2025-07-04 |
| Parameters | 2.0B |
| VRAM | 16.4 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … RTX 4060 Ti 16 GB 2 smaller cards | — | — | — | |
| RTX 3090 24 GB | 5 | 1 | all 40K | 23.4 GB |
| RTX 4090 24 GB | 5 | 1 | all 40K | 23.4 GB |
| RTX 5090 32 GB | 11 | 2 | all 40K | 31.0 GB |
| L40S 48 GB | 22 | 5 | all 40K | 44.0 GB |
| A100 80 GB | 50 | 12 | all 40K | 78.2 GB |
| H100 80 GB | 46 | 11 | all 40K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 59 | 14 | all 40K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 71 | 17 | all 40K | 107 GB |
| H200 141 GB | 96 | 24 | all 40K | 138 GB |
| B200 180 GB | 127 | 31 | all 40K | 176 GB |
| 2× RTX 3060 12 GB tensor parallel | 4 | 1 | 35K | 11.6 GB a card |
| 2× RTX 4060 Ti 16 GB tensor parallel | 10 | 2 | all 40K | 15.4 GB a card |
| 2× RTX 4090 24 GB tensor parallel | 23 | 5 | all 40K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel | 23 | 5 | all 40K | 23.4 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 18.3 GB | 22.0 GB |
| 5 | 23.2 GB | 41.3 GB |
| 8 | 26.8 GB | 55.8 GB |
| 16 | 36.5 GB | 94.4 GB |
| 32 | 55.8 GB | 172 GB |
| 64 | 94.4 GB | 326 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Kimina-Prover-Distill-1.7B ↗ | 2.0B | BF16 | 4.1 GB | RTX 3060 12 GB |
| Kimina-Prover-Distill-8B (above) ↗ | 8.2B | BF16 | 16.4 GB | 2× RTX 3060 12 GB |
| Kimina-Prover-Preview-Distill-1.5B ↗ | 1.8B | BF16 | 3.6 GB | RTX 3060 12 GB |
| Kimina-Prover-Preview-Distill-7B ↗ | 7.6B | BF16 | 15.2 GB | 2× RTX 3060 12 GB |
| Kimina-Prover-72B ↗ | 72.7B | BF16 | 145 GB | 4× L40S 48 GB |
| Kimina-Prover-Distill-0.6B ↗ | 752M | BF16 | 1.5 GB | RTX 3060 12 GB |
From the model card
AI-MO/Kimina-Prover-Distill-1.7B is a theorem proving model developed by Project Numina and Kimi teams, focusing on competition style problem solving capabilities in Lean 4. It is a distillation of Kimina-Prover-72B, a model trained via large scale reinforcement learning. It achieves 72.95% accuracy with Pass@32 on MiniF2F-test.
For advanced usage examples, see https://github.com/MoonshotAI/Kimina-Prover-Preview/tree/master/kimina_prover_demo
You can easily do inference using vLLM:
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_name = "AI-MO/Kimina-Prover-Distill-1.7B"
model = LLM(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
problem = "The volume of a cone is given by the formula $V = \frac{1}{3}Bh$, where $B$ is the area of the base and $h$ is the height. The area of the base of a cone is 30 square units, and its height is 6.5 units. What is the number of cubic units in its volume?"
formal_statement = """import Mathlib
import Aesop
set_option maxHeartbeats 0
open BigOperators Real Nat Topology Rat
/-- The volume of a cone is given by the formula $V = \frac{1}{3}Bh$, where $B$ is the area of the base and $h$ is the height. The area of the base of a cone is 30 square units, and its height is 6.5 units. What is the number of cubic units in its volume? Show that it is 65.-/
theorem mathd_algebra_478 (b h v : ℝ) (h₀ : 0 < b ∧ 0 < h ∧ 0 < v) (h₁ : v = 1 / 3 * (b * h))
(h₂ : b = 30) (h₃ : h = 13 / 2) : v = 65 := by
"""
prompt = "Think about and solve the following problem step by step in Lean 4."
prompt += f"\n# Problem:{problem}"""
prompt += f"\n# Formal statement:\n```lean4\n{formal_statement}\n```\n"
messages = [
{"role": "system", "content": "You are an expert in mathematics and Lean 4."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
sampling_params = SamplingParams(temperature=0.6, top_p=0.95, max_tokens=8096)
output = model.generate(text, sampling_params=sampling_params)
output_text = output[0].outputs[0].text
print(output_text)
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.