CoolFace
Modelpublic

ai-sage/GigaChat3-10B-A1.8B-GGUF

sourceHugging Facemitupdated 9mo agoView on Hugging Face
11likes1.1kdownloads
Model Card

GigaChat3-10B-A1.8B

Перейти к инструкции по запуску (llama.cpp)

Представляем 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-данных. Больше подробностей в хабр статье.

Архитектура модели

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.7B1.689357.308726.09311.824
`mtp-GigaChat3-10B-A1.8B-base`1.533333.620678.89426.345
`GigaChat3-10B-A1.8B-base`1.077234.363476.91231.053
Qwen3-4B0.978206.849420.34114.947
Qwen3-8B0.664140.432285.37516.663
YandexGPT-5-Lite-8B-pretrain0.641147.305300.26916.711

Бенчмарки

Хотя модель имеет 10 миллиардов параметров, её прямые аналоги — модели размером 3–4 миллиарда параметров. Однако благодаря высокой скорости генерации мы также сравниваем её с ещё более компактными моделями.

МетрикаGigaChat 3 LightningQwen3-1.7B-InstructQwen3-4B-Instruct-2507SmolLM3
MMLURUFIVE_SHOT0.68330.48760.59720.4998
RUBQZEROSHOT0.65160.25570.31700.6363
MMLUPROENFIVESHOT0.60610.4100.68490.5013
MMLUENFIVE_SHOT0.74030.600.70800.5992
BBHTHREESHOT0.45250.33170.71650.4161
SuperGPQA0.27310.20920.37450.2459
MATH500FOUR_SHOT0.70000.75200.88800.8020
GPQACOTZERO_SHOT0.35020.26510.53700.3704
LiveCodeBenchZEROSHOT0.20310.07940.30460.1656
HUMANEVALPLUSZEROSHOT0.69510.62800.87800.7012

Пример использования (Quickstart)

llama-cpp version>=7150 (3d07caa99)

cmake version>=3.31.6

Сборка llama-cpp

git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build -DGGML_CUDA=ON # build for CUDA
cmake --build build --config Release --target llama-server -j 8

Запуск сервера

shell
# Укажите полный путь к вашей модели .gguf ниже
export MODEL_PATH="/path/to/your/model.gguf"

./build/bin/llama-server \
    -m $MODEL_PATH \
    -np 1 \
    -cb \
    -ctk q8_0 \
    -ctv q8_0 \
    -fa on \
    --n-gpu-layers 999 \
    --ctx-size 32768 \
    --port 8080 \
    --host 0.0.0.0 \
    --jinja

Важно! Если не добавлять "tool_choice": "none" к запросу, то llama в промт будет добавлять строку

\n\nsystem<|role_sep|>\nRespond in JSON format, either with `tool_call` (a request to call tools) or with `response` reply to the user's request<|message_sep|>

Это позволит распознавать функции, но может привести к потере качества генерации. В ближайшее время это поведение будет исправлено: мы готовим MR в llama-сpp с поддержкой GigaChat3.

Пример запроса

shell
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ai-sage/GigaChat3-10B-A1.8B",
    "tool_choice": "none",
    "messages": [
      {
        "role": "user",
        "content": "Докажи теорему о неподвижной точке"
      }
    ],
    "max_tokens": 1000,
    "temperature": 0
  }'

Пример запроса c function call

shell
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
  "model": "ai-sage/GigaChat3-10B-A1.8B",
  "temperature": 0,
  "messages": [
    {
      "role": "user",
      "content": "Какая сейчас погода в Москве?"
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Получить информацию о текущей погоде в указанном городе.",
        "parameters": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string",
              "description": "Название города (например, Москва, Казань)."
            }
          },
          "required": ["city"]
        }
      }
    }
  ]
}'