--- license: mit language: - ru - en pipeline_tag: text-generation tags: - moe --- # GigaChat3-10B-A1.8B-base Представляем `GigaChat3-10B-A1.8B-base` — базовую (pretrain) модель семейства GigaChat. Модель основана на архитектуре Mixture-of-Experts (MoE) с 10B общих и 1.8B активных параметров. Архитектура включает **Multi-head Latent Attention (MLA)** и **Multi-Token Prediction (MTP)**, за счет чего модель оптимизирована для высокой пропускной способности (throughput) при инференсе. Больше подробностей [в хабр статье](https://habr.com/en/companies/sberdevices/articles/968904/). ## Важное замечание: Base vs. Instruct Данная карточка описывает **базовую** (pretrain) модель. Для диалоговых задач и выполнения инструкций, пожалуйста, используйте нашу [**instruct**-версию](https://huggingface.co/ai-sage/GigaChat3-10B-A1.8B). ## Архитектура модели `GigaChat3-10B-A1.8B-base` использует кастомную 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-base` — скорость инференса. Модель (особенно в режиме 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 миллиардов параметров, её прямые аналоги — модели размером 3–4 миллиарда параметров. Однако благодаря высокой скорости генерации мы также сравниваем её с ещё более компактными моделями. ![image](https://cdn-uploads.huggingface.co/production/uploads/66356a710508bbbb61184fd2/3lxW7o5sJtzcIRpVMg15c.png) ## Как проверить метрики модели ```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 --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 --batch_size 16 --model_args base_url=http://127.0.0.1:30000/generate,num_concurrent=16,tokenized_requests=True,max_length=131072,tokenizer= --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-base" 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 = ( "Ниже я написал подробное доказательство теоремы о неподвижной точке:" ) inputs = tokenizer(messages, return_tensors="pt").to(model.device) outputs = model.generate(inputs.input_ids, attention_mask=inputs.attention_mask) result = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=False) print(result) ``` ### 2. `vLLM` Запуск сервера ```shell vllm serve ai-sage/GigaChat3-10B-A1.8B-base \ --dtype "auto" \ --speculative-config '{"method": "mtp", "num_speculative_tokens": 1, "disable_padded_drafter_batch": false}' ``` Пример запроса ```shell curl http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "ai-sage/GigaChat3-10B-A1.8B-base", "prompt": "Ниже я написал подробное доказательство теоремы о неподвижной точке:", "max_tokens": 400, "temperature": 0 }' ``` ### 3. `SGLang` Запуск сервера ```shell python -m sglang.launch_server \ --model-path ai-sage/GigaChat3-10B-A1.8B-base \ --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/completions \ -H "Content-Type: application/json" \ -d '{ "model": "ai-sage/GigaChat3-10B-A1.8B-base", "prompt": "Ниже я написал подробное доказательство теоремы о неподвижной точке:", "max_tokens": 400, "temperature": 0 }' ```