Model details
Table with columns: Field, Value| Field | Value |
|---|
| Developer | Ulam AI |
| Repository | ulamai/ulam-1 |
| Release | v1.0.0 |
| Base model | Qwen/Qwen3.8-27B |
| Architecture | Qwen3_5ForConditionalGeneration |
| Parameters | 27,356,728,560 |
| Weight dtype | BF16 |
| Native position setting | 262,144 tokens |
| Validated serving context | 131,072 tokens |
| Selected checkpoint | Math-RL v3 seed 303 checkpoint 80 |
| Distribution format | Standalone merged safetensors model |
The 262,144-token architectural setting is not a guarantee that every deployment can serve that length. Context capacity and concurrency depend on accelerator memory, KV-cache settings, serving engine, and workload. Validate the intended configuration before production use.
Ulam-1 retains the upstream multimodal architecture. The same processor supports text-only, image, and video messages; Ulam post-training and the reported ErdosBench audit are text-focused.
import torch
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "ulamai/ulam-1"
processor = AutoProcessor.from_pretrained(
model_id,
trust_remote_code=False,
)
model = AutoModelForMultimodalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=False,
)
messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Prove that there are infinitely many prime numbers.",
}
],
}
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.inference_mode():
output = model.generate(
**inputs,
do_sample=False,
max_new_tokens=4096,
)
completion = output[0, inputs["input_ids"].shape[-1]:]
print(processor.decode(completion, skip_special_tokens=True))
The model operates in thinking mode by default and can emit explicit <think>...</think> spans. Applications should deliberately retain, route, or suppress those spans rather than assuming they are absent.
Serving with SGLang
python3 -m sglang.launch_server \
--model-path ulamai/ulam-1 \
--served-model-name ulamai/ulam-1 \
--host 0.0.0.0 \
--port 30000 \
--tp-size 1 \
--context-length 131072
Example OpenAI-compatible request:
curl http://localhost:30000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "ulamai/ulam-1",
"messages": [
{"role": "user", "content": "Solve x^2 - 5x + 6 = 0."}
],
"temperature": 0,
"max_tokens": 4096
}'
Start with a smaller context or fewer concurrent requests if the target accelerator cannot sustain the validated configuration. Long mathematical generations can consume substantial KV-cache memory even when the model weights fit comfortably.
Release validation
The final adapter was merged into the pinned BF16 base with safe merge enabled. The standalone release contains 15 safetensors shards, retains 27,356,728,560 runtime parameters, and preserves the upstream processor and multimodal assets.
A private NVIDIA DGX Spark/GB10 SGLang smoke test loaded the merged model with a 131,072-token context, BF16 KV cache, and two concurrent request slots. /health, /v1/models, and /v1/chat/completions passed, and the requested smoke response returned exactly READY. This is a tested compatibility configuration, not a minimum-memory claim.
The final tree passed native Transformers generation with trust_remote_code=False, base-plus-adapter versus merged-model equivalence checks, full tensor and checksum validation, and clean-download validation at the immutable release commit. Machine-readable build, equivalence, and runtime receipts are included in this repository.
Intended uses
- exploratory mathematical problem solving with human review;
- proof debugging, obstruction finding, and statement checking;
- research-progress summaries and candidate approaches;
- research on verifier-backed mathematical post-training;
- text-focused inference and experimental multimodal mathematical assistance;
- local or hosted inference through standard Transformers and SGLang interfaces.
Out-of-scope uses
- treating generated arguments as formally verified proofs;
- autonomous theorem announcements or unsupervised research publication;
- factual or literature citation without checking primary sources;
- high-stakes medical, legal, financial, or safety decisions;
- autonomous tool use or agentic API operation without separate validation;
- redistributing protected benchmark prompts, private training rows, verifier controls, or reviewer material.
See RESPONSIBLE_USE.md for deployment guidance.
Training lineage
Qwen/Qwen3.8-27B (pinned revision)
-> curated research-reasoning SFT, seed 303 checkpoint 33
-> V-RLVR seed 202 checkpoint 2 (U2)
-> conclusion-focused Math-RL v2 seed 404 checkpoint 58
-> conclusion-focused Math-RL v3 seed 303 checkpoint 80
-> standalone merged Ulam-1 candidate
Every selected stage continues from the retained state produced by the preceding stage. The final checkpoint is not an independent adapter applied directly to the public Qwen base. Post-training adapters target the text decoder; the upstream vision branch remains frozen.
Training data
Ulam AI develops mathematical training data as a data vendor. The complete production mixture, private rows, and intermediate training artifacts are not disclosed. The following public repositories provide representative inspection samples and task formats:
These repositories are not complete dumps of the proprietary training corpus. Protected ErdosBench prompts, answers, grades, reviewer notes, and final-evaluation artifacts were excluded from the final-stage training builders.
Post-training objectives
The retained pipeline combines:
- supervised research-reasoning refinement;
- verified-reward optimization;
- conclusion-focused mathematical reinforcement learning;
- correctness-dominant reward shaping;
- terminal credit assignment spanning the reasoning suffix and final answer.
The final reward assigns 0.95 weight to verifier correctness, 0.01 to valid terminal format, 0.01 to EOS, and up to 0.03 to correctness-gated concision. An incorrect but formatted response can receive at most 0.02 auxiliary reward. A missing natural reasoning close receives a 0.005 penalty. Actor credit covers the final 512 sampled tokens, including the reasoning suffix and answer; controller-inserted boundary tokens receive no policy credit.
Evaluation
ErdosBench
The final candidate received one independent solve-only attempt on each of 226 protected problem variants. Generation used SGLang, temperature 0, top-p 1, a 131,072-token server context, and at most 120,000 output tokens.
Table with columns: Artifact, A, B, C, D, F, M, Mean / 4, A+B, Natural stop, Length hit| Artifact | A | B | C | D | F | M | Mean / 4 | A+B | Natural stop | Length hit |
|---|
| Ulam-1 seed303 cp80 | 19 | 118 | 82 | 5 | 2 | 0 | 2.385 | |
Grades use A/B/C/D/F/M = sound and scoped / useful but incomplete / material gap / likely wrong / contradicted / missing, mapped to 4/2.7/1.7/1/0/0 points. ErdosBench is used here as a correctness-first signal for research-mathematics progress, not as theorem certification.
The two rows share 226 problem identities but are not protocol-matched. The candidate used transformed solve-only prompts, SGLang, and a 120,000-token cap; CURRENT-SFT used a different protected prompt asset, vLLM, and a 65,536-token cap. Of the candidate's 163 natural stops, 117 occurred at or beyond 65,536 generated tokens. The comparison supports selecting seed303 checkpoint 80 under the intended long-output service protocol, but it does not isolate a checkpoint-only training effect.
The solve-only protocol did not request a self-verdict. A heuristic strong-claim audit identified 132 responses containing language such as "we prove", "we solve", "false", or "counterexample". These received 19 A, 93 B, 14 C, 5 D, and 1 F grades. Across the full run, seven outputs were graded D or F. Strong claims remain subject to independent expert or formal review.
SIMOBench was deliberately excluded from this final checkpoint-selection decision.
Development-time selection evidence
Intermediate development repeatedly used 139-item ErdosBench slices to compare supervised mixtures, reinforcement-learning doses, and later endpoints. V-RLVR seed 202 checkpoint 2 scored 0.3743135 on the matched selector, compared with 0.371908 for the previous U1 selection, and became the parent of the conclusion-focused stages. These consumed development slices are model-selection evidence, not untouched generalization estimates.
Machine-readable metrics and claim boundaries are provided in evaluation_results.json.
Limitations
- Outputs are not formal proofs and can contain subtle or decisive mathematical errors.
- The 226-problem audit uses one deterministic generation and one supplied item-level judgment pass.
- Eighty-two candidate outputs retain material mathematical gaps; seven are graded D or F.
- The candidate and CURRENT-SFT comparison differs in prompt transformation, inference engine, and output cap.
- Intermediate checkpoint selection repeatedly consumed ErdosBench-family development slices.
- No sampling-variance estimate or inter-rater agreement statistic is available for the final audit.
- The full response archive and protected prompts are not distributed in the model repository.
- The model can expose reasoning spans or fail to produce a compact terminal answer.
- The retained vision branch was not independently evaluated after text-only Ulam post-training.
- Quantized runtimes and serving configurations other than the recorded Transformers and SGLang setups require independent validation.
Reproducibility and integrity
release_manifest.json records the public file inventory and validation state.
provenance.json describes the public lineage without private storage paths or proprietary rows.
evaluation_results.json contains publishable aggregate results, protocol details, and claim boundaries.
build_receipt.json and sglang_smoke_receipt.json record the sanitized merge and serving checks.
checksums.sha256 binds every publication file except the checksum manifest itself.
Use the immutable v1.0.0 tag for reproducible downloads. Do not treat a mutable main revision as the canonical scientific artifact.
License
Ulam-1 weights and repository content are released under the Apache License 2.0. The upstream Qwen3.8-27B model is also licensed under Apache 2.0; upstream terms and attribution are recorded under UPSTREAM_LICENSES/.
Citation
@misc{ulam2026ulam1,
title = {Ulam-1: Conclusion-Focused Post-Training for Research Mathematics},
author = {{Ulam AI}},
year = {2026},
howpublished = {Hugging Face model release},
url = {https://huggingface.co/ulamai/ulam-1}
}
The complete technical report is included under paper/.
For model questions, data licensing, deployment guidance, or responsible disclosure, contact Ulam AI through ulam.ai.