Jais-3-7B-FP8

This repository contains an FP8-quantized version of inception42/Jais-3-7B.

All linear layers except lm_head are quantized to FP8:

  • Weights: static FP8, one scale per 128*128 block.
  • Activations: dynamic FP8, one scale per 1*128 group along the input-channel dim.

The FP8 model performs closely in line with the original BF16 model on our evaluations, while reducing memory footprint and enabling faster inference on FP8-capable hardware.

Jais-3-7B is the medium dense member of the Jais-3 family: a 7B-class decoder-only model with a 512K context window.

Other formats are available in the IFM/Jais-3 collection:

Jais-3-7B benchmark results

Benchmark Results

Reference models
Jais-3-7BGemma-4-E4B-itGemma-4-12B-itQwen3.5-9BFalcon-H1-7B-InstructAllam 7BFanar-1-9B-Instruct
# Params7B8B12B9B7B7B9B
# Activated/Effective params7B4B12B9B7B7B9B
ArchitectureDenseDenseDenseDenseDenseDenseDense
Open-ended Generation
AraGen
AraGen v3 (3C3H)
09-2025
55.048.862.855.728.044.940.1
Correctness
63.758.873.567.034.852.248.6
Completeness
62.157.772.466.432.747.245.9
Conciseness
20.610.718.413.910.630.817.7
Helpfulness
58.851.266.757.926.143.440.2
Honesty
62.056.772.462.829.947.041.9
Harmlessness
62.957.773.266.433.648.946.2
Knowledge & Reasoning
General Knowledge & Comprehension
Arabic MMLU*
Accuracy
85.277.584.180.963.371.265.8
Belebele
Accuracy
92.988.793.689.272.978.879.9
STEM & Math
AraSTEM*
Accuracy
92.689.793.793.476.679.073.0
Arabic GSM8K*
Accuracy
92.787.092.691.485.056.875.3
GATmath*
Accuracy
96.494.498.097.345.538.440.6
Professional Domains
MedAraBench*
Accuracy
78.368.481.080.848.049.150.7
Arabic Legal (HELM)*
Accuracy
65.963.167.464.357.961.261.8
Arabic Language & Culture
Islamic Knowledge & Arab Culture
IslamicQA
Accuracy (mean of the 4 below)
83.871.678.269.361.567.162.8
PaLM-X 2025-2*
Accuracy
91.282.989.684.574.385.980.3
QIAS-1*
Accuracy
88.562.574.561.144.031.236.3
QIAS-2*
Accuracy
80.769.581.372.365.872.964.9
IslamicEval2025-1B*
Accuracy
74.971.467.559.361.978.469.7
Arab Culture
Accuracy (mean of the 3 below)
83.878.584.277.365.576.171.1
ArabCulture*
Accuracy
84.981.687.080.472.477.777.3
AraDiCE-Culture*
Accuracy
81.076.081.674.959.279.367.0
Arabic Cuisine^
Accuracy
85.577.884.176.665.071.368.9
Dialects
Dialectal Arabic MMLU*
Accuracy
83.676.683.580.458.556.658.2
Dialect Identification (QADI)
Accuracy
69.059.862.135.738.142.846.2
Alyah*
Accuracy
80.777.282.568.365.777.569.6
Linguistics & Literature
Arabic MMLU with diacritics
Accuracy
83.674.583.277.352.361.954.9
FannOrFlop-MCQ
Accuracy
69.464.066.258.251.466.763.3
Arabic Linguistics^
Accuracy (mean of the 2 below)
93.284.193.081.547.567.557.6
Diacritization
Accuracy
90.876.688.782.848.675.068.3
Parsing
Accuracy
95.591.697.480.246.459.946.9
Translation
FLORES200+
LLM-as-a-judge
90.684.089.574.359.874.568.4
Assistant Capabilities
Instruction Following
Arabic IFBench^
Accuracy (prompt-level strict)
91.642.675.358.326.218.925.8
Arabic IFEval
Accuracy
80.272.378.773.862.448.044.6
Long Context
AA-LCR (Ar)
Accuracy
65.0-49.068.09.0--
Factuality & Hallucination
HalluScore
Accuracy
55.138.255.448.814.734.842.4
SimpleQA Verified (Ar)
Aggregate (2/3 F-score + 1/3 non-hallucination rate)
25.724.49.48.53.84.26.1
F-score
4.33.15.610.53.54.15.9
Non-hallucination rate
68.367.017.14.44.54.56.6
Agentic
Terminal Bench 2.1
Accuracy (Avg@3)
46.41.927.329.20.00.00.0
GDPVal
Accuracy (@ 75% threshold)
60.55.517.719.10.00.00.0
MCPMark
Accuracy (Pass@1)
49.63.217.331.50.00.00.0
WildClawBench (English text-only subset)
Mean Score@3
38.922.329.034.49.40.00.0
Apex-Agents (420 text-only subset, loop agent)
Pass@1 (Accuracy)
21.71.07.65.00.50.00.0
GAIA v2 lit (Ar)
Accuracy (Pass@1)
44.919.439.429.10.00.00.0
Arabic File Processing
Accuracy (@ 75% threshold)
45.50.00.90.50.00.00.0
SWE-Bench Verified (Offline)
Accuracy (Pass@1)
70.24.428.250.80.00.00.0
BrowseComp-Plus
Accuracy
67.721.221.949.50.40.10.4

Starred (*) benchmarks have been audited for sample quality. Items with ambiguous questions, invalid answer options, or indefensible gold labels were excluded, since they can penalize a correct answer or reward a lucky guess. Scores on these benchmarks are reported on the cleaned sets. The audit methodology, the excluded samples and the verified benchmarks are available in the IFM/Arabic-Benchmark-Auditing collection.

Benchmarks marked with ^ will be released by IFM soon.

Quickstart

Serving

vLLM (vllm>=0.30.0) · vLLM recipe:

vllm serve inception42/Jais-3-7B \
  --trust-remote-code \
  --dtype bfloat16 \
  --tensor-parallel-size 1 \
  --reasoning-parser k2_horizon \
  --enable-auto-tool-choice \
  --tool-call-parser k2_horizon

Use an exact branch name from the inventory with vLLM's --revision option.

SGLang (sglang>=0.5.20) · SGLang recipe:

sglang serve \
  --model-path inception42/Jais-3-7B \
  --tp 1 \
  --dtype bfloat16 \
  --attention-backend fa3 \
  --reasoning-parser k2_horizon \
  --host 0.0.0.0 \
  --port 30000 \
  --tool-call-parser k2_horizon

API Usage

Recommended settings: reasoning_effort="high", the sampling hyperparameters in the table below, and at least 32,768 output tokens. Reasoning depth is selected per request through chat_template_kwargs. Thinking is returned in reasoning_content and the answer in content.

Parameter Default Thinking mode, English Thinking mode, Arabic
temperature 0.2 1.0 0.7
top_p 0.95 0.95 0.95
top_k 20 20 20
from openai import OpenAI
client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")
response = client.chat.completions.create(
    model="inception42/Jais-3-7B",
    messages=[{"role": "user", "content": "لدينا عددان مجموعهما 50 وحاصل ضربهما 600. ما هما العددان؟ اشرح خطوات الحل."}],
    temperature=0.7,
    top_p=0.95,
    max_tokens=32768,
    extra_body={"top_k": 20, "chat_template_kwargs": {"reasoning_effort": "high"}},
)
message = response.choices[0].message
print("Reasoning:", getattr(message, "reasoning_content", None))
print("Answer:", message.content)
import json
from datetime import datetime
from zoneinfo import ZoneInfo
from openai import OpenAI
client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")
TIMEZONES = {"أبوظبي": "Asia/Dubai", "الرياض": "Asia/Riyadh", "القاهرة": "Africa/Cairo", "لندن": "Europe/London"}

def get_current_time(city: str) -> dict:
    if city not in TIMEZONES:
        return {"error": f"مدينة غير معروفة: {city}"}
    return {"city": city, "time": datetime.now(ZoneInfo(TIMEZONES[city])).strftime("%H:%M")}

tools = [{
    "type": "function",
    "function": {
        "name": "get_current_time",
        "description": "يعيد الوقت الحالي في مدينة معينة",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string", "description": "اسم المدينة بالعربية"}},
            "required": ["city"],
        },
    },
}]
available_tools = {"get_current_time": get_current_time}
messages = [{"role": "user", "content": "كم الساعة الآن في القاهرة؟"}]
for _ in range(5):  # call the model, run any requested tools, repeat until it answers
    message = client.chat.completions.create(
        model="inception42/Jais-3-7B",
        messages=messages,
        tools=tools,
        temperature=0.7,
        top_p=0.95,
        max_tokens=32768,
        extra_body={
            "top_k": 20,
            "chat_template_kwargs": {"reasoning_effort": "high", "tool_call_format": "xml"},
        },
    ).choices[0].message
    messages.append(message)
    if not message.tool_calls:
        break
    for call in message.tool_calls:
        tool = available_tools.get(call.function.name)
        arguments = json.loads(call.function.arguments)
        result = tool(**arguments)
        messages.append({"role": "tool", "tool_call_id": call.id,
                         "content": json.dumps(result, ensure_ascii=False)})

print(message.content)

Our model supports multiple tool-call formats, which can be changed with chat_template_kwargs. The supported values are json, xml, and xml_typed. The default is xml. Keep --tool-call-parser k2_horizon enabled to parse the selected format.

Transformers

Validated with Transformers 5.15.0, PyTorch 2.13.0, Safetensors 0.8.0.

from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "inception42/Jais-3-7B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id, device_map="auto", dtype="bfloat16", low_cpu_mem_usage=True, trust_remote_code=True
)
inputs = tokenizer("لدينا عددان مجموعهما 50 وحاصل ضربهما 600. ما هما العددان؟ اشرح خطوات الحل.", return_tensors="pt").to(model.device)
inputs.pop("token_type_ids", None)
outputs = model.generate(**inputs, max_new_tokens=32768, temperature=0.7, top_p=0.95, top_k=20, do_sample=True)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Release Artifacts

The table below lists the release artifacts for Jais-3-7B.

Artifact Index

Artifact Link
Model card Hugging Face
Training logs W&B
Blog post Jais 3: Introducing Arabic-centric Agentic AI
Checkpoints Checkpoint inventory
Technical report Coming soon
Code repository Coming soon

Checkpoint Inventory

Model repository: inception42/Jais-3-7B

Branch names below refer to this repository.

Checkpoint Branch / repository
CPT Checkpoint CPT
Cooldown Checkpoint Cooldown
FTPO Checkpoint FTPO
SFT Checkpoint SFT

Best Practices

  1. Reasoning effort: always high. All reported results use high reasoning effort. Pass {"chat_template_kwargs": {"reasoning_effort": "high"}} on every request. No reasoning ({"reasoning_effort": "low"}) is not recommended except for research on reasoning efforts.
  2. Sampling parameters. Use the values in the table above: temperature=0.2, top_p=0.95, top_k=20 by default. In thinking mode, set temperature=1.0 for English and temperature=0.7 for Arabic. Keep min_p=0.0, presence_penalty=0.0 and repetition_penalty=1.0.
  3. Serving. Use the validated SGLang recipe above: BF16, TP=1 on a single H100 node, FlashAttention-3.
  4. Parsers. Enable the k2_horizon reasoning parser for chat, and add the k2_horizon tool-call parser for agent use. Leave both off for plain completion-style generation.

Intended Use and Limitations

Intended use: The model is designed for Arabic and English assistant and agentic applications, including reasoning and tool-use tasks, as well as for research and experimentation.

Out of scope: The model should not be used in ways that violate applicable laws or regulations. The following uses are also considered out of scope:

  • Harmful or malicious use: generating hateful, extremist, discriminatory, or deliberately misleading content, or using the model to support illegal or harmful activities.
  • Sensitive information: using the model to generate, expose, or infer personal, confidential, or otherwise sensitive information about individuals or organizations.
  • Unsupported languages: applications that depend on reliable performance in languages other than Arabic or English.
  • High-stakes decisions: relying on the model to make medical, legal, financial, or safety-critical decisions without appropriate human oversight.

Limitations: The model can produce inaccurate or made-up content and may reflect biases present in its training data. Evaluate it for your use case and add safeguards before deploying it.

Citation

@misc{jais3_2026,
  title  = {Jais 3: Introducing Arabic-centric Agentic AI},
  author = {{IFM Team}},
  year   = {2026},
  url    = {https://ifm.ai/blog/jais3/},
}
Downloads last month
5
Safetensors
Model size
9B params
Tensor type
BF16
·
F8_E4M3
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for IFM/Jais-3-7B-FP8

Quantized
(5)
this model

Collection including IFM/Jais-3-7B-FP8