Model reference · open weights
Trinity-Large-Thinking is an open-weight language model from arcee-ai. Trinity-Large-Thinking-W4A16 (INT4) weighs 213 GB; the smallest configuration that runs it is 2× H200 141 GB.
Summary of the arcee-ai/Trinity-Large-Thinking model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | arcee-ai |
|---|---|
| Released | 2026-04-01 |
| Parameters | 398.6B |
| VRAM | 213 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … B200 180 GB 12 smaller cards | — | — | — | |
| 2× H200 141 GB tensor parallel | 22 | 7 | all 256K | 138 GB a card |
| 4× H100 80 GB tensor parallel | 32 | 11 | all 256K | 78.1 GB a card |
| 4× A100 80 GB tensor parallel | 46 | 26 | all 256K | 78.2 GB a card |
| 2× B200 180 GB tensor parallel | 57 | 14 | all 256K | 176 GB a card |
| 4× RTX PRO 6000 Blackwell 96 GB tensor parallel | 63 | 22 | all 256K | 93.8 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 217 GB | 218 GB |
| 5 | 225 GB | 232 GB |
| 8 | 231 GB | 243 GB |
| 16 | 247 GB | 271 GB |
| 32 | 279 GB | 327 GB |
| 64 | 343 GB | 440 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Trinity-Large-Thinking ↗ | 398.6B | BF16 | 797 GB | 8× H200 141 GB |
| Trinity-Large-Thinking-NVFP4 ↗ | 202.9B | NVFP4 | 235 GB | 2× H200 141 GB |
| Trinity-Large-Thinking-W4A16 (above) ↗ | 57.3B | INT4 | 213 GB | 2× H200 141 GB |
From the model card
src="https://cdn-uploads.huggingface.co/production/uploads/6435718aaaef013d1aec3b8b/i-v1KyAMOW_mgVGeic9WJ.png" alt="Arcee Trinity Large Thinking" style="max-width: 100%; height: auto;" >
Trinity-Large-Thinking is a reasoning-optimized variant of Arcee AI's Trinity-Large family — a 398B-parameter sparse Mixture-of-Experts (MoE) model with approximately 13B active parameters per token. Built on Trinity-Large-Base and post-trained with extended chain-of-thought reasoning and agentic RL, Trinity-Large-Thinking delivers state-of-the-art performance on agentic benchmarks while maintaining strong general capabilities.
Trinity-Large-Thinking generates explicit reasoning traces wrapped in ... blocks before producing its final response. This thinking process is critical to the model's performance — thinking tokens must be kept in context for multi-turn conversations and agentic loops to function correctly.
Try it at chat.arcee.ai
More details on the training of Trinity Large are available in the technical report.
... blocksThe Trinity Large family consists of four checkpoints:
Trinity-Large-Thinking shares the same sparse MoE architecture as Trinity-Large-Preview.
| Hyperparameter | Value |
|---|---|
| Total parameters | ~398B |
| Active parameters per token | ~13B |
| Experts | 256 (1 shared) |
| Active experts | 4 |
| Routing strategy | 4-of-256 (1.56% sparsity) |
| Dense layers | 6 |
| Pretraining context length | 8,192 |
| Context length after extension | 512k |
| Architecture | Sparse MoE (AfmoeForCausalLM) |
| Benchmark | Trinity-Large-Thinking | Opus-4.6 | GLM-5 | MiniMax-M2.7 | Kimi-K2.5 |
|---|---|---|---|---|---|
| IFBench | 52.3 | 53.1 | 72.3 | 75.7 | 70.2 |
| GPQA-Diamond | 76.3 | 89.2 | 81.6 | 86.2 | 86.9 |
| Tau2-Airline | 88.0 | 82.0 | 80.5 | 80.0 | 80.0 |
| Tau2-Telecom | 94.7 | 92.1 | 98.2 | 84.8 | 95.9 |
| PinchBench | 91.9 | 93.3 | 86.4 | 89.8 | 84.8 |
| AIME25 | 96.3 | 99.8 | 93.3 | 80.0 | 96.3 |
| BCFLv4 | 70.1 | 77.0 | 70.8 | 70.6 | 68.3 |
| MMLU-Pro | 83.4 | 89.1 | 85.8 | 80.8 | 87.1 |
| SWE-bench Verified* | 63.2 | 75.6 | 72.8 | 75.4 | 70.8 |
*All models evaluated in mini-swe-agent-v2
Trinity-Large-Thinking produces reasoning traces inside ... blocks before generating its final response.
This means:
The model reasons internally before producing its response. When served via vLLM, the reasoning is separated into a dedicated field in the API response:
// API response structure
{
"message": {
"role": "assistant",
"reasoning_content": "The user wants flight information. I need to determine the date for next Tuesday, search for flights SFO → JFK, and filter by price < $300.",
"content": "\n",
"tool_calls": [{
"function": {
"name": "search_flights",
"arguments": "{\"origin\": \"SFO\", \"destination\": \"JFK\", \"date\": \"2026-04-07\", \"max_price\": 300}"
}
}]
}
}
When building multi-turn agentic loops, you must pass reasoning_content back on assistant messages in subsequent requests. The chat template reads this field and re-wraps it in ... tags during tokenization, maintaining the model's chain-of-thought across turns.
What happens if reasoning is omitted entirely? The model can lose prior chain-of-thought context. On simple tasks this may work fine, but on complex multi-step agentic tasks, the model can produce malformed tool calls (e.g., tool call XML appearing inside the reasoning field instead of as structured tool_calls). For best results, always preserve reasoning_content and use "" instead of null for content on tool-call turns.
For implementation details, pitfalls (reasoning vs reasoning_content), and Python/TypeScript examples, see Reasoning Traces.
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.