# GLM-4.7-Flash

> GLM-4.7-Flash — это **30-миллиардный Mixture-of-Experts** языковая модель от Zhipu AI, которая активирует лишь 3B параметров на токен. Она демонстрирует выдающуюся производительность в задачах программирования и рассуждения, достигая 59.2% в SWE-bench, при этом требуя лишь 10–12 ГБ видеопамяти для вывода в FP16. Выпущена под **лицензией MIT**, это идеальный выбор для разработчиков, ищущих модели передового уровня по доступной цене на одном GPU.

## Кратко

* **Размер модели**: 30B всего / 3B активных параметров (MoE)
* **Лицензия**: MIT (полностью коммерческая)
* **Контекст**: 128K токенов
* **Производительность**: 59.2% SWE-bench, 75.4% HumanEval
* **Видеопамять**: \~10–12 ГБ FP16, \~6 ГБ INT8
* **Скорость**: \~45–60 ток/с на RTX 4090

## Почему GLM-4.7-Flash?

**Эффективная производительность**: GLM-4.7-Flash превосходит модели своего класса. Несмотря на использование только 3B активных параметров, она обходит многие плотные модели 70B+ в бенчмарках по программированию. Архитектура MoE обеспечивает качество модели 30B при стоимости вывода, соответствующей модели 7B.

**Дружелюбна к одному GPU**: В отличие от огромных моделей, требующих многопроцессорной конфигурации, GLM-4.7-Flash комфортно работает на одном RTX 4090 или A100 40GB. Это делает её идеальной для разработки, дообучения и экономичных продакшен-развёртываний.

**Специалист по коду**: При 59.2% в SWE-bench GLM-4.7-Flash отлично справляется с задачами программной инженерии — генерация кода, отладка, рефакторинг и техническая документация. Она понимает более 20 языков программирования с глубоким учётом контекста.

**Лицензия MIT**: Нет ограничений на использование. Развёртывайте коммерчески, дообучайте или модифицируйте без лицензионных ограничений. Полные веса и рецепты обучения доступны бесплатно.

## Рекомендации по GPU

| GPU          | Видеопамять | Производительность | Ежедневная стоимость\* |
| ------------ | ----------- | ------------------ | ---------------------- |
| **RTX 4090** | 24GB        | \~50 ток/с         | \~$2.10                |
| **RTX 3090** | 24GB        | \~35 ток/с         | \~$1.10                |
| A100 40GB    | 40GB        | \~80 ток/с         | \~$3.50                |
| A100 80GB    | 80GB        | \~90 ток/с         | \~$4.00                |
| H100         | 80GB        | \~120 ток/с        | \~$6.00                |

**Лучшая ценность**: RTX 4090 предлагает оптимальное соотношение производительности и стоимости для GLM-4.7-Flash.

\*Оценочные цены на маркетплейсе Clore.ai

## Развёртывание с vLLM

### Установите vLLM

```bash
pip install vllm>=0.6.0
# или последняя версия
pip install git+https://github.com/vllm-project/vllm.git
```

### Настройка для одного GPU

```bash
vllm serve THUDM/glm-4-flash \
  --model THUDM/glm-4-flash \
  --tensor-parallel-size 1 \
  --dtype float16 \
  --max-model-len 32768 \
  --served-model-name glm-4.7-flash \
  --trust-remote-code
```

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

```python
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/v1", 
    api_key="EMPTY"
)

response = client.chat.completions.create(
    model="glm-4.7-flash",
    messages=[
        {"role": "system", "content": "Вы — эксперт по разработке на Python."},
        {"role": "user", "content": "Напишите приложение FastAPI с асинхронным SQLAlchemy и JWT-авторизацией"}
    ],
    max_tokens=2048,
    temperature=0.7
)

print(response.choices[0].message.content)
```

## Развёртывание с SGLang

SGLang часто обеспечивает лучшую пропускную способность для MoE-моделей:

```bash
pip install "sglang[all]>=0.3.0"

# Запустить сервер
python -m sglang.launch_server \
  --model-path THUDM/glm-4-flash \
  --port 30000 \
  --host 0.0.0.0 \
  --dtype float16 \
  --tp-size 1 \
  --context-length 32768
```

## Развёртывание с Ollama

Простая настройка для локальной разработки:

```bash
# Установить Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Скачать модель (будет загружено ~18GB)
ollama pull glm4:7b-chat

# Запустить интерактивно
ollama run glm4:7b-chat

# Режим API
ollama serve
```

Затем отправьте запрос через REST API:

```python
import requests

response = requests.post('http://localhost:11434/api/generate',
    json={
        'model': 'glm4:7b-chat',
        'prompt': 'Объясните архитектуру MoE в GLM-4.7-Flash',
        'stream': False
    }
)

print(response.json()['response'])
```

## Шаблон Docker

```dockerfile
FROM nvidia/cuda:12.1-devel-ubuntu22.04

# Установить Python 3.10
RUN apt-get update && apt-get install -y python3.10 python3-pip curl

# Установить vLLM
RUN pip install vllm>=0.6.0 transformers

# Предварительно скачать модель (опционально)
# RUN python3 -c "from transformers import AutoModel; AutoModel.from_pretrained('THUDM/glm-4-flash', trust_remote_code=True)"

EXPOSE 8000

CMD ["vllm", "serve", "THUDM/glm-4-flash", \
     "--host", "0.0.0.0", \
     "--port", "8000", \
     "--tensor-parallel-size", "1", \
     "--dtype", "float16", \
     "--trust-remote-code"]
```

Собрать и запустить:

```bash
docker build -t glm-4.7-flash .
docker run --gpus all -p 8000:8000 glm-4.7-flash
```

## Пример генерации кода

GLM-4.7-Flash превосходна в сложной генерации кода:

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

response = client.chat.completions.create(
    model="glm-4.7-flash",
    messages=[
        {"role": "user", 
         "content": """Создайте класс на Python для лимитера скорости с:
- алгоритмом token bucket
- поддержкой async/await  
- бэкендом на Redis
- декоратором для ограничения частоты вызовов функций
- корректной обработкой ошибок"""}
    ],
    max_tokens=2048,
    temperature=0.3
)

print(response.choices[0].message.content)
```

## Советы для пользователей Clore.ai

* **Оптимизация памяти**: Используйте `--dtype float16` чтобы уменьшить использование видеопамяти. Для GPU с 16 ГБ добавьте `--max-model-len 16384` чтобы ограничить контекст.
* **Пакетная обработка**: Увеличьте `--max-num-seqs` для большей пропускной способности при обслуживании множества запросов.
* **Квантизация**: Для RTX 3060/4060 (12 ГБ) используйте версии, квантизованные AWQ или GPTQ, для использования \~6 ГБ видеопамяти.
* **Прерывание**: GLM-4.7-Flash корректно обрабатывает прерывания — хорошо подходит для прерываемых инстансов Clore.ai.
* **Длина контекста**: По умолчанию 128K контекста может быть избыточным. Установите `--max-model-len 32768` для большинства приложений.

## Устранение неполадок

| Проблема                  | Решение                                                                         |
| ------------------------- | ------------------------------------------------------------------------------- |
| `OutOfMemoryError`        | Уменьшите `--max-model-len` или используйте `--dtype float16`                   |
| Медленная загрузка модели | Предварительно кешируйте с помощью `huggingface-cli download THUDM/glm-4-flash` |
| Ошибки импорта            | Обновите transformers: `pip install transformers>=4.40.0`                       |
| Плохая производительность | Включите Flash Attention: `pip install flash-attn`                              |
| Соединение отклонено      | Проверьте брандмауэр: `ufw allow 8000`                                          |

## Альтернативные модели

Если GLM-4.7-Flash не подходит:

* **Qwen2.5-Coder-7B**: Лучше чисто для кодирования, меньший объём
* **CodeQwen1.5-7B**: Специалист по кодированию на китайском и английском
* **GLM-4-9B**: Более старшая модель с лучшими способностями к рассуждению
* **DeepSeek-V3**: 671B MoE для максимальной производительности (мульти-GPU)

## Ресурсы

* [GLM-4-Flash на Hugging Face](https://huggingface.co/THUDM/glm-4-flash)
* [Технический отчёт GLM-4](https://arxiv.org/abs/2406.12793)
* [Документация vLLM](https://docs.vllm.ai/)
* [SGLang на GitHub](https://github.com/sgl-project/sglang)
* [Платформа Zhipu AI](https://open.bigmodel.cn/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/yazykovye-modeli/glm-47-flash.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
