Я давно слежу за развитием локальных LLM, но всегда упирался в одно и то же — либо модель маленькая и качество не устраивает, либо большая и не влезает в видеопамять. Всё изменилось когда я наткнулся на статью про MoE-модели и параметр -cmoe в llama.cpp.
Расскажу как я запустил Qwen3.6 35B-A3B на RTX 4070 12GB с 32GB RAM, настроил его как AI-ассистент для реального проекта в opencode, и почему теперь эта модель у меня работает постоянно.
Железо и ожидания
Моя конфигурация:
-
GPU: RTX 4070 12GB VRAM
-
RAM: 32GB DDR4
-
CPU: 12 физических ядер
-
OS: Windows 11 + WSL2 (Ubuntu)
Когда я впервые прочитал про Qwen3.6 35B-A3B, я был скептически настроен — 35 миллиардов параметров при 32GB RAM звучит как “не влезет”. Но MoE архитектура меняет правила игры.
Почему MoE — это другая история
Обычные (Dense) модели активируют все параметры при генерации каждого токена. MoE (Mixture of Experts) модели устроены иначе: из всех “экспертов” (мини-подсетей) на каждом шаге активируется только небольшая их часть.
Qwen3.6 35B-A3B имеет 256 экспертов на каждом слое, но активирует только 8 routed + 1 shared — то есть реально считает примерно 3 миллиарда параметров на каждый токен, хотя общий вес модели 35B.
Это означает:
-
Скорость генерации как у маленькой 3B модели
-
Качество значительно выше за счёт специализации экспертов
-
Квант Q4_K_M весит всего 22GB — влезает в 32GB RAM
Настройка в LM Studio
Для запуска выбрал LM Studio — удобный GUI поверх llama.cpp. Скачал модель qwen/qwen3.6-35b-a3b квант Q4_K_M (22GB).
Ключевые настройки которые я подобрал:
|
Параметр |
Значение |
Зачем |
|---|---|---|
|
Передача на GPU (ngl) |
40 (макс) |
Все слои пытаемся отдать GPU |
|
Number of layers for MoE onto CPU |
40 |
MoE-веса остаются в RAM |
|
Flash Attention |
Включён |
Экономия памяти под контекст |
|
Размер пакета оценки |
8192 |
Быстрая обработка контекста |
|
Размер пула потоков ЦПУ |
10 |
Чуть меньше макс для стабильности |
|
Длина контекста |
65 536 |
Баланс качество/память |
Важный момент про ncmoe: логика немного контринтуитивна. Сначала параметром ngl=40 отдаём все слои на GPU, потом параметром ncmoe=40 говорим “но MoE-веса вернуть на CPU”. В итоге на GPU остаются только лёгкие тензоры внимания (~6GB VRAM), а тяжёлые MoE-веса лежат в RAM.
До применения -cmoe модель требовала все 12GB VRAM и не влезала. После — занимает 6.2GB VRAM и комфортно работает.
Реальные замеры скорости
Из логов LM Studio при генерации:
eval time = 8228 ms / 347 tokens → 42 tokens/sec (TG)
42 токена/сек при генерации — для 35B модели отличный результат, текст появляется плавно без заметных пауз.
Скорость обработки контекста (PP) сильно зависит от размера запроса — от нескольких секунд на короткие вопросы до минуты при первом запросе с полным анализом кодовой базы. В обычном режиме работы (вопрос-ответ, правка кода) задержка практически не ощущается.
Чем дольше работаете в одной сессии — тем быстрее модель отвечает на новые сообщения, так как KV-кэш переиспользует уже обработанный контекст.
Подключение к opencode в WSL
Модель поднимает OpenAI-совместимый API на порту 1234. IP адрес хоста видно прямо в интерфейсе LM Studio в разделе Developer — поле “Reachable at” (на скриншоте: http://172.18.0.1:1234). Именно этот адрес использую для подключения из WSL.
# Проверить что модель отвечает
curl http://172.18.0.1:1234/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "qwen/qwen3.6-35b-a3b",
"messages": [{"role": "user", "content": "Hello!"}]
}'
В ответе видно reasoning_content — модель думает вслух перед каждым ответом. Для простого “Hello!” она потратила 243 reasoning-токена на анализ приветствия. Для серьёзных задач это большой плюс.
В opencode.json прописываю:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (local)",
"options": {
"baseURL": "http://172.18.0.1:1234/v1"
},
"models": {
"qwen/qwen3.6-35b-a3b": {
"name": "Qwen3.6 35B a3b (local)"
}
}
}
}
}
Как модель работает с реальным проектом
Тестировал на своём проекте online-course-platform — микросервисная архитектура на FastAPI + React.
Анализ кодовой базы
Попросил: “Какие улучшения для проекта можешь предложить?”
Модель запустила explore-агент, сделала 173 вызова инструментов, реально прочитала весь код и выдала структурированный список из 23 улучшений с разбивкой по приоритетам
Создание GitHub Issues
Попросил создать детальные issues для найденных проблем. Модель:
-
Изучила существующие паттерны тестов в проекте (auth, course)
-
Написала детальные issues с конкретными названиями тестов, структурой файлов, критериями готовности
-
Создала их через
gh CLIпрямо в репозиторий
Пример issue для тестирования progress-сервиса содержал: структуру тестов, 21 конкретный тест-кейс с ожидаемыми HTTP-статусами, конфигурацию fixtures по аналогии с существующими сервисами. Не абстрактное “написать тесты”, а конкретный план — можно посмотреть живой пример.
Качество ответов
По бенчмаркам Qwen3.6 35B-A3B показывает сильные результаты среди MoE моделей — SWE-bench Verified 73.4%, Terminal-Bench 2.0 51.5%, GPQA Diamond 86.0%. Особенно выделяется в agentic coding задачах, обгоняя Dense модели значительно большего размера.
На практике это подтверждается. Модель:
-
Правильно понимает контекст больших кодовых баз
-
Генерирует рабочий код без галлюцинаций несуществующих API
-
Сама исправляет ошибки когда bash возвращает ошибку
-
Хорошо работает с русским языком
Параметры температуры
Официальная документация Qwen рекомендует для coding задач: temperature=0.6, top_p=0.95. Это совпало с дефолтом LM Studio и на практике работает хорошо — ответы детерминированные, но не механические.
Итог
Qwen3.6 35B-A3B на RTX 4070 + 32GB RAM — это работающий вариант для разработчика который хочет мощный локальный AI-ассистент без облачных расходов и без отправки кода на внешние серверы.
MoE архитектура позволила запустить то, что раньше требовало минимум 80GB RAM. 42 токена/сек — это комфортная скорость для работы в реальном времени.
Если у вас похожее железо и вы ещё не пробовали — рекомендую. Особенно если работаете с кодом и хотите агентский режим через opencode или аналоги.
Железо для воспроизведения:
-
GPU от 8GB VRAM (проверено на RTX 4070 12GB)
-
RAM от 32GB (модель займёт ~22GB)
-
LM Studio последней версии
-
llama.cpp для более тонкой настройки через CLI
Ссылки:
-
LM Studio: lmstudio.ai
-
opencode: github.com/sst/opencode
Автор: rAnto


