GigaChat3-10B-A1.8B
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ GigaChat3-10B-A1.8B β Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° GigaChat. ΠΠΎΠ΄Π΅Π»Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Mixture-of-Experts (MoE) Ρ 10B ΠΎΠ±ΡΠΈΡ
ΠΈ 1.8B Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Multi-head Latent Attention (MLA) ΠΈ Multi-Token Prediction (MTP), Π·Π° ΡΡΠ΅Ρ ΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ (throughput) ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠ΅.
ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΡΠ΅Π½Π° ΠΏΠΎΠ²Π΅ΡΡ
Π½Π°ΡΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ (GigaChat3-10B-A1.8B-base) Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
SFT-Π΄Π°Π½Π½ΡΡ
.
ΠΠ°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠ° Π² fp8, ΠΌΠΎΠ΄Π΅Π»Ρ Π² bf16 β GigaChat3-10B-A1.8B.
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ Π² Ρ
Π°Π±Ρ ΡΡΠ°ΡΡΠ΅.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ
GigaChat3-10B-A1.8B ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ MoE-Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ:
Multi-head Latent Attention (MLA)
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Multi-head Attention ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ MLA. MLA ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Π½Ρ Π·Π° ΡΡΠ΅Ρ ΡΠΆΠ°ΡΠΈΡ Key-Value (KV) ΠΊΡΡΠ° Π² Π»Π°ΡΠ΅Π½ΡΠ½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.
Multi-Token Prediction (MTP)
ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΡΠ΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°ΡΠΈ Multi-Token Prediction (MTP). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡ ΠΎΠ΄, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄ΠΎ 40% Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠ²Π½ΠΎΠΉ/ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ.
ΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΡΠ΅Π½Π° Π½Π° 20Π’ ΡΠΎΠΊΠ΅Π½ΠΎΠ². ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ 10 ΡΠ·ΡΠΊΠΎΠ² β ΠΎΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠ³ΠΎ ΠΈ Π°ΡΠ°Π±ΡΠΊΠΎΠ³ΠΎ Π΄ΠΎ ΡΠ·Π±Π΅ΠΊΡΠΊΠΎΠ³ΠΎ ΠΈ ΠΊΠ°Π·Π°Ρ ΡΠΊΠΎΠ³ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²: ΠΊΠ½ΠΈΠ³ΠΈ, Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΄Π°ΡΠ°ΡΠ΅ΡΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅. ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ²ΡΠΈΡΡΠΈΠΊ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²Π½Π΅ΡΠ»Π° ΡΠΈΠ½ΡΠ΅ΡΠΈΠΊΠ°: ΠΌΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 5,5 ΡΡΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ . Π ΠΊΠΎΡΠΏΡΡ Π²Ρ ΠΎΠ΄ΡΡ Π²ΠΎΠΏΡΠΎΡΡ-ΠΎΡΠ²Π΅ΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ°ΠΌ, ΡΠ΅ΠΏΠΎΡΠΊΠΈ reverse-prompt Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , LLM-Π·Π°ΠΌΠ΅ΡΠΊΠΈ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΊΡΡΠΎΠ², ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΈ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Ρ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ PromptCot.
ΠΠ½ΡΠ΅ΡΠ΅Π½Ρ
ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² GigaChat3-10B-A1.8B β ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠ°. ΠΠΎΠ΄Π΅Π»Ρ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ MTP) Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ, ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΡ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠΈΡ
denseβΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.
ΠΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ vLLM v0.11.0, Π½Π° ΡΠΈΠΏΠ΅ bfloat16 c batch_size=1.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΠ΄.
| ΠΠΎΠ΄Π΅Π»Ρ | request_throughput | output_throughput | total_token_throughput | mean_ttft_ms |
|---|---|---|---|---|
Qwen3-1.7B |
1.689 | 357.308 | 726.093 | 11.824 |
mtp-GigaChat3-10B-A1.8B-base |
1.533 | 333.620 | 678.894 | 26.345 |
GigaChat3-10B-A1.8B-base |
1.077 | 234.363 | 476.912 | 31.053 |
Qwen3-4B |
0.978 | 206.849 | 420.341 | 14.947 |
Qwen3-8B |
0.664 | 140.432 | 285.375 | 16.663 |
YandexGPT-5-Lite-8B-pretrain |
0.641 | 147.305 | 300.269 | 16.711 |
ΠΠ΅Π½ΡΠΌΠ°ΡΠΊΠΈ
Π₯ΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ 10 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΅Ρ ΠΏΡΡΠΌΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ β ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 3β4 ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π΅Ρ Ρ Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ.
| ΠΠ΅ΡΡΠΈΠΊΠ° | GigaChat 3 Lightning | Qwen3-1.7B-Instruct | Qwen3-4B-Instruct-2507 | SmolLM3 |
|---|---|---|---|---|
| MMLU_RU_FIVE_SHOT | 0.6833 | 0.4876 | 0.5972 | 0.4998 |
| RUBQ_ZERO_SHOT | 0.6516 | 0.2557 | 0.3170 | 0.6363 |
| MMLU_PRO_EN_FIVE_SHOT | 0.6061 | 0.410 | 0.6849 | 0.5013 |
| MMLU_EN_FIVE_SHOT | 0.7403 | 0.60 | 0.7080 | 0.5992 |
| BBH_THREE_SHOT | 0.4525 | 0.3317 | 0.7165 | 0.4161 |
| SuperGPQA | 0.2731 | 0.2092 | 0.3745 | 0.2459 |
| MATH_500_FOUR_SHOT | 0.7000 | 0.7520 | 0.8880 | 0.8020 |
| GPQA_COT_ZERO_SHOT | 0.3502 | 0.2651 | 0.5370 | 0.3704 |
| LiveCodeBench_ZERO_SHOT | 0.2031 | 0.0794 | 0.3046 | 0.1656 |
| HUMAN_EVAL_PLUS_ZERO_SHOT | 0.6951 | 0.6280 | 0.8780 | 0.7012 |
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ
# lm-eval[api]==0.4.9.1
# sglang[all]==0.5.5
# ΠΈΠ»ΠΈ
# vllm==0.11.2
export HF_ALLOW_CODE_EVAL=1
# sglang server up
# 10B
python -m sglang.launch_server --model-path <path_to_model> --host 127.0.0.1 --port 30000 --dtype auto --mem-fraction-static 0.88 --trust-remote-code --allow-auto-truncate --speculative-algorithm EAGLE --speculative-num-steps 1 --speculative-eagle-topk 1 --speculative-num-draft-tokens 2
# mmlu pro check
python -m lm_eval --model sglang-generate --output_path <path_to_model> --batch_size 16 --model_args base_url=http://127.0.0.1:30000/generate,num_concurrent=16,tokenized_requests=True,max_length=131072,tokenizer=<path_to_model> --trust_remote_code --confirm_run_unsafe_code --num_fewshot 5 --tasks mmlu_pro
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ (Quickstart)
1. transformers
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
model_name = "ai-sage/GigaChat3-10B-A1.8B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
model.generation_config = GenerationConfig.from_pretrained(model_name)
messages = [
{"role": "user", "content": "ΠΠΎΠΊΠ°ΠΆΠΈ ΡΠ΅ΠΎΡΠ΅ΠΌΡ ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅"}
]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device), max_new_tokens=1000)
result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=False)
print(result)
2. vLLM
ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°
# VLLM DeepGemm conflicts with our hidden dim size.
# Fix: Disable it via env var (VLLM_USE_DEEP_GEMM=0).
VLLM_USE_DEEP_GEMM=0 vllm serve ai-sage/GigaChat3-10B-A1.8B \
--dtype "auto" \
--speculative-config '{"method": "mtp", "num_speculative_tokens": 1, "disable_padded_drafter_batch": false}'
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai-sage/GigaChat3-10B-A1.8B",
"messages": [
{
"role": "user",
"content": "ΠΠΎΠΊΠ°ΠΆΠΈ ΡΠ΅ΠΎΡΠ΅ΠΌΡ ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅"
}
],
"max_tokens": 400,
"temperature": 0
}'
3. SGLang
ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°
python -m sglang.launch_server \
--model-path ai-sage/GigaChat3-10B-A1.8B \
--host 0.0.0.0 \
--port 30000 \
--dtype auto \
--mem-fraction-static 0.88 \
--speculative-algorithm EAGLE \
--speculative-num-steps 1 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 2
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°
curl http://localhost:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai-sage/GigaChat3-10B-A1.8B",
"messages": [
{
"role": "user",
"content": "ΠΠΎΠΊΠ°ΠΆΠΈ ΡΠ΅ΠΎΡΠ΅ΠΌΡ ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅"
}
],
"max_tokens": 1000,
"temperature": 0
}'
- Downloads last month
- 5,036