Обновить

Комментарии 112

Огромное спасибо за статью! Разжевали много супер полезной информации.

Супер крутая статья! Спасибо.

У меня к вам вопрос.

Можно ли использовать 2 видеокарты под плотные и мое модели с llama.cpp? Конкретны кейс - две видюхи в PCIe x16\PCIe x4 дадут эффект или x4 убьет производительность и смысла нет? Тут надо именно практическую сторону) Теория говорит что смысла почти нет. Но теория говорит что 35-а3б на 4070 дает 5 т\с, а практика говорит что 30-50.

Можно. Pciex4 сильно не влияет на инференс, модель только грузится дольше. По сравнению с CPU скорость инференса выше. Кратность зависит от соотношения модели в VRAM и RAM. Но даже если 1 layer попадает в RAM то сразу минус 30% к скорости. И чем больше их в Ram тем хуже. У меня была одна карта на x16 4080 16гб и вторая х4 5060 16гб- с полным VRAM offload на две карты в разы быстрее для моделей с файлом от 16гб .

А когда пользовались не тупило? Я это пытался выпытать из дипсика. Нейронка пишет что загрузиться всё ок, но при использовании будет гонять туда сюда слои между картами и оперативкой и за счет медленного Pciex4 будет даже хуже чем с просто оперативной памятью.

Хочется попробовать что то типа qwen3.5 122b a10b на openclaw(и других) как будет. У меня сейчас 4070 и 32vram. Можно докупить 5070ti + RAM и получить место под Qwen3.5-122B-A10B-UD-IQ4_NL. Не понимаю стоит ли затрат.

Вы не пробовали на своём железе сети размером Qwen3.5-122B-A10B?

Пользуюсь. У меня она сейчас в Q4_K_XL (70Gb файл) помещается полностью в VRAM 80Gb на 3 карты в режие x8+x8+x4. Скорость 60-70 t/s на простом запросе. Если чуть уйти в RAM на пару гигабайт, то падает до 40 t/s и чем больше выгрузка в RAM тем медленнее. Модель большая для домашнего компьютера, и мне кажется что ваша конфигурация не будет выдавать комфортную скорость(хотя бы 30 тс). Но я не пользовался cmoe и ncmoe, как написано в статье. Возможно они существенно ускоряют инференс для этой модели в RAM.

А на сколько велика разница в выполнении задач между Qwen3.5-122B-A10B и более мелкой допустим Qwen3.5-35B-A3B, вы не проверяли?
У меня друг на 15 т\с сидит и радуется. :)

Я проверил разницу(свои тесты, плюс нейронку попросил сделать тесты агентские и общие) между Qwen3.5-35B-A3B и Qwen3.5-9B, разница очень большая для меня. Хотя видел на реддите что чувак сидит в openclaw с Qwen3.5-4B и ему норм.

122 всяко лучше в целом, т.к. в ней в 3.5 раза больше данных. Но последняя 3.6-35b тоже для многих задач очень даже неплоха. Надо смотреть в реальных применениях. В ютубах уже полно обзоров и сравнений.

Не верьте галюнам дипсика. То, что он вам пишет, было справедливо для EXL2, GPTQ и прочих старых GPU-only форматов. Там изначально подразумевается то, что вся модель и её кэши помещаются в видеопамять, а возможность перетекания весов в оперативку - это костыль, убивающий производительность. Конечно, зарезанные линии будут проблемой, но там и с PCIe 5.0 x16 сильно лучше не будет.

Любой адекватный llamacpp-подобный движок изначально, ещё со стародавних времён GGML форматов, никуда не гоняет веса во время инференса. Ибо что старенький GGML, что современный GGUF может работать и на GPU, и на CPU, на них двоих одновременно. В современном llamacpp веса рационально распределяются по памяти в зависимости от железа и конфигурации, но никуда дальше не двигаются: то, что находится в RAM остаётся в RAM и просчитывается центральным процессором.

Поэтому будь у вас хоть у вас одна линия PCIe, хоть вообще распределенные вычисления в локальной сети, на работе это слишком сильно не скажется. Только первоначальная загрузка модели будет дольше. И то, если скорость вашего SSD позволит ощутить эту разницу. Суть в том, что всё критичное сразу набивается в VRAM и никуда из неё не выгружается.

Надо написать дипсику флаги, которые ты собираешься использовать, и что твоя модель имеет MOE архитектуру. Также нужно указать используемый квант, тогда ИИ сможет более адекватно рассчитать скорость инференса.

Про cpu это не всегда так. Особенно в кейсе с несколькими видеокартами бывает удобно выгрузить некоторые слои на cpu, в lm studio даже отдельная настройка под это есть. И да, это ускоряет инференс. Правда для этого лучше иметь процессор пожирнее, хотяб 16 ядер, и частоту памяти повыше

Тут как-то до сих пор нет консенсуса. Если это Dense - то однозначно работает, если MoE за счет дополнительных GPU целиком влезает, то работает, но ncmoe компенсирует разницу.

А вот если MoE не влезает целиком, то добавление второй GPU пока не ясно - дает эффект или нет. Зависит от разных факторов. В моем случае результат усредняется. И нужно учитывать, что 2 GPU это не VRAM1 + VRAM2, общий расход памяти на контекст будет выше, чем на одной карте.

В последнее время не было больших Dense, поэтому старая Llama-3.3-70B-Instruct-UD-Q3_K_XL 34.9 Гб, просто из расчёта чтобы влезло на 2 GPU:

  • 5090 -ngl 81: 10 t/s

  • 4060 -ngl 32: 2.4 t/s

  • 5090 + 4060 auto: 17 t/s

  • 5090 + 4060 -ts 5,1: 23 t/s

Qwen3.5-122B-A10B-UD-Q4_K_XL 74 Гб:

  • 5090: 23 t/s

  • 4060: 12 t/s

  • 5090 + 4060: 18 t/s

Qwen3.5-122B-A10B-UD-IQ2_XXS 35 Гб:

  • 5090: 67 t/s

  • 4060: 19 t/s

  • 5090 + 4060 auto: 64 t/s.

  • 5090 + 4060 -ts 5,1: 79 t/s

Везде 4k контекст и Win10. У меня 4060 подключена через pcie x1, через nvtop можно посмотреть интенсивность обмена, она довольно низкая для MoE:

ncmoe
ncmoe

Для Dense еще менее интенсивна:

dense
dense

Вообще, ширина канала нужна для Tensor Parallelism, который дает ~2х ускорение на двух GPU, где происходит интенсивный обмен тензорами. В llama.cpp используется Pipeline Parallelism - сначала работает первая GPU, потом вторая GPU, между ними обмен только конечных слоев, которые на конкретной GPU, что не особо интенсивно, но и ускорение только за счет дополнительной быстрой памяти, а не одновременной работы двух GPU.

Хорошая поддержка TP в vllm и sglang. В ik_llama есть режим -sm graph, который делает почти тоже что TP. В llama.cpp есть -sm tensor, но он работает пока не очень, хуже чем sm graph.

Рад приветствовать вас!

Скажите пожалуйста, а точно ли надо скачивать библиотеки cudart-llama и помещать в довесок к основным файлам запуска? Всегда работало без них. Сейчас попробовал их тоже закинуть - разницы абсолютно никакой и по логам что-то не видно, что он хоть как то с ними взаимодействует...

Пробовал с 5080 переезжать на 13 cuda и разницу в скорости генерации между cuda 12 и 13 не заметил - так и должно быть? Откатился обратно на 12 т.к. многие другие генераторы изображений и голоса пока ещё не работают с 13 версией.

Пользуясь случаем, так-же хочу внести свой вклад в копилку знаний llama.cpp:

То есть для комфортной работы запускаю через батник вот так:

E:\llama-b8913-bin-win-cuda-12.4-x64\llama-server.exe -c 131072 --fit-target 3072 --host 172.16.0.7 --port 11434 --models-max 1 --sleep-idle-seconds 600 --webui-mcp-proxy --models-dir E:\gguf

Здесь есть пару интересных параметров, не указанных в статье автора:

--sleep-idle-seconds 600 - таймаут бездействия выгружает модель из памяти если не работаем с моделью в кеш, а сервер переводит в режим сна. При обращении к модели, всё это очень быстро восстанавливается в работу.

--webui-mcp-proxy - обязательный параметр если подключаем свой mcp сервер, без него будут проблемы с cors.

Есть у меня и второй батник с параметром –reasoning off , его я запускаю когда подключаю локальные модели к VSCode Github Copilot:

E:\llama-b8913-bin-win-cuda-12.4-x64\llama-server.exe -c 131072 --fit-target 3072 --host 172.16.0.7 --port 11434 --reasoning off --models-max 1 --sleep-idle-seconds 600 --webui-mcp-proxy --models-dir E:\gguf

--reasoning off - на любой модели отключает размышление (даже на неотключаемом gpt-oss вырубает). Я так понимаю для Copilot при работе с локальной моделью, размышление только мешает и после недолгой работы, начинает сыпать ошибками. Особо не разбирался, возможно быстро заканчивается окно контекста, но как по мне с моделью без размышления Copilot гораздо лучше "кодит" и конечно же в разы быстрее. ))

Без размышлений кодит дичь, потому что остановиться не может.

У меня работает следующим образом:
Если cudart-llama не класть в каталог к llama и CUDA toolkit не установлен, то модель грузится только в RAM.
Если cudart-llama положить в каталог к llama и/или CUDA toolkit установить, то модель грузится в VRAM.

Скажите пожалуйста, а точно ли надо скачивать библиотеки cudart-llama и помещать в довесок к основным файлам запуска? Всегда работало без них. Сейчас попробовал их тоже закинуть - разницы абсолютно никакой и по логам что-то не видно, что он хоть как то с ними взаимодействует…

У вас скорее всего CUDA toolkit стоит. У большинства его нет, поэтому нужно.

Другая проблема ollama в том, что вы никогда не знаете, что именно вы загружаете. Например, выполнив команду ollama run gemma4 вы получите какую-то gemma4, которую они решили делать стандартной.

Решается очень просто: ollama run gemma4:31b-it-q8_0

Ищется нужный квант из доступных здесь https://ollama.com/library/gemma4/tags

Не решает проблему того что в оламе очень маленький выбор моделей и квантов. В том же lm studio монжо стянуть примерно всё что захочешь с hf

Хотел бы что-то такое применительно к макам на м5 почитать, что лучше подходит, как запускать, как 36gb общей памяти можно использовать и т.д.

На маках отдельный мир, тут есть свой фреимворк для запуска и формат моделей mlx. Недавно где-то ыбл его форк на расте(оригинал на питоне). Но если не хочется сильно запариваться, бери lm studio и ищи там mlx модели

Ничего сколь либо полезного на таком пока не запустишь

Ничего вариант не подходит. Если есть ограничение, то что с этим сделать? Вариант изменить конфигурацию оборудования не представляется возможным

Заход с другого бока: openrouter.ai . Там куча дешёвых "китайцев". есть и бесплатные, но тормозные обычно.

Локальные модели ставятся не только из-за экономии токенов или кондициальности данных, а например, если нет интернета в корпоративной сети 🤗

qwen3.5 4b. Будет не очень быстро, но шуршать. Можно хоть на телефон ставить, там не принципиально. Или уже старенький, но рабочий gpt-oss-20-a5b.

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

Применимость точно есть. И тут главное найти баланс время/качество. Потому что если модель быстро работает, но результат анализа допустим документа слабоват, то пытаешься под разными углами или промтами улучшить этот анализ. Поэтому иногда лучше пожертвовать временем и получить гарантированно отличный результат, чем переделать по несколько раз)

А в чём проблема запустить Qwen3.6-35B-A3B? В память что-то из Q4 динамических квантов должно помещаться, и там всего 3B активного веса, центральный процессор должен с этим справиться. Просто нужно ограничить бюджет токенов на размышления, и быть готовым к тому, что обработка промта может быть дольше обычного. Хотя и её можно ускорить, если есть ХОТЬ КАКОЙ-ТО GPU в системе. Пусть даже и встройка, хоть затычка на 4ГБ видеопамяти.

Проблем запустить нет. Просто хочется выжать максимум на доступной конфигурации.
GPU в системе UHD Graphics 770, но толку от него мало. Лучше мне кажется наоборот в данном случае всё на процессор перекинуть с параметром --n-gpu-layers 0

igpu может быть по производительности(токен/сек) может быть на ровне или ниже чем сам процессор.
тогда выходят другие показатели. например задержки перед ответом. у cpu задержка ниже чем у igpu/gpu.
но igpu/gpu/npu лучше по энергоэффективности.

так же нужно учесть что на cpu оптимальны веса Q8 и модели onnx.
кванты ниже требуют дополнительных вычислений, что ведёт к снижению производительности.
кроме onnx формата/стандарта существуют другие оптимизированные, но onnx модели обычно легко найти уже готовые.

MoE гемму, если 2-3 токена в секунду вас устроят. Либо другую MoE на 16-24 гб. Но в любом случае это будет медленно.

Всеравно ставьте LM Studio, выбираете Engine (для Intel тоже есть оптимизации) и смотрите младшие QWEN, Gemma.

Если конечно у вас не 32 на Apple Silicon. Там VRAM будет не быстрым, но зато около 24-26 Гб и уже больше всего интересного.

Практически любая MoE c A3B. Например, Qwen3.6-35B-A3B или gemma-4-26B-A4B. Скорость у них будет около 8 ток/сек. Или брать Qwen3-Coder-30B-A3B - он быстрее раза в 2.

P.S. для чата таких скоростей достаточно, но для агентской работы явно мало.

А приставка Coder не сильно помешает при обычных вопросах/разговорах?

Qwen3-Coder отлично подходит для технических вопросов. Для переводов / работы с текстом - gemma лучше. Для разговоров я бы gemma взял, наверное.

P.S. еще можно посмотреть на Qwen3-30B-A3B-2507 (Instruct / Thinking) - тоже быстрая. Хотя Qwen3.6-35B-A3B свежее, а значит и “поумнее” будет.

P.P.S. тут лучше самому пробовать свои задачи с разными моделями.

Вы прям как в воду глядели! Кстати, спасибо за помощь в комментариях! 😊

"Скорость у них будет около 8 ток/сек.".
Действительно больше я выжать не смог на MoE моделях. Пробовал llama.cpp, ik_llama.cpp, ollama.

Разницы между UD-Q4_K_XL и UD-Q5_K_M также не заметил.

Единственное, llama.cpp + её web-ui как-то на мой взгляд хуже себя ведет, чем ollama + open web ui. Может параметры какие то плохие юзаю, может ещё что-то.

--jinja -c 8192 --threads 8 --threads-batch 8 --host 127.0.0.1 --port 8033 -ngl 0
==========
8192 использую, потому 4096 ну очень мало, мне нужно анализировать логи, тексты, код. А насчет batch-size, threads и threads-batch сомневаюсь насколько они увеличивают скорость. Попробую бенчмарк на питоне дописать и потестировать с разными параметрами.
=======
Bonsai-8B-gguf + ik_llama.cpp вроде как быстро работает, но пока не до конца пощупал эту связку.

Я разочаровался в моделях от unsloth, перешел на bartowski.

У unsloth идет тюнинг после квантования (да и сам UD означает что они сами решали что важно а что не очень). И “хорошо” они работают только в тех ситуациях, которые попали в их выборку.

Как итог Qwen3.6-35B-A3B-UD-Q4_K_XL в не-думающем режиме просто неюзабилетен. С русским тоже зачастую проблемы.

P.S. 8 ток/сек - это моя скорость ) Только я делаю --threads 4 --threads-batch 8 - чтобы меньше кулер шумел, на скорость сказывается не сильно )

Подумал, может ik_llama как-то решит проблему, но нет. Попробовал запустить Qwen3.6-27B-IQ4_XS.gguf - к сожалению, скорость вообще ужас 2-3 токена. В общем, если сидим чисто на CPU с 32 ГБ памяти, то спасают исключительно MoE-модели (максимум до 35B параметров). С классическими моделями правило простое - чем меньше, тем лучше))

Осталось среди MoE моделей под скорость 10 токенов найти самую умную и крутую)) Пока остановился всё таки на gemma-4-26B-A4B-it.

Хочу еще попробовать сборки от mudler. Что-то типа gemma-4-26B-A4B-APEX-Balanced.gguf

APEX выглядит интересно, но я с настороженностью отношусь к моделям из серии “после квантования опережаем оригинал”. Опередить можно только в одном случае - была оптимизация под бенчмарк. А если в одних местах прибыло, то в других местах убыло.

gemma-4-26B-A4B-it очень хороша, спору нет. Но я на Qwen3.6-35B-A3B остановился. Мне в основном технические вещи надо, а с ними у qwen немного получше будет. Впрочем, ничего не мешает и gemma загрузить по необходимости - gguf-файл под рукой )

Только для меня осталось загадкой, как unsloth/Qwen3-Coder-30B-A3B-Instruct-UD-Q4_K_XL.gguf выдает ~15 токенов. Весит примерно как gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf. По параметрам Qwen3 даже больше, но работает быстрее в 1.5 раза! Как бы остальные модели такие подобрать, чтобы скорость была примерно 15 токенов...

Да, Qwen3-Coder-30B-A3B, как и Qwen3-30B-A3B быстрее работают. Причем сильно быстрее. Более того, скорость Qwen3 соответствует теоретическому максимуму, который рассчитывается из пропускной способности памяти и размера модели (или числа активных параметров).

Но тот же Qwen3-Next уже “испортился”. Скорее всего виноват другой механизм внимания, который на больших контекстах работает быстрее. У Qwen3 с ростом контекста скорость быстро падала )

Самый простой и доступный вариант на уровне последних версий Qwen. Заюзать разработку яндекса в виде облачного https://sourcecraft.dev/portal/code-assistant/ используют форк Roo Code агента и датасет qwen. Сейчас по сути даже платный вариант бесплатно несколько месяцев, потом от 250р.

Также в нём можно использовать локальные модели, если будет нужда.

Что и как посоветуете запускать только на cpu 32 Гб ram?

Можно запускать что угодно, если есть быстрый SSD: попробовал работу openai_gpt-oss-120b-MXFP4.gguf 63 гб на диске. RAM 32 гб DDR5 4800 мгц, SSD 4 тб чтение 7 гб в сек. без использования GPU. Получилось 5 токенов в сек. или 16 символов в сек. SSD за 3 минуты нагрелся с 39 до 49 градусов, прочитал 160 гб.

Если нужна нейронка как факт, можно попробовать что то из разряда 4B/8B, что то больше скорость уже будет не ахти. Модели 9B уже сносные к нормальному использованию, даже кодить могут. По скорости, на моем xeon gold 6146 12 ядер 24 потока qwen3.5 4B Q4 K M скорость была 21 токен в секунду, что вполне прилично

/s

Just download model with UD-Q4_K_XL

Not with standard quant

Крутая статья, спасибо!

Годная статья, саи недавно начал крутить локальные LLM для кодинга в OpenCode, очень не хватало этой информации, спасал забугорный реддит.

Последние qwen 3.5 - 3.6 справляются с кодингов вполне хорошо, запускал на своем железе (192 гб RAM + rtx 3090 ti) как плотные 27b, так и MoE 122b-A10B, 31b-a3. Удалось в q6 запустить модель на 122b с частичной выгрузкой в RAM, было 9-15 токенов - небыстро, но приемлемо.

Проникся как качественно работает, решил добавить в систему еще 2 rtx 3090, думая что смогу меньше слоев выгружать в RAM и будет быстрее работать. Это была ошибка: либо я не смог понять как правильно загрузить несколько GPU при использовании n-cpu-moe, либо узкое горлышко в виде pci-e 4.0x4 делает частичную выгрузку в RAM бессмысленным

Но зато 27b модель с контекстом в 262 тыс. токенов помещается на 3х3090 идеально и это без использования какого-либо квантования

Проникся как качественно работает, решил добавить в систему еще 2 rtx 3090, думая что смогу меньше слоев выгружать в RAM и будет быстрее работать. Это была ошибка: либо я не смог понять как правильно загрузить несколько GPU при использовании n-cpu-moe, либо узкое горлышко в виде pci-e 16 x4 делает частичную выгрузку в RAM бессмысленным

Сам раздумывал над таким сетапом, чисто виртуально пока. Спросил GPT он мне рассоветывал, если только не использовать родной бридж (и то, не факт что даст уж очень существенный прирост). Или нужно покупать сами по себе не дешевые серверные платы с реальными PCI-E16 для каждой GPU и соответсвующие процессора и память. Можно найти конечно и б/у, но в целом выходит довольно дорогой сетап. Может стоит тогда думать об использовании каких нибудь достатончо дорогих серверных GPU с соизмеримыми VRAM но которые влазят в бытовую плату со всем сопутсвующим колхозом по охлажденю и питанию.

На реддите писали, что получали максимальный буст от NVlink на двух rtx 3090 c 9 ток/сек до 14 ток/сек. Но вот деталей я уже не помню (что за модель, какой движок для инференса). Но большинство писало, что эффект от NVlink в пределах 10-20%

Я добираю 4-ю rtx 3090 в свой сетап и на этом успокоюсь 122b-a10b в Q5 должна влезть, бюджет на хобби выбран и больше видюх не поместится в корпус.

Дальше только переход на HEDT или серверные железки. Если смогу преобразовать это дорогое хобби в доход, то думаю над сборкой на основе threadripper 7965wx, там 128 линий и материнка есть с 6 шт. pci-e 5.0x16 + один pci-e 5.0x8. Но даже в этой сборке переходить к профессиональным картам не думал ибо бюджет улетает в космос.

Blackwell 6000 на 96 гб выходит дороже четырех rtx 3090 и даже двух 4090 48gb.

А скорость и на потребителском железе приемлемая

говорят vLLM для multi-gpu лучше работает

Пробую запустить Qwen3.5 MoE 122b-A10B Q4_K_M на ai395 128 - выглядит так что в 96gb памяти выделенной для встройки 8060s должно влезть с норм контекстом, но залезло еле еле контекст 4к токенов и вся память занята, качество ответов норм и скорость норм - но что я делаю не так :( почему не могу запихать контекст хотя бы 32к :( пока разбираюсь

В LM Studio я решаю этот вопрос выбором Flash Attention K/V Cache Quantization Type. По умолчанию F16, выбираю Q8_0 или ниже. Разница в 3Gb VRAM на максимальном контексте Qwen3.6 35B A3B.

Контекст лучше не квантовать, тем более сильнее чем на q8, там прям радикально качество падает

У меня полностью влезает в 80Gb VRAM в 3 карты, контекст ставлю до 160кб и еще можно добавить, только для parallel 1 смысла нет, т.к. после 120+кб PP начинает некомфортно долго думать, даже если попадает в кеш. На простом запросе "Расскажи о себе" дает 70 t/s.
Мой конфиг, может кому пригодится:
“.\bin_test\llama-server.exe” -m ^ f:\AI\LMStudio\models\unsloth\Qwen3.5-122B-A10B-GGUF\Qwen3.5-122B-A10B-UD-Q4_K_XL-00001-of-00003.gguf ^ –host 0.0.0.0 ^ –port 1234 ^ -c 160000 ^ -ngl 49 ^ –split-mode layer ^ –tensor-split 3.2,1.0,1.0 ^ –main-gpu 0 ^ –flash-attn on^ –threads 6 --threads-batch 6 ^ –batch-size 2048 ^ –ubatch-size 1024 ^ –kv-unified ^ –temp 0.6 --top-p 0.95 --min-p 0.00 ^ –cache-type-k q8_0 --cache-type-v q8_0 -a “qwen3.5-122b” ^ –jinja ^ –reasoning off ^ –cache-ram 10000 ^ –mmproj f:\AI\LMStudio\models\unsloth\Qwen3.5-122B-A10B-GGUF\mmproj-BF16.gguf ^ –parallel 1 ^ –no-mmap ^ –tools all

Если запускаете на windows, попробуйте при запуске llama.cpp поставить флаг --no-mmap, там иногда как-то хитро работает кеширование из-за чего бывает модель начинает кушать х2 ram.

У меня так было. При загрузку модели занималось место в VRAM И столько же в RAM, --no-mmap мне помог. Так и не понял почему это не включен по умолчанию.

В Linux можно выделить всю память. Крутится q5 с полными контекстом, вполне бодренько

Спекулятивное декодирование - способ ускорить большую модель за счет использования маленькой модели черновика.

А ведь можно пойти ещё дальше, и вместо маленькой модели использовать что-то реально быстрое? Например, rag по истории старых сессий модели?

Если так, то это вообще game changer для агентских задач, где, например агент по 100 тысяч раз в день переводит на другой язык карточки примерно одинаковых товаров, что даёт хороший кеш, но при этом должен не упустить какой-то нюанс, что требует тяжелой модели

Не рабочая схема. Рабочая схема это например активно использовать субагентов которые будут использовать модели поменьше. Но пока что нормальный тул колинг + какойто осмысленный код могу писать модели размером хотябы 20б. Но да, если есть железо чтоб поднять например модель на 120б + 20б то может что-то адекватное получиться

Например QWEN

Artificial Analysis оценивает 35B на 3.6 выше, чем 122B на 3.5 по кодингу, по агентским кейсам и по общему индексу.

Спасибо, очень мотивирующая статья! А скажите - какую нужно покупать видеокарту, чтобы со всем этим экспериментировать лично? Причем я подозреваю что видеокартой не отделаешься, у меня материнка GIGABYTE AM4 B450M H, проц AMD Ryzen 7 2700, 3200 MHz, 32 GB RAM и блок питания 600W. Я пытался выяснить у всяких бесплатных чатботов, они уверенно говорят что железо устарело:( Но для всех прочих задач мне этого железа более чем хватает.

В связи с чем может подскажете - придумали ли сейчас что нибудь типа внешних видеокарт уже с блоком питания, ssd для хранения моделей, простейшим управляющим процессором с такой же простейшей операционкой, в задачу которой входила бы только работа с видеокартой и обмен по ethernet с основным компом?

С максимально большим объемом видеопамяти на свой бюджет. Можно арендовать несколько разных компов с интересующими видеокартами на vast ai, например, на пару часов чтобы понять, влезает или нет интересующее. Но учтите, что скачивание и установка всего нужного тоже займёт время, аренда пк - это не про нажать кнопку и сразу заработало, даже в шаблонах не будет весов моделей, например.

Rtx 3090, на авито можно ухватить за 60 тыс и это не самый дешевый вариант.

Блок питания помощнее нужен (хотябы 1 квт), либо отдельный на 500 вт взять и видюху к нему подключить.

Проц не вилияет сильно. Оперативка вадна, если будете запускать гибридный инференс, выгружая часть слоев на оперативку. У меня 3600 МТ/с - не быстрая, но гибридный инференс qwen 122b-a10b идет в 9-15 ток/сек - для чата комфортно, для агентов минимально приемлемо

У меня GIGABYTE B360HD3, Core i3-8350k, 32 GB RAM. Докупил RTX3090 24 GB и блок питания чтобы хватало.
Всё что влезает в VRAM работает очень бодро. Сейчас использую Qwen3.5-27B-UD-Q4_K_XL.

Где-то 30 t/s для ответа:

Есть миникомпьютеры, типа Nvidia DGX Spark и его клоны (Asus GX10), но они довольно дорогие и не шибко быстрые. Зато памяти 128 GB (unified, общая для процессора и GPU), то есть можно даже довольно жирные модели запускать. Немного сыроватая платформа, но народу нравится. Маки, начиная с M3, где памяти достаточно.

Видеокарту надо брать из относительно современных, с кучей памяти. Для поиграться с маленькими моделями - и 12 гигов хватит, но если хочется нормальное чтобы кодило там или чего-то в этом духе, то лучше от 24 гигов, на сколько денег хватит. Можно подержанные майнинговые (MI50 32GB, V100 32GB), но если не хочется играть в лотерею "сколько еще времени она проработает, пока не посыпятся конденсаторы/mosfetы)", то лучше что-то приличное, типа R9700 AI Pro 32GB. Если есть хороший бюджет, то верхней планки уже нет - накупить RTX 6000 96GB, на которых все летает. :)

В каких именно случаях у Вас ik_llama.cpp оказывалась более экономной по памяти, чем llama.cpp? Я пробовал на Gemma, у меня наоборот она ещё пару Гб видеопамяти использовала. А следовательно переставала модель помещаться целиком либо ещё больше слоёв уходило на процессор. Разобраться и понять, когда ik версия эффективнее хочу.

прогнал квант модели от unsloth на личных тестах, на 3090
все веса у gemma 4, qwen3.5, qwen3.6.
UD-Q3_K_XL и UD-Q4_K_XL.
за исключением gemma-4-31B все остальные провалили тест на проверку аномалии в анатомии(инструкция на 100 токенов + картинка). они все просто уходят в цикл.
качество ответов тоже упало заметно, по сравнению с аналогами Q4_K_M от mradermacher+heretic.

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

мне впервые вырезание части экспертов попадалось у gpt-oss, которая вышла уже довольно давно.

и у LM Studio у меня по умолчанию Q4_K_S. как сделать Q4_K_M по умолчанию?

тест на проверку аномалии в анатомии(инструкция на 100 токенов + картинка)

Можете скинуть инструкцию и картинку? Хочу у себя проверить.

Спасибо большое! Наверное это самая полезная статья по ИИ, которую я видел за последнее время!

Какой-то супер материал, так держать! Автор, посоветуй материалы или литературу чтобы хорошо разбираться в фундаментальных аспектах LLM, или это все наработано в основном за счет практики и опытов?

А что у нас с vLLM? Она на “классическом” кванте всегда в 3 раза быстрее Олламы и в 2 - лламы.цпп

vLLM в нативном Windows пока не фунциклирует, а с виртуализацией это уже не торт. Из коментов видно, что народу интересно удобное и доступное решение для домашек, т.е. Windows в большинстве случаев. И насчет x2 к llama.cpp выглядит преувеличением. Для одиночного пользователя без конкуренции разницы может и не будет.

macbook на M1+ уже стал доступным вполне. Да, начальный уровень будет 16 гб, но в целом и M1 Max 32 Gb уже не так дорог.

Но ведь в ollama (и скорей всего LM Studio) есть эти ваши UD-Q. К примеру innocentevil0914/Qwen3-8B-UD-Q4_K_XL. Возможно конечно меня на... дурили, но зачем?

Тут пришлось перейти из браузера в агента, так как потребуется модульная структура проекта, много файлов, много мелких правок
У модели есть Vision, можно сделать скриншот и показать то, как она изобразила снег

Каким образом вы “перешли в агента” и как показать модели скриншот? Я запускаю OpenCode в Docker Desktop на винде. Захожу в контейнер через терминал, запускаю opencode. Команды печатать можно, plan/build можно. А вот скриншот прикрепить к запросу никак.

  1. Можно путь к файлу скриншота

  2. Зачем его в докере, если он в консоли работает? ИБ?

    Если у нему подключить mcp playwright, то с хорошей VL моделью он сам отлаживает веб приложения и работает с изображениями

  1. Думал 1,5 минуты и сказал, что картинки читать не умеет. Хотя обращение к этой же модели через Open WebUI скушало картинку и дало описание.

  2. Из всех вариантов перечисленных в документации для винды мне был проще всего докер. npm и прочие менеджеры у меня не установлены.

надо в конфиге opencode прописать параметры для модели
“modalities”: { “input”: [ “text”, “image” ], “output”: [ “text” ] }

Без этого работать не будет

Детали - в документации.

2. Зачем менеджеры, если можно просто запустить exe файл.из архива релиза

Opencode TUI позволяет вставлять картинки из буфера обмена (под виндой)

Спасибо. Статья прям кладезь знаний по современным локальным ллм.

Спасибо Большое!!!

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

Подскажите люди пожалуйста, есть ли действительно нормальная возможность сейчас установить мощную модель дома (как обычный пользователь) и чтобы не пришлось как-то умело управлять контекстом (типа какие файлы проекта закинуть, а какие нет, чтобы он сам решал). Или это надо ждать все же ещё, какого-то нового достижения в разработках? Вопрос по сути в экономии только, чем тратить 200-400-600 дол например в курсоре, может надо озаботиться своим? Но только нормальным чем-то, какая-то мощная модель, и что будет видеть контекст проекта и что через год все не устареет и придется выбросить

альтернатива опусу только кодекс, он другой, но качество за пол года подтянули. Если deepseek v3.2 вас пол года назад не устраивал, то локально точно ничто не подойдёт. свое локальное и быстрое стоит от 20к баксов. можете поиграться с опенкодом и моделями там доступными, почти все мелко модельки можно попробовать. инференс железо пока не устаревает а наоборот приобретает актуальность как 3090 из прошлого. соберёте свой 1tb ram - через год сможете запустить на нем модель явно умнее тех что есть сейчас.

Вопрос по сути в экономии только, чем тратить 200-400-600 дол например в курсоре, может надо озаботиться своим? Но только нормальным чем-то, какая-то мощная модель, и что будет видеть контекст проекта и что через год все не устареет и придется выбросить

Тоже пока не понимаю с экономической точки зрения. Я так понимаю локально ставить это только если:

  1. Ставить модель и ее продавать по подписке. Может есть у кого опыт, если купить макбук с 256 гб рам и там запустить какую-нибудь модель и продавать к ней доступ, вообще в этом есть смысл ? ведь лимитов на токены нет, можно продавать безлимит условно за 20$/мес на локальный qwen или gemma или в итоге по потреблению электричества весь бизнес уйдет в минус ?

  2. 24/7 крутится openclaw с активными телеграмм каналами или краулерами сайтов

  3. Если уже есть готовое железо (с того же майнинга или гейминга) и просто чтобы сэкономить

  4. Без особо практического применения просто интересно ковыряться (как я в свое время собирал риги под майнинг), ничего не заработал особо, но было интересно

  5. Вы AI лид который в контору собирает локальную приватную ИИ

  6. Просто юзер для базовых вопрос вместо гугла

  7. Резерный гугл (чат формат) когда интернет штормит блокировками

Если специально собирать себе для работы прогерром например, не могу пока оценить рационально стоит ли оно того. Выше писали можно собирать на rtx 3090 например, одна стоит 60к руб. Я использую codex, стоит 20$ это 2к руб, вместо карты это выйдет на 30 месяцев (2.5 года), если не хватает токенов, купить 2 акка по 20$, тогда период 1.5 года доступ к самой топовой модели на рынке, и это только 1 видеокарта. Если брать несколько карт + обвязку + рам чтобы запускать хорошие модели, то можно на эти деньги купить codex и claude на несколько лет несколько акков сразу и пользоваться почти без ограничений (если конечно вы не через openclaw пишите убийцу фэйсбуку).

Руки очень чешутся вложиться в железо для запуска локальных моделей так как нравится ковыряться в таком, но я так понимаю все равно сложно получить уровень claude + codex сколько бы не вложил.

А недавно посмотрел openrouter, там вроде и прям цены иногда смешные, вместо компа купить там кредиты не на топовые модели и я не знаю что нужно делать чтобы их все вычерпать.

Видимо, еще зависит кому сколько лимитов в таких акках за 20$ хватает… Если нужно 3 акка или более, становится не такой долгий срок окупаемости. Но с другой стороны 3090 не даст даже близко облачной производительности, не говоря о параллельном вызове сабагентов…

Хотелось бы понять о какой "облачной производительности" идёт речь? Вот у меня судя по статистике на 2-x rtx3090 за апрель нагенерировано суммарно около 25 миллиона токенов. Я так понимаю эта цифра "и близко не стоит" с вашими облачными вычислениями, я правильно понимаю?

YMMV, вот одна из сессий рефакторинга в qwen code (5 часов потому что делал в фоне)

17М токенов (16М конечно закешировано)

Специально одну большую задачу прогнал через несколько моделей, смотрите, облачные до 5-10 раз кушают меньше токенов и выполняют работу в 5-10 раз быстрее за такую же или чуть дороже цену. Статью опубликую с подробностями позже.

Причем обратите внимание, в Others секцию, там модели которые использовали смешное кол-во токенов (до 1 млн), но задачу сделали гораздо быстрее мелких моделей, хотя если честно там одна только адекватная модель которая очень удивила ценой и скоростью выше всех на голову, в 18 раз меньше токенов чем MiniMax и в 10 раз быстрее и в 3-5 раз дешевле и первых трех казалось бы копеечных.

А скажите пожалуйста, qwen code у вас какая версия чтобы прогнать бенчмарк ? Потому что соглашусь с вами qwen суперская модель, я тестировал Qwen3.6 Plus она на уровне Claude Opus 4.7 в кодинге по моему кодинг бенчмарку.

0.14.5, но как они отменили бесплатный план пользоваться перестал

Claude code возможно мог сделать ваши задачи за 5 млн токенов и быстрее.

Статья класная. Не хватает про: MLX и другие производные (типа oq4). И не хватает новинки рассказать, что там придумала Google (turbocache) и как в целом это уже реализовано (то есть даже в том же lm studio можно настроить kv cache). И если идти в эту сторону, что за что он отвечает и что же Google пытается решить.

Статья супер. Я последние две недели занимался тем же самым, но конечно более топорно. Про вот эти новые кванты, ничего не знал. Буду их тестировать, спасибо! Вот во что я воткнулся. 1. Если собрать llama под linux, именно собрать под свою архитектуру, у меня 5070ti и 32 опративки, получается просто бешеный буст скорости, винда отстаёт безбожно. Qwen 3.6 которая 35b moe, начисто сливает в кодинге внутри opencode более старой qwen 3 coder в том же формате и катание. К стати в статье зря обошли вниманием nvfp4 или как там его. Gemma кванте, я не понял что с ней не так, но она часто просто выплёвывает код чат, забывая вызывать Тулы. На Линукс ровно при таких же параметрах запуска что и под виндой, где все работало из коробки, я убился решать проблему того, что модели падают в цикл. Думает, начинает делать, доходит до момента где должен быть результат, начинает думать снова. В vs code это затащить я не смог вообще, чтобы работало адекватно, в opencode работает. В zed тоже толком работать не хочет. В общем то запустить, получить скорость и заставить адекватно работать это не одно и то же. И я думаю, что когда люди говорят, что локальные модели слабые, ноги отсюда растут. Они не слабые вовсе, просто заставить это адекватно работать, это отдельная задача. Тот же анслот даёт на странице описания рекомендованные ими параметры для своих квантов, так вот без них работает лучше чем с ними. Вообще лучик и стабильные результаты я получал меньше накручивая всякого в строку запуска, достаточно разобраться с контекстом и сколько экспертов выгружать.

Скрытый текст

Старый Qwen3-coder хуже в кодинге чем Qwen3.6-35b и гораздо хуже Qwen3.6-27b. Это не только мой опыт, но и подтверждено кучей людей на реддите. Если у вас у вас все наоборот, значит вы что-то делаете явно не так при работе с Qwen3.6.

Ого-го) Проделана колоссальная работа по тестированию, стоит включить возможность задонатить вам) https://habr.com/ru/settings/profile/ > Донаты

Интересно, почему ikawrakow рассорился с ggerganov.
Технический спор? Организационный? Финансовый?
Можно ли помочь решить вопросы, и снова объединить усилия?

И, да, идеи и реализация - это все здорово, а жить на что?
Кто платит?

Вобщем держите самый оптимальный вариант на сегодняшний день:)) Идете на Авито и покупаете 2 видеокарты rtx3090 по 60 тыс руб в среднем каждая. После этого запускаете в llama.cpp модель unsloth/Qwen3.6-27B-UD-Q8_K_XL.gguf с настройками "-c 131972, -b 2048, -ub 2048, --cache-type-k f16, --cache-type-v f16". Модель с контекстом и кэшами занимает примерно 46 ГБ VRAM (то есть эффективно использует почти всю доступную VRAM) и работает со скоростью 25 ток/сек (1650 ток/сек промпт). Это сейчас самое эффективное вложение денег по соотношению качество генерации на 1 рубль и с учетом скорости генерации. Все что лучше данного варианта требует уже в РАЗЫ больше затрат. Все что ниже - не даёт нормально раскрыться модели Qwen3.6-27b (жертвуем или качеством в связи с более жёстким квантование, или работаем с мизерным контекстом, недостаточным для серьезных задач). 48 гигабайт VRAM - это именно тот размер, который в полной мере раскрывает данную модель. С RTX3090 по сравнению с старыми серверными альтернативными GPU абсолютно нет никаких проблем и заморочек, все отлично работает и в линукс и в винде.

есть же 4090 с 48 гигами на том же авито.
и если брать пару 3090, то для эффективности стоит взять nvlink. мост данных напрямую между ними.

Вы на полном серьезе предлагаете взять на авито за 340 тысяч RTX4090 48ГБ по цене как почти 6 штук RTX3090?:))) И кстати nvlink никакого особого смысла не имеет - современные модели (Qwen3.6-27B) и последние версии llama.cpp отлично разделяют слои по видеокартам и покупка дорогущего (18 тыс руб) nvlink не даст никакой особой прибавки в скорости

Как владелец сначла 3, а потом 4 rtx 3090 (2 ti, 2 обычные) полностью подтверждаю, при условии что 130 тыс токенов контекста хватает. Если возьмете 3 rtx 3090, то можно и не квантованную версию модели использовать с полным контекстом по умолчанию (262 тыс. токенов). Это лучшее что может быть сегодня за адекватные деньги. Скорость генерации высокая, скорость чтения супер высокая

Я добавил 4-ю gpu и получил возможность крутить qwen 122b-a10b q5_K_s на скорости генерации 9-11 ток/с (4000 тыс токенов контекста и ответ тоже около 4000 тыс токенов) и скорости чтения около 1600-1800 ток/сек.

Когда была только 1 видюха, то крутил эту же модель но в Q6_M с частичной выгрузкой в RAM с той же скоростью генерации, но со скоростью чтения 35-50 ток./сек. Для кодинга не было применимо, но в чате вполне хорошо.

В общем, сегодня 2 rtx 3090 - это реальный оптимум.

Кол-во видюх дает возможность запускать более крупные модели, но скорость работы не увеличивается, а только уменьшается (скорость генерации утыкается в скорость памяти а не производительность чипа,)

Шикарный материал (как и предыдущие на ту же тему), спасибо! Благодаря ему даже захотелось вкатиться в эту тему, чего раньше у меня не было)

Если собрать в кучу сведения из текущего материала, а также предыдущий и обсуждения под ним, правильно ли я понял: нет смысла гнаться за степенью заполненности VRAM, главное, условно говоря, насколько в процессе обработки запроса моделька грузит саму GPU (процент её использования)?

Например, у меня 3070Ti на 8 Гб VRAM, 16 (дозаказал ещё 16, на днях поставлю) Гб RAM (DDR4, 3200 Mhz). Вот просто из того железа, что имею на руках (RAM всё равно давно хотел докинуть, так что просто повод нашёлся) хочется выжать максимум.

Взял Qwen3.6-35B-A3B-UD-Q4_K_XL, запустил как есть (по-моему, только -cmoe прописал), контекст поставил 32k вроде (пишу сейчас по памяти, всё равно в итоге на других параметрах остановился). Получил почти полностью забитую VRAM, но использование GPU что-то около 30% (всё как вы и писали) и ~7t/s.

Решил поиграться с -ncmoe, но всё равно целился в то, чтобы VRAM утилизировалась достаточно, в итоге экспериментами дошёл до -ncmoe=35 (не знаю, хорошо ли 35 из 40 слоёв выгружать на CPU, всё равно немного ощущал себя обезьянкой, которая бездумно перебирает чиселки), контекст 48k, скорость получилась порядка 20t/s, GPU грузится на 85-100%, но при этом и VRAM забита, да и в "общую память" (в которой, видимо, 8 Гб настоящей VRAM, и 8 Гб виртуальной, которая на самом деле RAM) на полтора гига забрались. Звоночек тревожный, в общую память не хотелось вылезать, но дальнейшие эксперименты всё равно больше 20 t/s не давали.

Стоит ли продолжать дальше играться с параметрами запуска, пытаться добиться большей скорости, если уже сейчас GPU грузится почти на 100%? Или, возможно, стоит увеличивать размер контекста (вместе с увеличением -ncmoe) для достижения большего качества? И при этом следить за тем, чтобы не вылезать за пределы VRAM?

Вы уже уперлись в скорость RAM - DDR4 3200 Mhz, дальше уже трудно будет что-то выжать. Для выгрузки экспертов на CPU скорость RAM важна. У меня на DDR5 6000 и RTX3060 эта же модель с выгрузкой всех экспертов на CPU выдает примерно 35-38 t/s. Можно другой Q4 квант поискать, чуть поменьше размером, там будет на пару t/s быстрее.

Спасибо, но, думаю, что не хочется жертвовать качеством (я же жертвую качеством с меньшим квантом, верно?) ради пары токенов)

Ещё немного поэкспериментировал сегодня с тремя моделями, всем задавал одну и ту же задачку:

  1. gemma-4-26B-A4B-it-UD-Q4_K_XL (контекст 48k, запускал в мультимодальном режиме с обработкой изображений)

    • cmoe: 24 t/s

    • ncmoe=23: 18 t/s

    • ncmoe=24: 31 t/s

    • ncmoe=25: 30 t/s

    • ncmoe=26: 25 t/s

  2. gpt-oss-20b-UD-Q4_K_XL (контекст 64k)

    • cmoe: 21 t/s

    • ncmoe=10: 36 t/s

    • ncmoe=11: 36 t/s

    • ncmoe=12: 38 t/s

    • ncmoe=20: 24 t/s

    • ncmoe=24: 21 t/s

  3. Qwen3.6-35B-A3B-UD-Q4_K_XL (контекст 48k)

    • cmoe: 9 t/s

    • ncmoe=31: 20 t/s

    • ncmoe=32: 27 t/s

    • ncmoe=33: 22 t/s

    • ncmoe=34: 20 t/s

    • ncmoe=35: 18 t/s

    • ncmoe=40: 11 t/s

И самое интересное, везде прослеживается эта тенденция: загружена только VRAM (вплоть до почти 100%) -- скорость ниже, начинаем залезать в оперативку -- скорость подрастает, но если сильно в неё уходим -- скорость снова падает.

Загрузка видеочипа с cmoe почему-то всегда хилая и очень неровная, в среднем 40-50% или ниже. Как начинаем играться с ncmoe -- нагрузка на чип растёт, всегда выше 80% и зачастую выше 90%.

Для Gemma4 в очередной раз что-то починили, и надо перекачать gguf файлы. Конкретнее исправили вызовы инструментов в шаблоне чата, из-за чего в агентах эти модели работали плохо. Чтобы не перекачивать gguf, можно скачать исправленный шаблон чата и указывать его при запуске.

--chat-template-file "T:\models\chat_template.jinja"

Для Gemma4 и Qwen3.6 есть новости про поддержку MTP, в llama.cpp в статусе черновика уже можно попробовать: https://github.com/ggml-org/llama.cpp/pull/22673

MTP - это отдельный модуль, который обучается вместе с моделью, и позволяет предсказывать 2-3 токена вперед с высокой долей принятия токена. Для MTP и EAGLE3 (альтернатива от nvidia) обычно используется точная верификация, поэтому результат идентичен (в отличии от варианта через draft-модели).

Слои MTP и у Gemma4 и Qwen3.6 встроены в модель, но в стандартных gguf они вырезались, так как не было поддержки. Их можно было использовать в vLLM, что ускоряло в 2-3 раза. Для Gemma4 их дополнительно выложили отдельно.

https://blog.google/innovation-and-ai/technology/developers-tools/multi-token-prediction-gemma-4/

Gemma4 + MTP ускорение от 1.5x до 3х
Gemma4 + MTP ускорение от 1.5x до 3х

И вышли новые Dense модели:

В llama.cpp завезли поддержку Qwen3.6 MTP. Новые кванты уже создали со слоями MTP. Написал статью что такое MTP, как запустить и какое ускорение получилось. Также проверил исходники llama.cpp, чтобы проверить, качество оригинала сохраняется или искажается:

Qwen3.6 27B MTP весит на +0.3 Гб больше, а даёт ускорение в ~2 раза. С 60 t/s до 130 t/s без потерь. Что такое MTP

Спасибо за труды! Всегда что-то полезное находишь в вашем цикле статей. Вопрос: новые кванты UD будут давать выигрыш на железе на базе AMD Ai 365 Max 128 Gb? Может кто-то делал подобное сравнение, не встречали? Я как-то пробовал сравнивать одни и те же модели в lmstudio и llama.cpp на Win 11 и какой-то заметной разницы на стандартном квантование не заметил. Возможно дело в железе.

Хорошая статья, мне понравилось. Охватили многие аспекты LLM + тесты привели, качественный материал

привет. что посоветуете из локальных моделей на mini m4 - 24gb. применение - разработка

с RX 6600 (AMDб 8гб видеопамяти), 32гб оперативы (доступно около 16) - есть смысл заморачиваться?

Если я хочу модельки на 12гб ? (которые отлично работают на 5060ти с 16гб видеопамяти)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации