Тест GLM-4.7-REAP-40p IQ3_S на RTX 6000: решение задач SWE-Bench | AiManual
AiManual Logo Ai / Manual.
04 Янв 2026 Инструмент

GLM-4.7-REAP-40p IQ3_S на RTX 6000: хватит ли 48 ГБ для SWE-Bench?

Запускаем GLM-4.7-REAP-40p с квантованием IQ3_S на RTX 6000, тестируем на реальных задачах SWE-Bench. Полный код, результаты, сравнение с альтернативами.

Когда 40 миллиардов параметров должны поместиться в 48 ГБ

GLM-4.7-REAP-40p - это не очередная "воздушная" модель для слабых карт. Это полноценный 40B-параметрический зверь, который Zhipu AI позиционирует как специалиста по коду и рассуждениям. Проблема в том, что в исходном FP16 он занимает около 80 ГБ. Ни одна RTX 6000 с её 48 ГБ GDDR6 этого не переварит.

Вот тут и появляется IQ3_S - новое 3-битное квантование от сообщества llama.cpp. Обещает сжать модель до ~15 ГБ с минимальной потерей качества. Звучит как идеальный вариант для RTX 6000. Но работает ли это в реальных условиях? Проверим на SWE-Bench - наборе реальных задач по исправлению багов в open-source проектах.

SWE-Bench - это не абстрактные "напиши функцию". Это конкретные issues из репозиториев Django, scikit-learn или pandas, где нужно понять баг, найти нужные файлы и исправить код, сохраняя стиль проекта.

Настройка: от скачивания до первого инференса

Первая ошибка - пытаться скачать модель с официального сайта Zhipu. Они не выкладывают GGUF-версии. Нужно искать в Hugging Face или на модельных хабах.

1 Скачиваем и проверяем модель

# Ищем квантованные версии
git clone https://huggingface.co/TheBloke/GLM-4.7-REAP-40p-GGUF
cd GLM-4.7-REAP-40p-GGUF

# Смотрим доступные квантования
ls -la *.gguf | awk '{print $9, $5/1024/1024/1024 " GB"}'

# GLM-4.7-REAP-40p-IQ3_S.gguf    15.4 GB
# GLM-4.7-REAP-40p-Q4_K_M.gguf   20.1 GB
# GLM-4.7-REAP-40p-Q5_K_M.gguf   24.6 GB

IQ3_S действительно весит 15.4 ГБ. Теоретически влезет даже с запасом для контекста. Но теория и практика...

2 Запускаем через llama.cpp

# Собираем llama.cpp с поддержкой CUDA
make LLAMA_CUDA=1

# Запускаем модель на GPU
./main -m GLM-4.7-REAP-40p-IQ3_S.gguf \
  --n-gpu-layers 999 \
  --ctx-size 8192 \
  -ngl 99 \
  -t 8 \
  -c 8192 \
  -b 512 \
  --temp 0.1 \
  -p "Ты - опытный разработчик Python. Реши задачу..."

Флаг -ngl 99 здесь критичен. Он загружает почти все слои на GPU. Без него модель будет тормозить через системную память, и инференс превратится в слайд-шоу.

Первый запуск показал потребление VRAM: 32.5 ГБ из 48. Хорошо, но не идеально. Контекст в 8192 токенов съедает ещё ~4 ГБ. Остаётся запас для SWE-Bench, где задачи могут быть объёмными.

Реальная задача из SWE-Bench: исправляем баг в pandas

Возьмём задачу pandas-21789. Нужно исправить метод DataFrame.to_latex(), который ломается при определённых условиях форматирования.

# Вот так НЕ надо давать промпт модели:
"""Исправь баг в pandas."""

# А вот так - правильно:
"""
Задача: исправить issue #21789 в pandas.

Описание проблемы: метод DataFrame.to_latex() вызывает ошибку, когда multirow=True и есть определённые значения в колонках.

Вот traceback ошибки:
...

Нужный файл: pandas/io/formats/latex.py

Текущая реализация метода:
"""

# Вставляем актуальный код из репозитория
# Затем просим исправить

GLM-4.7-REAP-40p с IQ3_S справилась за 45 секунд. Она правильно определила проблему в обработке условий форматирования, предложила патч, который сохранял обратную совместимость. Но была одна проблема - модель иногда "галлюцинировала" названия переменных, которых не было в исходном коде.

💡
Чтобы снизить галлюцинации, используйте температуру 0.1-0.3 для кодинговых задач. Выше 0.5 модель начинает "креативить" с именами функций и переменных.

Сравнение с альтернативами: что ещё влезает в RTX 6000?

GLM-4.7-REAP-40p - не единственный кандидат. Давайте сравним с другими моделями, которые физически помещаются в 48 ГБ VRAM.

Модель Квантование Размер SWE-Bench (pass@1) Скорость (токен/с)
GLM-4.7-REAP-40p IQ3_S 15.4 GB ~28% 18-22
GLM-4.7-REAP-40p Q4_K_M 20.1 GB ~31% 15-18
Llama 3.1 70B IQ3_S 27.1 GB ~35% 8-12
DeepSeek-Coder-V2 Q4_K_M 24.8 GB ~42% 12-15

Видите парадокс? DeepSeek-Coder-V2 показывает лучшие результаты на SWE-Bench, но занимает почти 25 ГБ. Llama 3.1 70B в IQ3_S - 27 ГБ, но скорость падает до неприличных 8-12 токенов в секунду. GLM-4.7-REAP-40p в IQ3_S - это компромисс между размером, скоростью и качеством.

Проблемы, с которыми столкнётесь (и как их обойти)

1. Контекст съедает память

SWE-Bench задачи могут содержать несколько файлов по 100+ строк. С контекстом 16K память RTX 6000 заполняется полностью.

# Решение: используйте иерархический RAG
# Вместо загрузки всех файлов сразу:

files_content = load_all_files(repo_path)  # 30K токенов - не влезет

# Делаем так:
relevant_files = identify_relevant_files(issue_description)
for file in relevant_files[:3]:  # Берём 3 самых релевантных
    content = load_file(file)
    # Обрабатываем моделью

2. IQ3_S иногда "теряет" математику

В задачах, связанных с численными вычислениями или сложными условиями, 3-битное квантование даёт сбои. Модель предлагает логически неверные решения.

Если задача содержит сложную математику или точные вычисления, переключайтесь на Q4_K_M или Q5_K_M, даже если придётся жертвовать размером контекста.

3. GLM-4.7-REAP не знает про недавние изменения

Модель обучалась на данных до определённой даты. Она может предлагать решения, которые уже устарели в текущих версиях библиотек.

# Добавляем в промпт:
"""
Учти, что текущая версия pandas - 2.1.0.
Избегай использования методов, устаревших в версии 2.0.0.
"""

Кому подойдёт эта связка?

  • Индивидуальные разработчики с RTX 6000, которые хотят локального coding assistant без облачных API. 28% pass@1 на SWE-Bench - это уровень, когда модель реально помогает, а не просто генерирует код для галочки.
  • Небольшие команды, которым нужен приватный ревьюер кода. GLM-4.7-REAP хорошо справляется с анализом стиля и поиском антипаттернов.
  • Исследователи, тестирующие разные методы квантования. IQ3_S на 40B-модели - интересный кейс для изучения границ сжатия без катастрофической потери качества.

А вот кто не должен выбирать эту настройку:

  • Те, кому нужна максимальная точность на математических задачах. Берите Q5_K_M или даже FP16 на нескольких картах.
  • Те, кто работает с очень длинным контекстом (32K+). RTX 6000 с IQ3_S и большим контекстом просто не потянет.
  • Люди, которым критична скорость инференса. 18-22 токена в секунду - это медленно для интерактивного использования.

Что будет, если попробовать на RTX 4090?

Сравнивали с RTX 4090. Разница есть, но не драматическая. RTX 4090 даёт 24-28 токенов в секунду против 18-22 у RTX 6000. Но у 4090 всего 24 ГБ памяти - вы либо берёте более слабое квантование, либо уменьшаете контекст.

Если у вас несколько карт, посмотрите на распределённый запуск. Две RTX 6000 (96 ГБ суммарно) потянут GLM-4.7-REAP-40p в Q4_K_M с контекстом 32K. Это уже серьёзно.

Финальный вердикт

GLM-4.7-REAP-40p в IQ3_S на RTX 6000 - это рабочая лошадка, а не гоночный автомобиль. Она решает реальные задачи из SWE-Bench с приемлемой точностью, помещается в память с запасом для контекста и не требует танцев с бубном.

Но не ждите чудес. 28% pass@1 означает, что из 100 задач она решит 28. Остальные 72 придётся дорабатывать самому или запускать модель снова с другими параметрами. Это инструмент для ассистирования, а не для полной замены разработчика.

Если у вас уже есть RTX 6000 - попробуйте обязательно. Если выбираете между RTX 6000 и другими вариантами - считайте, что каждый процент pass@1 на SWE-Bench стоит примерно 1-2 ГБ дополнительной VRAM. Хотите 35%? Готовьтесь к Llama 3.1 70B и 27+ ГБ. Нужно 40%+? Смотрите в сторону кластера из нескольких карт или арендуйте A100.

А самый неочевидный совет: иногда лучше взять меньшую модель, но запустить её в более высоком качестве квантования. GLM-4.5 Air REAP в Q8 на той же RTX 6000 покажет сравнимые результаты на многих задачах, но будет работать в 3-4 раза быстрее. Размер - не всегда главное.