Jais-3-7B (MLX, 8-bit)

8-bit MLX quantization of IFM/Jais-3-7B, converted from revision edc2801. 8.5 bits/weight effective, 9.6 GB on disk. For Apple silicon.

Jais-3-7B is a medium dense Jais-3 model: a 7B decoder-only model with a 512K (524,288-token) context window.

Requirements

mlx-lm doesn't support the k2_horizon architecture (used by Jais-3) yet. Until support lands, this repo ships the MLX model code (k2_horizon.py), which mlx-lm loads through the model_file entry in config.json. So the released mlx-lm works as-is:

pip install -U mlx-lm

Pass --trust-remote-code (or trust_remote_code=True). The file runs on your machine, so read it first if you like; its comments describe how it differs from the PyTorch code.

How it was quantized

Integer affine 8-bit, group size 64, on every linear layer and the embeddings.

Memory

Peak 9.8 GB for a short prompt. The KV cache grows with the context, so long contexts need more memory; --max-kv-size and KV-cache quantization (--kv-bits 8, where available) reduce it.

Conversion check

Checked against the PyTorch code (modeling_k2_horizon.py) in fp32 on the real weights of this model, on English, code, Arabic and math prompts: the logits match to a relative error of 6e-6 or better, the next-token predictions agree at every position, and greedy decoding with the KV cache gives the same tokens as PyTorch (64/64 on every prompt).

Smoke-tested after conversion with released mlx-lm 0.32.0 on English and Arabic chat prompts: answers end normally (the chat template and stop tokens work).

Benchmarks (all Jais-3-7B MLX variants)

Perplexity on 128 × 512 tokens (WikiText-2 test, and the first articles of the Arabic Wikipedia dump 20231101.ar; lower is better) and generation speed on an Apple M4 Max, all measured the same way:

bf16 8-bit 4-bit
Bits/weight 16.0 8.5 6.4
Disk 18.0 GB 9.6 GB 7.2 GB
Peak memory 18.2 GB 9.8 GB 7.4 GB
WikiText-2 perplexity (English) 12.829 12.858 (+0.2%) 13.372 (+4.2%)
Arabic Wikipedia perplexity 17.332 17.350 (+0.1%) 18.129 (+4.6%)
Generation 28.5 tok/s 52.7 tok/s 70.4 tok/s

Perplexity is a coarse signal. Test the versions on your own workload before picking one.

Usage

mlx_lm.generate --model IFM/Jais-3-7B-MLX-8bit --trust-remote-code --prompt "ما هي عاصمة الإمارات؟" --max-tokens 2048
from mlx_lm import load, generate

model, tokenizer = load("IFM/Jais-3-7B-MLX-8bit", trust_remote_code=True)
messages = [{"role": "user", "content": "Explain mixture-of-experts in two sentences."}]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
print(generate(model, tokenizer, prompt, max_tokens=2048))

mlx_lm.chat and mlx_lm.server take the same --trust-remote-code flag.

The model thinks before it answers, inside <ifm|think> … </ifm|think>. Leave room for that in max_tokens. The effort level is set with reasoning_effort in the chat template: "high" (default), "medium" or "low", e.g. apply_chat_template(messages, add_generation_prompt=True, reasoning_effort="low").

Notes:

  • Server output: mlx-lm doesn't recognize the <ifm|think> tags yet, so mlx_lm.server returns the thinking text inside content rather than in a separate reasoning field. The tool-call format isn't parsed yet either.
  • Chat template change: the original template raises an error when an earlier assistant message has no thinking field, which is what OpenAI-style clients send. The template here renders empty thinking for those messages instead. Nothing else was changed.

License

Apache-2.0, inherited from the base model. Refer to the original model card for architecture, benchmarks and intended use.

Citation

@misc{ifm2026jais3introducingarabiccentric,
      title={Jais 3: Introducing Arabic-centric Agentic AI},
      author={Team IFM and Haonan Li and Hadi Abdine and Nikhil Ranjan and Mohamed Anwar and Ahmad Chamma and Amr Mohamed and Ahmed Frikha and Dani Bouch and Maaz Maqsood and George Ibrahim and Mostafa Awad and Nurkhan Laiyk and Hasan Iqbal and Abhishek Maiti and Bilal Bouardi and Shivam Chauhan and Ahmer Tabassum and Owais Aijaz and Omar Arbi and Neha Sengupta and Aaryamonvikram Singh and Abdelhakim Freihat and Sarath Chandran and Rahul Pal and Mohammed Bellam and Sajid Siddiki and Sarah AlBarri and Debopriyo Banerjee and Ali El Filali and Samta Kamboj and Rifo Genadi and Ahmed Attia and Go Inoue and Shuonan Dong and Amine Khelif Khelif and Evan Dufraisse and Florian Valade and Tapas Sen and Guowei He and Sunil Sahu and Onkar Pandit and Kareem Magdy and Sheikh Khalid bin Khalifa Al Nahyan and Samujjwal Ghosh and Zainul Abedien and Ahmed Quraishi and Larry Murray and Avraham Sheinin and Natalia Vassilieva and Preslav Nakov and Guokan Shang and Xuguang Hector Ren and Zhengzhong Liu and Eric Xing},
      year={2026},
      eprint={2611.10224},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2611.10224},
}
Downloads last month
120
Safetensors
Model size
9B params
Tensor type
U32
·
BF16
·
MLX
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for IFM/Jais-3-7B-MLX-8bit

Quantized
(9)
this model

Collection including IFM/Jais-3-7B-MLX-8bit

Paper for IFM/Jais-3-7B-MLX-8bit