CoolFace
Modelpublic

allenai/tmax-4b

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
5likes929downloads
Model Card

image <p align="center"> ๐Ÿ’ป <a href="https://github.com/hamishivi/tmax">Code</a> ยท ๐Ÿค— <a href="https://huggingface.co/collections/allenai/tmax">Models &amp; Data</a> ยท ๐Ÿ“œ <a href="https://arxiv.org/abs/2606.23321">Paper</a> ยท ๐Ÿ““ <a href="https://wai-org.com/blog/tmax/">Blog</a> </p>

[!NOTE] For full information, go check out the Tmax paper here.

TMax 4B

TMax 4B is a model trained using DPPO on top of Qwen 3.5 4B for use as a terminal-agent. It achieves roughly 20% on Terminal Bench 2.0 after 200 steps of RL training.

image

This model is part of a collection of terminal agents in various sizes.

Additionally, we provide model checkpoints as branches of the repository. The main model checkpoint is step 200 as this performed best on TBLite.

Evaluation Results

ModelTB LiteTB 2.1TB 2.0 (daytona)
Qwen 3.5 2B5.71 +/- 1.61.9 +/- 1.42.3 +/- 1.0
Tmax 2B11.8 +/- 1.44.2 +/- 1.22.9 +/- 0.6
Qwen 3.5 4B31.8 +/- 3.8?16.6 +/- 1.7
Tmax 4B (this model!)42.6 +/- 1.519.9 +/- 1.118.9 +/- 1.9
Qwen 3.5 9B41.9 +/- 2.716.1 +/- 3.721.1 +/- 2.6
Tmax 9B57.2 +/- 2.528.8 +/- 3.727.2 +/- 1.5
Qwen 3.6 27B70.8 +/- 2.140.5 +/- 2.439.6 +/- 2.1
Tmax 27B68.6 +/- 4.744.9 +/- 1.842.7 +/- 0.7

For details on evaluation methodology please check our paper. In general, we used a podman (docker) backend with default timeouts and custom harness similar to mini-swe-agent. For the 'daytona' runs, we used the daytona backend. For Lite/2.1, we show mean and standard error over 3 runs. For daytona, we show it over 5 runs.

Model Details

Model Description

<!-- Provide a longer summary of what this model is. -->

  • โ€”Developed by: Ai2
  • โ€”Language(s) (NLP): English
  • โ€”License: Apache 2.0
  • โ€”Finetuned from model [optional]: Qwen 3.5 4B
  • โ€”Dataset: TMax-15k

Use

To use this model, we recommend serving with vllm (or your inference framework of choice) with:

bash
uvx vllm==0.19.1 serve allenai/tmax-4b \
  --served-model-name tmax-4b \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_xml \
  --port 8008 \
  --max-model-len 65536 \
  --tensor-parallel-size 8 \
  --language_model_only

Make sure to set language_model_only as we removed the vision head during training.

For more details on evaluation, please see our codebase.

Hyperparameters

This model was trained using DPPO with the following hyperparameters:

  • โ€”base model: hamishivi/Qwen3.5-4B
  • โ€”Dataset: tmax 15K
  • โ€”Max prompt tokens: 2048
  • โ€”Max per-turn tokens: 16384
  • โ€”Max overall tokens: 65536
  • โ€”Pack length: 67584
  • โ€”Per-device train batch size: 1
  • โ€”Unique prompts per rollout: 8
  • โ€”Samples per prompt rollout: 32
  • โ€”Async steps: 4
  • โ€”Max steps: 64
  • โ€”Learning rate: 1e-6
  • โ€”LR scheduler: constant
  • โ€”Total training steps: 500 steps (this checkpoint is from 200 steps of training, which performed best on TBLite)
  • โ€”Sampling Temperature: 1.0
  • โ€”KL Beta: 0.0
  • โ€”Loss fn: DPPO
  • โ€”Divergence: binary TV
  • โ€”TV threshold: 0.1
  • โ€”Advantage normalization: centered (no division by stdev)
  • โ€”FP32 LM head: true

For more details on training, please see our codebase.

License

This model is licensed under Apache 2.0. It is intended for research and educational use in accordance with Ai2's Responsible Use Guidelines.

Citation

If you use our model or data, please cite our paper:

@misc{ivison2026tmaxsimplerecipeterminal,
      title={Tmax: A simple recipe for terminal agents}, 
      author={Hamish Ivison and Junjie Oscar Yin and Rulin Shao and Teng Xiao and Nathan Lambert and Hannaneh Hajishirzi},
      year={2026},
      eprint={2606.23321},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2606.23321}, 
}