Open-source, self-hosted MinT training runtime on AReaL.
MinT SDK . Documentation . Quickstart . MinT Console . Cookbook . AReaL
MinT is RL training infrastructure for LLMs: a script on a CPU-only machine defines the data, loss, and RL environment, and MinT runs the computation across a GPU cluster. Switching models is a one-string change.
AReaL-MinT is an open-source, self-hosted MinT runtime: it exposes the same HTTP API as MinT but runs the work on AReaL (FSDP2 training) and SGLang (inference). The same SDK script runs unchanged against a local deployment.
Under the hood, a FastAPI control plane dispatches each request to its backend: training to AReaL's FSDP2 engine, inference to SGLang with LoRA hot-reload. Every write returns a future the client polls. See Architecture for the request path.
Tinker compatibility. MinT is compatible with the Tinker client surface. Existing Tinker code runs against
AReaL-MinTunchanged by aliasing the import:import mint as tinker.
| Algorithm | Status | Notes |
|---|---|---|
| SFT | Available | LoRA SFT, checkpoint save/load, resume, sampler handoff |
| GRPO | Available | Group Relative Policy Optimization; group-relative advantages without a value critic |
| Model family | Size | Status | GPU layout |
|---|---|---|---|
| Qwen3.6 | 27B (Dense) | Available | 4 FSDP actor + 4 SGLang rollout |
| Qwen3.6 | 35B-A3B (MoE) | Available | 4 FSDP actor + 4 SGLang rollout |
| Requirement | Version |
|---|---|
| GPU | 8× NVIDIA (4 training + 4 inference) |
| Python | >=3.11,<3.13 |
| torch | >=2.4 with CUDA |
| AReaL | main |
| SGLang | 0.5.10.post1 |
| transformers | >=5.0,<=5.3 |
git clone https://github.com/areal-project/AReaL-MinT.git
cd AReaL-MinT
# Create venv inheriting system packages (torch, sglang, areal, transformers)
python3.12 -m venv --system-site-packages .venv
source .venv/bin/activate
# Install AReaL-MinT
pip install -e '.[gpu]' --no-deps
pip install pyyaml swanlab litellm openai-agents math-verify \
colorlog tenacity uvloop aiohttp aiofiles httpx requests flask \
fastapi pydantic uvicornFor a full install from scratch with uv: uv sync --extra gpu --extra system.
export PATH=$PWD/scripts:$PATH
mintctl start 27b # or: mintctl start 35bModel loads in ~3 minutes. Check with mintctl status, view logs with mintctl logs -f.
bash examples/smoke_e2e.shRuns SFT → GRPO → RL convergence end-to-end (~15 min for 27B).
MinT SDK ──HTTP──▶ AReaL-MinT (FastAPI control plane)
├── service / router session lifecycle & dispatch
├── future_store async result polling
├── ArealTrainingBackend FSDP2 training (SFT | GRPO)
└── ArealInferenceBackend SGLang inference + LoRA hot-reload
Training requests go to AReaL's FSDP2 engine (4 GPU). Inference and sampling go to SGLang with LoRA hot-reload (4 GPU). All write operations return a future the client polls — same semantics as hosted MinT.
See the Developer Guide for a full walkthrough of SFT, GRPO, and multi-step RL training patterns.
| Example | Coverage |
|---|---|
smoke_sft.py |
SFT train → sampling → checkpoint resume |
smoke_grpo.py |
Full GRPO cycle: sample → rewards → advantages → train |
smoke_rl_convergence.py |
Multi-step RL, asserts reward improvement |
More examples and training recipes: mint-cookbook.
@misc{mindlab2026mint,
title = {MinT: Managed Infrastructure for Training and Serving Millions of LLMs},
author = {{Mind Lab}},
year = {2026},
eprint = {2605.13779},
archivePrefix = {arXiv},
primaryClass = {cs.LG},
doi = {10.48550/arXiv.2605.13779},
url = {https://arxiv.org/abs/2605.13779},
}