Model reference · open weights
AREX-2 is an open-weight language model from BAAI. AREX-2 (BF16) weighs 54.7 GB; the smallest configuration that runs it is H100 80 GB.
What it is
| Released by | BAAI |
|---|---|
| Type | Language models |
| Task | Vision + text |
| Parameters (lead) | 27.4B |
| Context | 262,144 tokens |
| Runs with | transformers |
| Based on | Qwen/Qwen3.8-27B |
| Released | 2026-09-29 |
| Popularity | 0 downloads / month |
| Weights | 54.7 GB (AREX-2 (BF16), file size) |
| Licence | Open weights |
What it runs on
Weights 54.7 GB (file size) · KV cache 66 MB per 1,000 tokens of context, at 16 bits (vLLM's default for this build; an 8-bit cache halves it) · 308 MB of fixed state per request · runtime overhead from 2.2 GB on a small card · context up to 262,144 tokens.
| Card | Requests at once 8K tokens each | Requests at once 32K tokens each | Longest single request | Counted memory |
|---|---|---|---|---|
| RTX 3060 12 GB … L40S 48 GB 6 smaller cards | — | — | — | |
| A100 80 GB | 25 | 8 | all 256K | 78.2 GB |
| H100 80 GB | 18 | 6 | 227K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 37 | 12 | all 256K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 53 | 18 | all 256K | 107 GB |
| H200 141 GB | 89 | 30 | all 256K | 138 GB |
| B200 180 GB | 133 | 45 | all 256K | 176 GB |
| 2× L40S 48 GB tensor parallel | 34 | 11 | all 256K | 44.0 GB a card |
| 4× RTX 4090 24 GB tensor parallel | 35 | 12 | all 256K | 23.4 GB a card |
| 4× RTX 3090 24 GB tensor parallel | 35 | 12 | all 256K | 23.4 GB a card |
| 4× RTX 5090 32 GB tensor parallel | 71 | 24 | all 256K | 31.0 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 57.8 GB | 59.4 GB |
| 5 | 61.1 GB | 69.2 GB |
| 8 | 63.7 GB | 76.6 GB |
| 16 | 70.4 GB | 96.2 GB |
| 32 | 83.9 GB | 135 GB |
| 64 | 111 GB | 214 GB |
On one card, with vLLM's small-card settings (2,048 tokens a step). Cards of 70 GB and more reserve more per request and more overhead — each row above uses its own card's settings.
Estimates, not measurements, checked against published vLLM startup logs. The weights are the build's file size; the cache is calculated from its config (hybrid: linear attention with full attention every few layers); the overhead is an estimate of vLLM's own memory with that card's default settings. "Requests at once" is how many requests of that length vLLM admits — its reservation at full length, with --max-model-len set to that length; requests that stay shorter fit more. "Longest single request" is the most one request can hold there: below the model's maximum, vLLM starts only with --max-model-len set at or under it. "Counted memory" is vLLM's default 92 % of what CUDA reports for the card (the DGX Spark: about 100 GiB of its shared 128 GB). A tensor-parallel split pools the cards' memory and speeds each token up, at the cost of the link between them; a layer split (llama.cpp) holds more but does not make one request faster. Assumes vLLM 0.10 or later.
From the model card
AREX-2 is a 27B-parameter long-horizon agent model from the Beijing Academy of Artificial Intelligence (BAAI). It learns to improve a solution over multiple test-time rounds: propose, measure, reflect, and revise.
AREX-2 is trained on machine-learning and algorithmic-programming tasks with verifiable feedback, together with the existing AREX deep-research data. The learned self-improvement behavior transfers to deep research without adding new search trajectories.
AREX-2 is evaluated on algorithmic programming, machine-learning engineering, deep research, and general agentic reasoning. Results follow the protocols reported in the AREX-2 paper.
averaged over three seeds.
text-only subset.
Use a recent Transformers release with Qwen3.8 support.
pip install -U torch transformers accelerate
import torch
from transformers import AutoModelForMultimodalLM, AutoProcessor
model_id = "BAAI/AREX-2"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(
model_id, dtype=torch.bfloat16, device_map="auto"
)
messages = [{
"role": "user",
"content": "Propose a solution and explain how you would improve it over several rounds.",
}]
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():
outputs = model.generate(**inputs, max_new_tokens=1024)
print(processor.decode(
outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True
))
AREX-2 is intended for research on long-horizon agents, iterative problem solving, machine-learning engineering, algorithmic coding, and tool-augmented deep research.
AREX-2 is released under the Apache License 2.0. Follow the terms and notices for the Qwen base model and any downstream data or tools.
@misc{baai2026arex,
title={AREX: Towards a Recursively Self-Improving Agent for Deep Research},
author={Lu, Shuqi and Li, Chaofan and Luo, Kun and Zhang, Zhang and Wang, Hui
and Xiao, Hongwang and Xiong, Lei and Wang, Jiahao and Wang, Sen
and Jiang, Xiyan and Li, Wanli and Hu, Yuyang and Qian, Hongjin
and Yan, Bingyu and Xia, Ziyi and Shao, Yingxia and Liu, Kang
and Dou, Zhicheng and He, Di and Li, Chaozhuo and Ye, Qiwei
and Wang, Zhongyuan and Liu, Zheng},
year={2026},
eprint={2607.21461},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2607.21461}
}
Quoted from the model card on Hugging Face — the full card is behind the Hugging Face link above.