A title card for Jais 3 against Jais 2, contrasting Jais-2-70B-Chat, a gated 70B dense model from December 2025, with the Jais 3 family's Jais-3-375B-A23B at 375B stored and 23B active per token and Jais-3-32B dense, both ungated under Apache 2.0 with 524,288-token context, with the OrcaRouter logo composited bottom-right.
Guides & Insights

Jais 3 vs Jais 2: Same Lab, Ten Months, and a Different Model Entirely

Author

Rowan Sterling

Date Published

Latest models · 20View all models →
Benchmarks: Artificial Analysis · updated daily
Back to all posts

The Jais 3 family and Jais-2-70B-Chat come from the same lab eleven months apart, and if you only read the parameter counts you would conclude that the newer release went backwards. Jais-2-70B-Chat is a 70B dense model published on 9 December 2025. The flagship of Jais 3, Jais-3-375B-A23B, stores 375B parameters and runs 23B of them per token. The dense Jais-3-32B is less than half the size of Jais 2's 70B. That is not a regression — it is the whole point of the generation change, and confirming it takes about two minutes on the Hub. Jais 2 is a chat model with a gated licence file and a paper identifier in its tags. Jais 3 is a family of seven open checkpoints with serving recipes published ten days before its own press release. The useful question is not which scores higher; it is which one you can build on, and every row of that answer points the same way.

The gating is the first difference and it is not cosmetic

Both Jais-2-70B-Chat and Jais-2-8B-Chat carry gated: auto on the Hub. Auto-gated means an automated approval — you accept terms and get access — but acceptance is still a step, and the model card for the 70B returns HTTP 401 to an unauthenticated read. You cannot see what the model claims about itself without agreeing to something first.

• Jais 3 base checkpoints are ungated. inception42/Jais-3-375B-A23B, Jais-3-32B, Jais-3-7B, Jais-3-3.7B, Jais-3-0.9B and Jais-3-MoVA-36B-A4B all read without authentication, all Apache 2.0, all with benchmark tables in the card.

• The quantised and edge builds are ungated too. FP8 checkpoints, GGUF for llama.cpp and Ollama, and MLX 4-bit, 8-bit and bf16 builds across the IFM organisation. The 32B MLX builds landed on 1 October, the 3.7B and 7B GGUFs on 13 October.

• Jais 2's reach after eleven months is small. The 70B has accumulated roughly 1,752 downloads on the Hub and the 8B's GGUF build around 340. Those are not numbers that describe a model in production use — they describe a model that was published, gated, and not much exercised.

• Licence text — Apache 2.0 is declared in Jais 2's card metadata as well, so the licence never was the obstacle. The gate was.

Headless-browser capture of the Hugging Face page for inception42/Jais-2-70B-Chat showing the access gate that requires agreeing to share contact information before the files can be opened, alongside the jais2 architecture tag and the Arabic and English language tags.

Two different model designs, not two sizes of one

The architectural break is bigger than the naming suggests.

• Jais 2 declares model_type: jais2 with Jais2ForCausalLM and a Llama-derived chat template — <|start_header_id|> and <|eot_id|> tokens, an ai role for the assistant turn. It is a conventional dense decoder with its own architecture name over a familiar design.

• Jais 3 declares model_type: k2_horizon with K2HorizonForCausalLM — a different lineage entirely, sharing naming with IFM's K2-Horizon research models, and requiring --trust-remote-code in every serving command because the implementation is custom.

• The flagship is a 192-expert mixture-of-experts routing 8 experts per token. Jais 2 has no MoE variant at all; both published Jais 2 checkpoints are dense.

• Jais-3-MoVA-36B-A4B adds Mixture-of-Values attention on top of MoE/strong> — 36B stored, 4B active per token. That design exists nowhere in Jais 2.

• Context is the structural break. Every Jais 3 checkpoint except the 0.9B runs to 524,288 tokens. Jais 2's card metadata does not publish a context length at all, and the family's serving documentation does not exist in the form Jais 3's does.

Headless-browser capture of the model card for inception42/Jais-3-375B-A23B on Hugging Face, the flagship sparse mixture-of-experts model storing 375B parameters and running 23B per token, with an Apache 2.0 licence and a 512K context window.

What Jais 3 adds that Jais 2 could not do

This is the short version of why the newer family is a different product category.

• Reasoning separation. --reasoning-parser k2_horizon puts the thinking trace in reasoning_content and the answer in content. Depth is then a per-request setting — reasoning_effort: high or low — rather than something baked into a checkpoint.

• Tool calling with a parser, and three wire formats. --tool-call-parser k2_horizon plus --enable-auto-tool-choice, with json, xml and xml_typed selectable per request. Jais 2's card advertises conversational use; tool use is not part of its stated capability set.

• Staged checkpoints you can inspect. Jais 3 publishes CPT, Cooldown, FTPO and SFT branches separately on the flagship repository. For research on training dynamics, that is the difference between a model and a case study.

• Training logs in the open. IFM links a W&B project for the flagship. Jais 2 lists a paper identifier and nothing else operational.

• A size ladder. Jais 2's published text models are 70B and 8B. Jais 3 spans 0.9B, 3.7B, 7B, 32B, 36B-A4B and 375B-A23B, so there is a checkpoint that fits one GPU and a checkpoint that fits an ambition. The Adapter and -Uno variants sit alongside them.

An Arabic I/O model is the one place Jais 2 still wins on scope

There is one thing Jais 2 does that no Jais 3 text checkpoint does, and the article would be dishonest not to say it: the Jais 2 line is documented bilingual Arabic and English by design, with the paper identifier arxiv:2608.13580 attached to both Jais 2 repositories. Jais 3's cards declare Arabic and English as well, and its benchmark suite is overwhelmingly Arabic-focused — Arabic MMLU, AraSTEM, Arabic GSM8K, dialect identification, IslamicQA, Arab culture, diacritisation, parsing.

The difference is where the work goes. Jais 2's claim is bilingual conversational parity. Jais 3's claim is Arabic-native depth — dialects, culture, Islamic knowledge, diacritics, and agentic behaviour in Arabic. Those are different bets, and a team whose workload is genuinely half English should read Jais 2's documentation before assuming Jais 3 supersedes it on that axis.

What Jais 3 has that Jais 2 does not, on the speech side, is a sibling rather than a successor: Jais-ASR is a separate model built on a Jais-3-4B backbone covering Modern Standard Arabic plus dialects from 19 Arab countries with code-switching into English, French, Spanish and Italian, published under Apache 2.0 with its own vLLM plugin and its own benchmark set. If your pipeline is speech in and text out, that is the Jais-3-generation artifact you want, and there is nothing equivalent in Jais 2.

A two-column scoreboard card for Jais 3 against Jais 2 covering context, parameters, architecture, licence, capability surface and weights publication date, contrasting k2_horizon with jais2 and 2026-09-29 with 2025-12-09, with the OrcaRouter logo composited bottom-right.

The comparison nobody can make honestly

There is no published head-to-head between Jais 3 and Jais 2, and the article is not going to construct one. Jais 3's cards report against reference models — Qwen 3.5, MiniMax M3, Gemma 4, Falcon-H1, Muse-Glimmer, Fanar 2 — not against Jais 2. Jais 2's own benchmark numbers are inside a gated card, produced on an older harness, and the two sets are not commensurable. Every number in the Jais 3 tables is IFM's own, unverified by any third party, and the same is true of anything Jais 2 published.

What can be said without a harness is what a migration actually costs, and that is the part practitioners need. Jais 3 requires --trust-remote-code, a k2_horizon reasoning parser, a k2_horizon tool-call parser, and language-dependent sampling — temperature 1.0 for English and 0.7 for Arabic in thinking mode, against a default of 0.2 outside it. It also wants at least 32,768 output tokens of budget. None of that is a drop-in replacement for a Jais 2 integration, and copying a Jais 2 request body across will produce bad output for reasons that look like model quality but are configuration.

How to run the upgrade as an experiment rather than a migration

Nobody should swap a working Arabic workload to an unproven model on the strength of a vendor benchmark table. The right shape is a side-by-side: same prompts, both models, score them yourself, and only then move traffic. Jais 3's licence makes that easy at the weights level — Apache 2.0, no gate, recipes for vLLM and SGLang with the exact flags, and an AMD MI355X configuration validated alongside the NVIDIA ones for the flagship.

At the request level, the thing that makes a side-by-side cheap is not having to stand up two integrations. OrcaRouter is one API across 200-plus models with 0% markup, provider list price passed through, and its routing DSL is built for exactly this comparison — you compose both models into one call and get both answers back, rather than maintaining two clients and a diff script. Automatic failover covers the other half of the problem: an unproven generation can take a share of production traffic while something already measured absorbs the rest, and a bad response path fails over instead of failing the request. Neither Jais 2 nor Jais 3 is on our catalogue today, so check the model list before you design around a self-host — and if your interest is in comparing rather than deploying, that list is the thing that changes fastest.

The honest close is this: Jais 3 is not a bigger Jais 2, it is a different lab effort with an open licence, a six-size ladder and an agentic serving surface, and the eleven months between them bought more than scale. Whether it is better at your job is a question only your prompts can answer, and the only published evidence for it so far is the vendor's own.