Mammoth 1 And Elephant 1 Frontier Decision Models
Captured source
source ↗
Please rotate your device
To continue exploring this website, please rotate your device to a vertical orientation
Research
Mammoth-1 and Elephant-1: frontier decision models
We provide the technical report for training the world's best decision models.
Authors
!max kirkbyMax Kirkby
!Michael PsenkaMichael Psenka
!thomasThomas Villeneuve
!Aaryam Sharma headshotAaryam Sharma
!CharlesCharles O'Neill
Date
October 21, 2026
Decisions, decisions, decisions. Training a frontier decision model is about data, data, data. Today we release the two best decision models in the world: elephant-1 (9B) and mammoth-1 (27B).
The decision model format was introduced by TypeSafe in September 2026 with their release of Jev and the System One API (named after Daniel Kahneman’s description of how the brain uses an intuitive system to make fast decisions). Many other decision models have since been trained and hosted. These models are often compared on two benchmarks:
1. **Jev Decision Index:** composed of 37 public benchmarks, and an undisclosed amount of private tests.
2. **Artificial Analysis Decision Index** : knowledge, reasoning, tool calling and safety evaluations.
Our decision models come in two sizes:
mammoth-1is the best decision model in the world, ranking #1 of 208 models on the Jev Decision Index 0.4.
elephant-1is the best 9B decision model in the world on the Jev Decision Index (beating Jev 1.14) and tied with the previous best decision model d1-ultra on the Artificial Analysis Decision Index. It beats models such as Microsoft-Decision-1, Perplexity Decider v1.1 27B and Jev.
!FigureComparative performance of mammoth-1 and elephant-1 on the Jev Decision Index and our replication of the Artificial Analysis Decision Index. mammoth-1 leads the Jev Decision Index at 71.24; elephant-1 is the top 9B model. On the Artificial Analysis Decision Index, mammoth-1 scores 65.9 and elephant-1 65.2, against the official 65 score for d1-ultra.
In this work we detail how we post-trained Qwen3.5-9B and Qwen3.5-27B to achieve this performance, namely with a) block-bidirectional attention mask for full attention layers (that improves vs causal attention when we fix the data) and b) a highly scalable data recipe.
Background
A decision model takes some _state_ and a set of questions, and returns a probability distribution over each question’s answers. The state is a JSON value (such as a support ticket or a document). Images and video are then referenced inline. Typically, each question has instructions of three types:
1. Choice: 1-255 options that have an optional description (e.g. “which team handles this?”). This is the canonical decision model output (Figure 2), where a probability is returned per option (all summing to 1) and a confidence is given. Typically, the top probability is rescaled such that 0 is a uniform guess and 1 is absolute certainty.
2. Yes/no: descriptions of what counts as true and false, before one number P(true) is returned.
3. Score: a scale of 2-10 levels (e.g. “how upset is the customer?”, 0 = calm to 4 = furious). A probability per level (summing to 1) is then returned, along with the expected level (the probability-weighted average) and a confidence which is 1 when all probability sits on one level, 0 when it’s uniformly distributed.
Normal language models are of course able to make the exact same decisions, but are very inefficient when doing so, needing to decode into text and have the answer parsed from the generated outputs. In addition, such text, unless explicitly prompted, provides no reliable measure of its own certainty.
In contrast, decision models a) do not need to parse given the answer is one of the given options; b) are cheap because nothing is generated; c) easily thresholdable, meaning an option can be chosen or escalated only when that option is likely enough; and finally d) we can train them to be uncertainty calibrated.
Method
2.1 Formulation
As described, a single decision model request is a state sss and a set of questions. A question qqq has instructions and an ordered option set Oq=(o1,…,ok)O\_q = (o\_1, \\dots, o\_k)Oq=(o1,…,ok). For each question, the model then returns a probability distribution p∈Δk−1p \\in \\Delta^{k-1}p∈Δk−1 over the options.
TypeOptionsWhatwereportChoice1≤k≤255 named optionsp,argmaxipi,c=maxipi−1/k1−1/kYes/nok=2 (true, false)ptrueScore2≤k≤10 ordered levels0,…,k−1p,E\[level\]=∑iipi,c\\begin{array}{l\|l\|l} \\textbf{Type} & \\textbf{Options} & \\textbf{What we report} \\\\\hline \\text{Choice} & 1 \\le k \\le 255\\text{ named options} & p,\ \\arg\\max\_i p\_i,\ c=\\dfrac{\\max\_i p\_i-1/k}{1-1/k} \\\\[1em\] \\text{Yes/no} & k=2\\text{ (true, false)} & p\_{\\mathrm{true}} \\\\[1em\] \\text{Score} & \\begin{gathered}2 \\le k \\le 10\\text{ ordered levels}\\\0,\\ldots,k-1\\end{gathered} & p,\ E\[\\mathrm{level}\]=\\sum\_i i\\,p\_i,\ c \\end{array}TypeChoiceYes/noScoreOptions1≤k≤255 named optionsk=2 (true, false)2≤k≤10 ordered levels0,…,k−1What we reportp,argmaxipi,c=1−1/kmaxipi−1/kptruep,E\[level\]=∑iipi,c
Note, we train and evaluate calibration on ppp alone.
2.2 Readout
Each request is one shared prefix xPx\_PxP that contains the system prompt and the state, followed by one suffix...
Excerpt shown — open the source for the full document.
Notability
notability 7.0/10Notable model release; lacks traction data