Files
ModelHub XC 039fd57b4d 初始化项目,由ModelHub XC社区提供模型
Model: dinadina/GigaChat3-10B-A1.8B-bf16
Source: Original Platform
2026-06-04 10:12:16 +08:00

175 lines
9.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: mit
language:
- ru
- en
pipeline_tag: text-generation
tags:
- moe
---
# 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](https://huggingface.co/ai-sage/GigaChat3-10B-A1.8B-base)) с помощью высококачественных SFT-данных.
Для высокопроизводительного инференса доступна версия модели в fp8 — [GigaChat3-10B-A1.8B-fp8](https://huggingface.co/ai-sage/GigaChat3-10B-A1.8B-fp8).
Поддерживает контекст до 256 тысяч токенов.
Больше подробностей [в хабр статье](https://habr.com/en/companies/sberdevices/articles/968904/).
## Архитектура модели
`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`.
[Ссылка на код.](https://gist.github.com/ajpqs/ce941aa6f0f48ef36a65cb87a2a1d726)
|**Модель**|**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 миллиардов параметров, её прямые аналоги — модели размером 34 миллиарда параметров. Однако благодаря высокой скорости генерации мы также сравниваем её с ещё более компактными моделями.
| Метрика | 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 |
## Как проверить метрики модели
```shell
# 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`
```python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
model_name = "ai-sage/GigaChat3-10B-A1.8B-bf16"
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`
Запуск сервера
```shell
vllm serve ai-sage/GigaChat3-10B-A1.8B-bf16 \
--dtype "auto" \
--speculative-config '{"method": "mtp", "num_speculative_tokens": 1, "disable_padded_drafter_batch": false}'
```
Пример запроса
```shell
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai-sage/GigaChat3-10B-A1.8B-bf16",
"messages": [
{
"role": "user",
"content": "Докажи теорему о неподвижной точке"
}
],
"max_tokens": 400,
"temperature": 0
}'
```
### 3. `SGLang`
Запуск сервера
```shell
python -m sglang.launch_server \
--model-path ai-sage/GigaChat3-10B-A1.8B-bf16 \
--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
```
Пример запроса
```shell
curl http://localhost:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai-sage/GigaChat3-10B-A1.8B-bf16",
"messages": [
{
"role": "user",
"content": "Докажи теорему о неподвижной точке"
}
],
"max_tokens": 1000,
"temperature": 0
}'
```