Мой AI стал идиотом после первого вопроса
Знакомо? Запускаешь свежую GLM-4.7-Flash на двух RTX 3090, первый ответ - гениальный. Второй - уже странный. Третий - полный бред. И вот ты сидишь перед монитором, глядя на горящие вентиляторы видеокарт, и думаешь: "Зачем я потратил на это железо 3000$, если ChatGPT 4.7 работает лучше за 20$ в месяц?"
Я собрал Dual RTX 3090 с NVLink специально для локального AI. Хотел свободы от API, приватности, полного контроля. GLM-4.7-Flash (последняя версия на январь 2026) обещала скорость и качество. А получил шизофреника в диалоге.
Важно: GLM-4.7-Flash - это оптимизированная версия GLM-4.7 для быстрого инференса. Но "flash" не значит "глючная". Проблема в настройке, а не в модели.
Что происходит с логикой в диалоге?
Вот типичный сценарий:
- Промпт 1: "Объясни теорию относительности простыми словами" → Четкий, структурированный ответ на 5 абзацев
- Промпт 2: "А как это связано с GPS?" → Ответ начинает повторять первый, добавляет странные технические детали
- Промпт 3: "Приведи пример из жизни" → Полный бред про "релятивистские тостеры" и "искривление времени в микроволновке"
Это не просто снижение качества. Это системная деградация. И вот почему она происходит.
Три главные причины деградации
1. KV-кэш превращается в мусорную свалку
Когда модель генерирует текст, она хранит Key-Value пары в кэше. В теории - это должно ускорять генерацию. На практике - кэш забивается артефактами, контекст загрязняется, и модель начинает "галлюцинировать".
2. Температура и top_p работают против вас
Стандартные настройки llama-server для GLM-4.7-Flash:
--temperature 0.7 --top-p 0.9 --repetition-penalty 1.1
Звучит разумно? Для первого промпта - да. Для диалога - катастрофа. Температура 0.7 добавляет слишком много случайности в каждый следующий токен. К третьему промпту накопленная энтропия делает ответы непредсказуемыми.
3. Контекстное окно "плывёт"
GLM-4.7-Flash поддерживает 128К контекста. Но обработка длинного контекста на двух GPU с NVLink - это отдельный ад. Если не настроить распределение слоёв правильно, модель "теряет" часть контекста между картами.
Мой setup: Dual RTX 3090 с NVLink
Железо имеет значение. Вот что у меня стоит:
| Компонент | Модель | Примечание |
|---|---|---|
| GPU 1 | NVIDIA RTX 3090 Founders Edition | 24GB GDDR6X |
| GPU 2 | NVIDIA RTX 3090 Founders Edition | 24GB GDDR6X |
| NVLink Bridge | NVIDIA 4-Slot NVLink 3.0 | Обязательно 4-слотовый для 3090 |
| Блок питания | Seasonic Prime TX-1000 | 1000W 80+ Titanium |
NVLink критически важен. Без него две 3090 работают как две отдельные карты с обменом через PCIe 4.0 - 32 ГБ/с против 112 ГБ/с у NVLink. Разница в 3.5 раза. Для диалоговых моделей, где контекст постоянно передаётся между GPU, это вопрос жизни и смерти.
Проверьте, поддерживает ли ваша материнская плата x16/x16 для двух GPU. Многие платы дают x16/x8 или x8/x8 - это режет пропускную способность PCIe вдвое. Для NVLink это не критично, но для карт без моста - катастрофа.
Команда запуска, которая ломает логику
Вот как НЕ надо запускать GLM-4.7-Flash:
# ПЛОХОЙ ПРИМЕР - так делать не надо
python -m llama_server \
--model glm-4.7-flash-q4 \
--gpu-layers 99 \
--n-gpu-layers 99 \
--context-size 131072 \
--batch-size 512 \
--temperature 0.7 \
--top-p 0.9 \
--repetition-penalty 1.1 \
--mlock \
--no-mmap \
--verbose
Что здесь не так? Почти всё.
--gpu-layers 99и--n-gpu-layers 99- избыточно для 7B модели--batch-size 512- слишком много для диалога, кэш переполняется--mlockи--no-mmap- блокируют всю модель в RAM, но для диалога это излишне- Нет распределения по GPU
1 Правильная команда запуска для стабильного диалога
# Рабочий вариант для Dual RTX 3090 с NVLink
python -m llama_server \
--model /путь/к/glm-4.7-flash-q4_k_m.gguf \
--n-gpu-layers 45 \
--context-size 32768 \
--batch-size 128 \
--ubatch-size 128 \
--temperature 0.3 \
--top-p 0.7 \
--repetition-penalty 1.05 \
--frequency-penalty 0.1 \
--presence-penalty 0.1 \
--rope-scaling linear \
--rope-factor 8.0 \
--flash-attn \
--tensor-split 24,24 \
--main-gpu 0 \
--multimodal-projector /путь/к/mmproj.bin \
--host 0.0.0.0 \
--port 8080
Ключевые изменения:
- Температура 0.3 вместо 0.7 - меньше случайности в диалоге
- Top-p 0.7 вместо 0.9 - ограничиваем выбор токенов
- Repetition penalty 1.05 - мягкое наказание за повторения
- Frequency и presence penalties по 0.1 - предотвращают зацикливание
- Tensor-split 24,24 - явное распределение 24GB на каждую карту
- Контекст 32768 - достаточно для диалога, не перегружает память
2 Настройка Open WebUI для работы с двумя GPU
Open WebUI по умолчанию не умеет работать с распределёнными моделями. Нужно править конфиг:
# ~/.open-webui/config.yaml
model:
name: "GLM-4.7-Flash-Q4"
base_url: "http://localhost:8080"
api_key: "not-needed"
parameters:
temperature: 0.3
top_p: 0.7
max_tokens: 4096
stream: true
stop: ["<|endoftext|>", "<|im_end|>"]
multimodal: true
vision_model: "glm-4.7-flash"
gpu:
enabled: true
devices: [0, 1]
memory_fraction: 0.9
allow_growth: true
Сколько это стоит в день? Цифры шокируют
Две RTX 3090 под нагрузкой - это не игрушки. Давайте посчитаем на январь 2026:
| Компонент | Потребление (Вт) | Часы/день | кВт·ч/день |
|---|---|---|---|
| RTX 3090 #1 (нагрузка) | 350 | 24 | 8.4 |
| RTX 3090 #2 (нагрузка) | 350 | 24 | 8.4 |
| Остальная система | 150 | 24 | 3.6 |
| ИТОГО | 850 Вт | 24 часа | 20.4 кВт·ч/день |
Средняя стоимость электричества в РФ на 2026 год - 6.5 руб/кВт·ч (в Москве - 8.5 руб).
20.4 кВт·ч × 6.5 руб = 132.6 руб/день
132.6 руб × 30 = 3,978 руб/месяц
Или ~4,000 руб в месяц только на электричество.
Для сравнения: ChatGPT 4.7 Pro стоит 20$/месяц (≈1,800 руб). Получается, локальный AI на Dual RTX 3090 в 2.2 раза дороже только по электричеству. И это без учёта амортизации железа (карты стоили 3000$), охлаждения (шумит как самолёт) и времени на настройку.
Важный нюанс: если использовать модель не 24/7, а только при необходимости, стоимость падает. Но тогда зачем Dual RTX 3090? Одна карта справится с GLM-4.7-Flash. Две нужны для постоянной работы или для больших моделей.
Когда Dual RTX 3090 оправданы?
Вот три сценария, где две карты имеют смысл:
- Обучение моделей - для fine-tuning GLM-4.7-Flash на своих данных
- Мультимодальность - одновременная работа с текстом и изображениями
- Несколько пользователей - если к вашему локальному AI подключаются коллеги
Для одного пользователя и диалогов - overkill. Одна RTX 4090 (или даже 4080 Super) справится лучше и дешевле.
Почему GLM-4.7-Flash так капризна?
Последняя версия GLM (на январь 2026) оптимизирована для скорости, а не для стабильности. Разработчики Zhipu AI гнались за benchmark'ами, но упустили "диалоговую выносливость".
Модель использует Flash Attention 3.0, который ускоряет инференс в 2-3 раза, но плохо работает с длинными диалогами. Кэширование агрессивное, очистка - ленивая. Результат - накопление артефактов.
Что делать? Ждать GLM-4.8 или GLM-5.0. Или использовать более стабильные модели - Qwen 2.5 7B или DeepSeek-V3 7B.
Мой вердикт
Dual RTX 3090 с NVLink - это крутое железо для 2023 года. В 2026-м - уже устаревшее решение. Две карты потребляют 700Вт, шумят, греются, а GLM-4.7-Flash на них работает хуже, чем на одной RTX 5090 (если она уже вышла).
Деградация в диалоге - это не баг, а следствие неправильной настройки и архитектурных ограничений модели. Можно улучшить параметрами генерации, но не устранить полностью.
Стоит ли игра свеч? Если вы исследователь, который тестирует распределённый инференс - да. Если просто хотите приватный ChatGPT - нет. Купите одну мощную карту последнего поколения и не мучайтесь с настройкой двух.
P.S. Если уже купили две 3090 - не отчаивайтесь. Используйте их для генерации изображений Stable Diffusion 3 или видео. Там распределение по GPU работает лучше.