GigaChat 3.5 Ultra
GigaChat 3.5 Ultra is the flagship instant model of the GigaChat family. It is a large-scale Mixture-of-Experts (MoE) model with 432B total parameters, built on a custom hybrid attention architecture that combines Multi-head Latent Attention (MLA) with GatedDeltaNet linear-attention layers. The model targets multilingual assistant workloads, reasoning, code, agentic/tool-use scenarios, and large-cluster deployment.
Compared to the previous flagship GigaChat 3.1 Ultra (700B), version 3.5 is ~40% more compact yet stronger in code, mathematics, and agentic scenarios. It also uses roughly 4× less KV-cache per token, fits more than 2× more context into the same memory, and improves generation throughput by ~20%.
This is base version model after pretraining.
For instruct-model use the fp8 version: GigaChat3.5-432B-A28B.
Bf16 version of instruct model is also avaliable GigaChat3.5-432B-A28B-bf16.
GGUF version is also avaliable - GigaChat3.5-432B-A28B-GGUF.
Training checkpoints - GigaChat3.5-432B-A28B-checkpoints.
More details can be found in the Habr article.
Model architecture
GigaChat 3.5 Ultra uses a custom MoE architecture. The core change relative to 3.1 is a self-designed hybrid architecture and a matching training recipe: every acceleration feature (linear attention, MTP) was paired with a stabilizing mechanism so the model could be trained to full scale without loss of stability.
Mixture-of-Experts (MoE)
The model has 432B total and 28B active parameters, keeping inference cost far below that of an equally large dense model. The MoE decoder layer is composed of attention, the MoE (expert) block, and a post-normalization applied before the residual add.
Hybrid attention: MLA + GatedDeltaNet
Standard attention grows more expensive with context length: the longer the request, the larger the KV-cache, and the more generation is bottlenecked on memory. GigaChat 3.5 introduces a hybrid design in which some layers remain regular MLA and the rest are linear-attention layers based on GatedDeltaNet. This preserves the strengths of full attention while lowering the cost of long context.
Gated Normalization (GatedNorm)
Large models tend to develop implicit self-stabilization (attention/residual sinks), routing most of the signal through a single token or feature to hold the activation scale — which is poorly controlled and can itself become a source of noise at scale. GatedNorm replaces these implicit anchors with an explicit multiplicative gate after RMSNorm, letting the network rescale the signal across features directly. It is made scale-neutral at init via the 2 · sigmoid reparametrization (a plain sigmoid starts near 0.5 and would halve the scale; the factor 2 keeps the gate near 1.0), so it barely perturbs the data flow at start and learns where to attenuate.
Overall architecture
Multi-Token Prediction (MTP)
GigaChat Ultra 3.0 had a single MTP head; in GigaChat Ultra 3.5 we added two MTP heads. Greedy decoding accelerates the generation speed ~1.5× with one head and up to 2.2× with two.
Precision and optimizer
The model was trained in native FP8 across all training stages. We also release dequantized bf16 checkpoint.
Alignment
The post-training pipeline runs Stage 1.5 → SFT → DPO → Online RL. Online RL is the headline addition of this release and drove the gains in Instruction Following and on arenas.
Benchmark scores
Base models
GENERAL
| Task | GigaChat 3.1 Base (700B) | GigaChat-3.5-Ultra-Base (430B) | DeepSeek V4 Flash Base (284B) | DeepSeek V3.2 Exp Base (685B) |
|---|---|---|---|---|
| MMLU (5-shot) | 79.89 | 85.28 | 88.68 | 87.47 |
| MMLU-Pro (5-shot) | 68.01 | 74.54 | 65.86 | 62.43 |
| GPQA Diamond (official, CoT) | 30.3 | 30.81 | 22.73 | 22.22 |
| BBH (3-shot) | 83.78 | 87.5 | 88.24 | 89.16 |
| ARC-C (25-shot, acc_norm) | 68.34 | 70.39 | 72.35 | 70.31 |
| ARC-E (25-shot, acc_norm) | 88.38 | 88.59 | 90.82 | 89.27 |
| HellaSwag (10-shot, acc_norm) | 89.43 | 89.47 | 88.9 | 89.28 |
| Winogrande (5-shot) | 82.72 | 85 | 84.61 | 84.93 |
| DROP (5-shot, EM) | 56.29 | 59.55 | 63.88 | 65.14 |
| TriviaQA (5-shot, EM) | 81.4 | 82.23 | 83.96 | 83.88 |
| NQ-Open (5-shot, EM) | 37.34 | 41.66 | 40.83 | 42.27 |
| Avg | 69.6 | 72.3 | 71.9 | 71.5 |
MATH
| Task | GigaChat 3.1 Base (700B) | GigaChat-3.5-Ultra-Base (430B) | DeepSeek V4 Flash Base (284B) | DeepSeek V3.2 Exp Base (685B) |
|---|---|---|---|---|
| MATH Minerva (math-verify) | 55.78 | 61.7 | 54.74 | 58.2 |
| GSM8K (CoT, math_verify) | 86.73 | 86.58 | 86.43 | 84.99 |
| MGSM ru (CoT) | 87.6 | 86 | 84.4 | 82 |
| Avg | 76.7 | 78.1 | 75.2 | 75.1 |
CODE
| Task | GigaChat 3.1 Base (700B) | GigaChat-3.5-Ultra-Base (430B) | DeepSeek V4 Flash Base (284B) | DeepSeek V3.2 Exp Base (685B) |
|---|---|---|---|---|
| HumanEval (pass@1) | 70.12 | 80.49 | 66.46 | 64.02 |
| HumanEval+ (pass@1) | 62.8 | 75.61 | 61.59 | 56.71 |
| MBPP (pass@1) | 70.2 | 70.4 | 70.2 | 70.4 |
| MBPP+ (pass@1) | 83.33 | 83.33 | 77.25 | 82.28 |
| CRUXEval (pass@1) | 64.56 | 67.5 | 69.75 | 69.94 |
| LCB CodeGen Lite | 49.29 | 54.31 | 57.25 | 50.24 |
| Avg | 66.7 | 71.9 | 67.1 | 65.6 |
Instruct-model
| Task | GigaChat-3.1-Ultra (700B) | GigaChat-3.5-Ultra (430B) | DeepSeek V3.2* (685B) |
|---|---|---|---|
| TAU2-bench | 41.87 | 68.71 | 66 |
| SWE bench verified ** | 8.6 | 42.6 | 44.8 |
| Terminal bench 2 *** | 9 | 13.48 | 29.21 |
| Live Code Bench v6 | 49.29 | 56.2 | 59.3 |
| Natural Plan | 31.6 | 27.14 | 20.44 |
| IFBench | 31 | 43.66 | 45 |
| MERA Text | 71.2 | 67.3 | 61.7 |
| Pollux | 37.75 | 65.21 | 65.6 |
| MMLU-Pro | 73.61 | 75.68 | 81.1 |
| RubQ_Ru | 76.11 | 81.01 | 78.33 |
| MATH 500 | 83 | 86 | 91.4 |
| Arena Hard Logs vs GPT-5 | 55.5 | 71.4 | 71.3 |
| Arena Hard Ru vs GPT-5 | 38.3 | 69.5 | 69.3 |
| Ru LLM Arena vs GPT-5 | 38.2 | 62.9 | 63.6 |
| Validator-SBS-Pollux | 47.6 | 70.9 | 68 |
| Avg | 46.2 | 60.1 | 61.0 |
Notes:
- * DeepSeek V3.2 is the instruct version
- ** SWE-bench Verified uses mini-swe-agent, 250 steps
- *** Terminal-Bench 2 uses the terminus-2 agent
Usage Example
1. SGLang
Start the server
# 1. get the PR
git clone https://github.com/sgl-project/sglang.git
cd sglang
git fetch origin pull/29189/head:pr-29189
git checkout pr-29189
# 2. install
pip install --upgrade pip
pip install -e "python[all]"
# 3. launch
MASTER_ADDR=<rank0_host_or_ip>
DIST_PORT=<port>
# run the same command on every node
# setting --node-rank to the node index
python -m sglang.launch_server \
--model-path ai-sage/GigaChat3.5-432B-A28B-base \
--trust-remote-code \
--tp-size 16 --ep-size 16 \
--nnodes 2 \
--node-rank <rank> \
--dist-init-addr ${MASTER_ADDR}:${DIST_PORT} \
--mem-fraction-static 0.8 \
--tool-call-parser gigachat35 \
--speculative-algorithm EAGLE \
--speculative-num-steps 1 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 2 \
--host 0.0.0.0 --port 30000
Request example
curl http://localhost:30000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai-sage/GigaChat3.5-432B-A28B-base",
"prompt": "Теорема о неподвижной точке гласит, что",
"max_tokens": 400,
"temperature": 0
}'
2. vLLM
Start the server
# 1. get the PR
git clone https://github.com/vllm-project/vllm.git
cd vllm
git fetch origin pull/47708/head:pr-47708
git checkout pr-47708
# 2. install
pip install --upgrade pip
VLLM_USE_PRECOMPILED=1 pip install -e .
pip install "ray[default]"
# 3. launch
# node 0 (head)
ray start --head --port=6379
# node 1 (worker)
ray start --address='<HEAD_IP>:6379'
# node 0 only
vllm serve ai-sage/GigaChat3.5-432B-A28B-base \
--tensor-parallel-size 16 \
--enable-expert-parallel \
--gpu-memory-utilization 0.8 \
--speculative-config '{"method": "mtp", "num_speculative_tokens": 1}'
Request example
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai-sage/GigaChat3.5-432B-A28B-base",
"prompt": "Теорема о неподвижной точке гласит, что",
"max_tokens": 400,
"temperature": 0
}'
- Downloads last month
- 1,183
