
Комментарии 203
Есть сайты, где модели сравнивают. Таблица: одна набрала 86, другая 88. Мне это мало что говорит. Мои задачи выглядят иначе: «напиши FreeRTOS‑задачу для ESP32, которая опрашивает DHT22 не чаще раза в 2 секунды, управляет реле через гистерезис, не использует delay() и сбрасывает watchdog». Вставь delay(1000) в loop(), и контроллер уйдёт в перезагрузку. Баллы такое не покажут.
А можно подробнее?
Потому что разница между моделями и классами моделей видна именно на когнитивно сложных задачах, требующих более‑менее абстрактного мышления, где нужно одновременно «держать в голове» несколько слоёв системы и кучу сущностей, и их взаимодействие между собой. Вот на таких штуках слабые модели рожают горы костылей над костылями над костылями, сыпятся и застревают в болоте велосипедов, а сильные вывозят потому что способны на некотором уровне «системно мыслить», даже если ты их по этому вопрос не пинаешь вручную. И чем сложнее задача, тем сильнее разрыв.
По моему опыту из около 30b моделей вменяемо стала решать задачи только Qwen 3.6 27b Q4K_XL (не M), и то на длинных контекстах (больше 100к токенов) сыпалась. И только на Qwen 3.8 27b NVFP4 стало возможно более‑менее спокойно давать ей не самые тривиальные задачи и не бояться что она завалится и не закопается, и не начнет сыпаться с вызовом тулов и не зациклится. Плюс рантаймы за год стали существенно пошустрее работать + MTP завезли.
Думаю, подробнее новую статью напишу, где укажу как дробить задачи, но вот задачи класса 1000 строк скетча для есп32 - локальные модели вполне переваривают и правильно их решают, но облачный дипсик впереди, если нужно разобраться с целым репозиторием с гитхаба, к примеру, по ссылке на свой репо https://github.com/isemaster/VibroVario - здесь если целиком кормить репо в модель, локалки не вывозят, но с отдельным модулем хорошо работают.
Вывозят аж бегом, например, Qwen 3.8 27B в Q8 и KV кешем в fp16/8 и 262К контекстом. У вас просто железа не хватает для этого (32Гб), нужно 48 Гб.
Скажите а почему не рассматривали карты V100 32 c китайской платой на 2 слота? Сейчас думаю как компромис между 4х и ценой покупки сразу
Не видел достойных вариантов, потом там с доп питанием есть головняк, версии разные существуют, да и на рынке их мало. в100 16 гб покупал зимой на попробовать, тогда эта тема с локальными моделями была не очень популярна, да и модели под такой объем были туповаты.
V100 нынче стоят 20к за 16 Гб и 55-60+ за 32 гига. Как по мне, сумасшедшие бабки за такое древнее железо
Так а, что, вы, хотите от Q4 квантованых моделей обьемом до ~50B? Так и должно быть.
Q4 имеет смысл использовать в моделях от 120-150B, Q2 от 400B и тд (примерно).
Для стандартной 27-35B модели Q8 - стандарт, Q6 - нижняя граница смысла.
Часто натыкаюсь подобную критику Q4.
Но на практике реальную разницу между Q4/Q6/Q8 я засекал в 2025 году на старых моделях. На новых (с апреля 2026, когда две Qwen 3.6 вышли) я её в своих практических задачах (разных — и работа с доками, и кодинг, и vision‑задачи, и вёрстка и прочее) не увидел. Не могу сказать что я прям целенаправленно тестил во всех возможных сценариях, но и сказать, что использование было однообразным, тоже нельзя. Как и нельзя сказать что все задачи были простые.
Qwen 36 27b в Q6K_M, Q5K_XL, Q4K_XL, Q8 — одинаково сыпались и частенько зацикливались на контексте 65–128к. Только 5-6-8 бит при этом работали медленнее, особенно Q8, где много слоёв в RAM надо было оффлоадить чтобы под KV кеш освободить место.
Есть мысль, что «на малых моделях Q4=мусор» сейчас уже не так жёстко, как раньше.
Ну с LLMками вроде бы все понятно, а как эти карты ведут себя на других нейронках типа stable diffusion или ace step?
Пока только в планах стоит - проверить эти карточки на генерации картинок и видео. Надо бы попробовать. Правда не знаю, буду ли эти мзаниматься:
Вот что говорят на форумах: картинки — да (1024² за 15 с на distilled и 1–2 мин на обычных моделях, топ-модели только квантованными); видео — только 2–5 с низкого разрешения на distilled-моделях, 14B формально запускаются и молотят часами; лучшее применение 2×P100 остаётся LLM + аудио + батч-обработка изображений. Если задача именно видео — нужна карта класса 3090 даёт сразу 10–20×
А там избыток памяти не нужен. Он не позволит генерировать картинку высокого разрешения. Точнее, позволит, но на ней будет полная фигня, потому что у модели композиция рассыпется. Разве что генерить несколько несвязанных изображений одновременно. Не много пользы.
Не много пользы
Польза есть, когда итерируешь над промптами и хочется посмотреть как текущий промпт себя будет вести с разными seed'ами.
В ныне мёртвом А1111 есть функция batch size, которая позволяет высчитывать несколько изображений за раз на одном "полотне," а потом она их просто нарезает на раздельные файлы.
В "stable diffusion", P100 медленнее V100 в 10 раз.
Ну зачем такой заголовок. Этим моделям до опуса 4.6 как до луны...
А DeepSeek V4 Flash настолько слабая модель, что ее раздают по API на каждом углу бесплатно. А у вас она "эталон")
По карточке Qwen3.8-27B (Qwen/Qwen3.8-27B · Hugging Face, колонка «Opus4.6 Max» — максимальный reasoning effort) и по квантованным GGUF-сборкам той же модели картина такая: Qwen выигрывает 11 из 15. Дипсик бесплатно раздается с одним нюансом, когда ты разово с ним чат проведешь - да это бесплатно, когда начнешь агентскую работу над тяжелим проектом - лимиты не заставят долго ждать.
А что или как именно выигрывает?
p.s. у клодовских (не скажу за другие) ллм effort в максимальный выкручивать нельзя - получите бредогенератор)
Ни DepSeek 4.1 Flash, ни тем более Квен3.8-27Б не выигрывает у Опуса 4.5/4.6 в реальных задачах на программирования. Там про́пасть в уровне.
Вы, мягко говоря, не правы. Хватит сравнивать урезаные в Q4 модели с облачными моделями полной точности. У меня Qwen 3.8 27B Q8 уделывает опус 4.6 в реальных задачах. В некоторых ML задачах он уделывает и Fable 5 и Astra (тут я сам удивился)!
Локальные модели нужно уметь готовить и иметь достаточно железа под их рекомендуемые требования. Тогда и качество будет. А квантовать вусмерть чтобы влезло и потом делать выводы - такое себе.
Какие ещё урезанные модели? Где вы увидели, что у меня они урезанные?
Потому что только урезанные до Q4 локальные модели действительно хуже больших фронтир моделей. А вот Q8 уже сравнимы.
Пользователи при сравнении используют либо сильно квантованные модели либо в режиме чата вместо харнесса. Затем делают выводы подобные вашему.
Нет, ни DeepSeek V4 Flash‑0731, ни DeepSeek V4.1 Flash, которую мы вчера поставили и опробовали, ни вышеуказанный Квен не приближается к Опусу 4.5 или 4.6.
За дипсик не скажу, но Qwen 3.8 27B уделывает opus 4.5, находится на уровне 4.6 и периодически щупает 4.8/5.
Таковы мои тесты, я тестировал в своем домене ML/мат стат.
На чем тестили вы? Кодинг?
Какую квантизацию использовали? Чат или харнес?
Дело в том что Клод это харнесс и сравнивать с ним модели в режиме чата некорректно, но 99% именно так и делает.
Да, написание кода.
Модели полные, без квантизации. Обязка. В случае ДипСика — «ДипСик Харнесс».
Я использовал Qwen3.8-27B Q8 K16/V8 как раз с deepseek harness. У нас слишком разные результаты, давайте попробуем найти в какой конкретно части программирования у вас провал по квену? Другими словами, какой язык тестили?
Я тестировал python, CUDA C++ и современный PHP (8.5). Также тестировал архитекитуру и системный дизайн, все было очень хорошо.
Причём тут языки? На любую сеть можно найти задачи ей по зубам. Даже на однобитную BitNet. Те задачи, которые «Опус» у меня решал, DS и вышеуказынный Qwen решить не может.
При том, что Модель Qwen3.8-27B превосходит Claude Opus 4.6 (Max), выигрывая в 15 из 19 общих бенчмарков и набирая 61,7% на SWE-bench Pro. Вот тут хороший разбор.
И получается, что мои тесты и публичные показывают одно. Ваши тесты показывают другое и на попытку уточнить в чем же разница получаем "Причём тут языки?" и "ни тем более Квен3.8-27Б не выигрывает у Опуса 4.5/4.6 в реальных задачах на программирования. Там про́пасть в уровне."
Тут кто-то сильно не прав.
Давайте я вам просто пару своих домашних проектов покажу, где на «Опусе» всё делалось, а вы попробуете что-то такое «Квеном» сделать:
https://github.com/bolknote/MKPro тут задача чтобы все программы из examples уместились в те же размеры, которые они умещаются сейчас или хотя бы в 105 байт. Из pending-optimization — это уже выше уровня существующих сейчас сетей, включая самые топовые.
https://github.com/bolknote/Bolklets тут всё «Опусом» сделано, кроме экспериментов логики ведьмы.
Ну те отставание вот это вот на C++ под Электронику MK61, это все ваше обоснование? Вы бы еще Cobol взяли.
Давайте тексты заданий, которые давали опусу в обоих примерах. Для частоты эксперимента я не буду использовать ваши репозитаии. Из текстов сделаю тесты и прогоню. Сколько раз уточняли у опуса чтобы он исправил косяки?
А что вас не устраивает-то и причём тут «Кобол»? Это интересная инженерная задача, очень сложная, как раз чтобы посмотреть на что способны нейросети.
Текста заданий нет, потому что нет заданий — мои мысли развивались по ходу дела. Возьмите тесты. Вторая версия (первая была на ТаймпСкрипте) как раз была написана по тестам.
Текста заданий нет, потому что нет заданий
Те вы слопали 80к строк кода без всякого задания?
Вы последовательно делаете свою позицию все более и более слабой.
Дело в том что еще ни один из тех кто заявлял подобное тому, что заявляете вы, так и не смог предоставить детали для независмого повторения. Каждый раз что-то мешает.
А ведь я реально могу это все перепроверить, я занимаюсь ML - автоматиацией предприятий, настраиваю и дообучаю сети, т.е. кто если не я? Но все чет никак, как только начинаешь копать вглубь натыкаешься на обстоятельства непреодолимой силы.
Нет, я не вижу где я свою позицию делаю «всё более слабой и слабой». Это домашний проект, вы всерьёз думаете, что я на него сначала ТЗ готовил что ли?
Тесты есть, как я сказал, вторая версия была сделана исключительно по ним тем же «Опусом». Что же мешает повторить тот же путь?
Перепроверьте, кто вам мешает-то? Я тоже и настраиваю сети, и дообучаю, мы сюда, как будто, не письками пришли меряться. Но утверждать, что сетка в 27 миллиардов обгоняте триллионные сети?.. Ну простите, у меня опыт совсем другой.
Я давно работаю и с «Соннетом», и с «Опусом», и «Фейбл» начал использовать, когда он появился. Сейчас, правда, больше «Сол» с «Астрой».
У нас есть свой развёрнутый DS Fast (был 4, теперь 4.1), и Квены разных мастей. Я могу сравнивать как они работают.
И я больше верю своим глазам, а не тестам.
Нет, я не вижу где я свою позицию делаю «всё более слабой и слабой». Это домашний проект, вы всерьёз думаете, что я на него сначала ТЗ готовил что ли?
Теперь еще слабее, вы, делаете все чтобы не предоставить данные для повторения эксперимента который опровергнет вашу точку зрения.
Перепроверьте, кто вам мешает-то?
80к строк кода без ТЗ.
И я больше верю своим глазам, а не тестам.
Я больше верю собственным тестам и они говорят что вы ошибаетесь, я могу пов орить ваши задачи для теста, но в ответ вы кидаете проект на 80к строк без ТЗ и говорите trust me dude.
Теперь еще слабее, вы, делаете все чтобы не предоставить данные для повторения эксперимента который опровергнет вашу точку зрения.
Ни на что не намекаю, но когда я у вас спросил код на альтернативу /deep-research, вы мне примерно тоже самое ответили "ну просто напромпти, будет хорошо".
Опус навалил все в один монолит compiler.cpp (80 тыс. строк) ?
Не всё ли вам равно — монолит там или нет? Вы просто мыслите донейросетевыми понятиями. Подумайте что даёт архитектура, комментарии, говорящие имена — это всё нужно, чтобы увеличить скорость внесения изменений. А у нейросетей она и так заоблачная для человека.
Хорошая модульность помогает нейросетям также как и людям. Спорить не буду, но я бы такой код в прод не выпустил.
Господи, какой прод? Это домашний проект. И нейросетям больше помогает какой-нибудь настроенный GraphCode, а не модульность. Посмотрите как любая обвязка работает, она просто грепает код, подумайте какая ей разница — модульно там или нет?
Ну и прод проду рознь. Если у вас смешанная команда — люди и сети, конечно, модульность будет помогать людям, как иначе. Если у вас в команде только нейросетевые агенты, разницы нет, поверьте моему опыту.
А вы давно опусом 4.6 пользовались? Я вот помню отлично, что нормальным он был только первый месяц после релиза, чтоб в тестах баллов побольше набрать, а потом превратился в адское говно на несколько месяцев, из-за того, что антропикам мощностей не хватало и на него и на тренировку новых моделей и они его всем подпискам подрезали. Лучше его в тот период даже мелкие ноутбучные модели. Сейчас тоже, на многих задачах Опус 5 сам перепрыгивает на Опус с 4.8.
С локальными моделями Вы всегда получаете то, что запускаете.
Вот точное наблюдение. Я скажу про дипсик еще - я пользуюсь с 1 мая этого года, так вот первые пару месяцев это было быстро, качественно, дешево. Сейчас качество не стабильное. Моя оценка - нагрузка дипсика сильно выросла, и сейчас хорошее качество идет только по ночам с 21 до 2 по МСК. Днем с 8 утра - и качество упало и ценник вырос. И я стараюсь днем работать на локальных моделях.
Тут дело вот в чем. Закрытые фронтир модели имеют разные (суб) версии и чтобы потестить их включают для условно 10% пользователей, в основном на дешевых или бесплатных тарифах.
Второй момент это нагрузка, если сервера перегружены, то на бесплатные/дешевые тарифы включают меньшую модель.
Например, gemini об этом честно сообщает, когда это происходит. Антропики не пишут, но вы можете заметить это по тому что выполнение обрывается.
Давно. Но я помню его уровень, у меня есть проекты, им сделанные. Перечисленные выше сети с таким и не справятся.
deleted
Во-первых, deepseek пару дней назад обновился до Flash 4.1. Во-вторых слабость deep seek'а это скорее всего устаревшие примерно на полгода данные, т.к. даже обычный v4 летом обновлялся
А DeepSeek V4 Flash настолько слабая модель, что ее раздают по API на каждом углу бесплатно
Подскажите уголок пожалуйста.
поделитесь где DeepSeek V4 Flash "раздают по API на каждом углу бесплатно"? 2-3 угла было бы идеально
cline давал на своем cline.bot, там всегда есть бесплатная модель подобного класса. Но меняют ее часто.
opencode тоже давал, как сейчас - не знаю.
Где-то еще видел как вышла, уже не помню...
Да почти нигде, InferX писали что 4.1 будут раздавать некоторое время. Больше нормальных неквантованных бесплатынх особо нет.
Так ведь железо у него слабое
Очень интересуюсь вопросом... Вы тестировали покрытые цензурой области? или это вне зоны Ваших профессиональных интересов. Стоит ли уповать на локальные модели, как бастион свободной разработки?
В работе на ограничения не натыкался. Полагаю, цензурирована политика, если наткнусь - то попробую что-то вроде https://huggingface.co/orcarouter/Qwen3.8-27B-Uncensored-GGUF
У меня есть знакомый, которому какой-то квен в районе 30b за неделю работы выпилил из макос приложения лицензию, позволив запускать без нее. Но агент работал на актуальном железе (blackwell)
Самостоятельно без указаний неделю отработал? Сколько токенов стоили размышления, пусть и локальные?
Интересно. А что за модель? MoE/Dense? И кванты — NVFP4/MXFP4 или что нибудь целочисленное?
Безотносительно вопроса хорошо/плохо именно «выпиливать лицензию» (не берусь судить) — неделя любой масштабной работы требует какой‑то памяти. Чем она была? md‑доки/бд/rag?
Причём тут опус вообще? Ради кликбейта?
Воспользуюсь статьёй и навалю комментарий (чтобы почитать ответы), как я за всё это время и сотни статей понял сборку машины для локального ИИ.
Никаких старых карт без тензорных ядер. P100 потому и стоят как грязь, что они жутко медленные и никому не нужны. Майнинговые CMP 170HX из грязи потому и вылезли, что хорошо умеют в инференс после разлочки в А100.
Надо брать одну карту с максимально возможным объёмом памяти. Если уж очень нужно взять две - обязательно с мостом NVLink. Никакой PCI-E любой версии и ширины не даст нормальной скорости для работы нейронки на двух картах. Тем более упомянутый в статье Xeon E5-2680 v4, у которого шина всего-лишь 3.0.
Остальная комплектуха не так важна, пока нейросети влазят в VRAM. Если не влазят - нужна быстрая память и шина PCI-E.
В любом случае отталкиваемся от железа в наличии. Аликсеон хорош, если больше вообще ничего нет. У меня есть мой старый комп на Ryzen 5950X, из него можно собрать отличный сервер с одной картой. С двумя, если есть NVLink - моя материнка даже не может делить два порта на х8, второй работает только на х4 скорости максимум.
Не совсем так радикально. Так Вам будет тяжко собирать железяки под большое число параметров.
1. Очень важно MoE сетка или плотная. Если плотная — тогда да, крайне желательно чтобы всё влезло в VRAM. Но если она MoE (а жирные сетки в основном все MoE) то главное чтобы в VRAM поместились активные параметры и KV‑кеш. Все остальные эксперты — могут жить в ОЗУ. Это неприятно, это надо грамотно настраивать (подбирать сколько экспертов держать в VRAM и прочее) и скорость будет не сильно большой (10–30 т/с если грамотно настроить), но это проще, чем строить кластер из видеокарт. Разумеется, ширина шины PCIe, каналы памяти, скорость, и способность материнки и проца всё это переварить — очень важны. Соответственно, для жирных MoE сеток важнее сколько у Вас ОЗУ, а видеокарта главное чтобы активные параметры и KV смогла съесть. Если съест больше — конечно лучше.
2. NVFP4 и MXFP4 — очень вкусные виды квантования, которые на Blackwell ускоряют в полтора‑два раза, при этом жрут память как примерно Q4, а по точности на уровне Q6 (некоторые говорят Q8 но что‑то не верится). Помимо этого, если мы говорим о ситуации когда большая часть лежит в ОЗУ — малый вес весов (да) позволяет им быстрее прокачиваться через шины данных, что дает буст. NVFP4/MXFP4 вроде бы умеют эмулировать программно на картах старше Blackwell, но скорость там скорее всего будет не очень.
3. В недавно появившейся Qwen 3.8 Flash Next появилась штука когда в дополнение к весам ещё идёт n‑gram кеш весом в десятки гигабайт. Желательно пихать его в ОЗУ, но на SSD именно его класть можно — чтения на каждый токен предсказуемы и довольно малы, поэтому производительность не упадёт в пол (но инференс должен быть не тупой и корректно с этим работать, а не так что всё скинуто на своп ОС, которая, разумеется, сделает это всё криво). Если такая архитектура закрепится и станет популярной, то стоит повнимательнее отнестись к SSD, если в RAM вся эта доп. требуха не помещается.
Qwen 3.8 Flash Next именно так и завелась на этом железе, n‑gram кеш живет целиком у меня в озу, и все это мне дало 9-12 токенов в сек. И в дополнение - модель по моим оценкам самая умная по всем моим тестам, но скорость работы - это боль, т.е. она делает все что мне надо, вообще все, но скорости на порядок меньше чем у того же дипсик 4 флеш.
А какой квант? MTP завёлся? По идее скорость поднимется как движки инференса подтянутся. И есть еще момент с квантом: некоторые кванты криво распаковываются на GPU из‑за кривого движка и могут тормозить не смотря на то что вроде мелкие. KV‑кеш можно квантовать — он когда занимает меньше быстрее пролазит через шины в видеокарте, может получиться буст. И ещё — пробовали настраивать руками точно количество экспертов, выгружаемых в VRAM? Или у Вас там она вся помещается?
MTP нет :(. Надо ждать от лабораторий. Самому квантовать - железа не хватает. Конкретно эта модель работает без ООМ: Qwen3.8-Flash-Next-AD-3.84bpw-IQ4_XS-M64-00001-of-00028.gguf https://huggingface.co/AtomicChat/Qwen3.8-Flash-Next-GGUF
Зачем ждать? Там draft, можно указать например, Qwen 3 9B в качестве спекулятивной модели.
Расскажите, как это построить?
Там где вы указываете mtp, вместо него можно указать draft и путь к модели. Это похожие методы ускорения, просто при MTP драфтовую модель вшивают прямо в слои оригинальной модели, а при Draft вы просто указываете путь к отдельной небольшой модели той же архитектуры/семейства. Делают они тоже самое.
Более подробно о методах ускорения писал здесь.
Софтово как раз мне более понятно что делать, я на текущем компьютере в очень ограниченном режиме песочницы это всё ковыряю (9070 XT 16GB VRAM). Естественно в плохом квантовании, но понять разницу между плотной и MoE или как оффлоадинг влияет на производительность можно. Эх, где же Qwen3.8-35B-A3B спрятали...
Вот с железом вопрос острее - оно всё же немалых денег стоит и не хочется собрать что-нибудь, что окажется не сильно-то и лучше. Да и модели хочется побольше запускать, да в кванте "поумнее".
Да и модели хочется побольше запускать, да в кванте "поумнее".
Сильной разницы сейчас не ждите ИМХО. Они (локальные ЛЛМ) сейчас переползают из состояния игрушек и автоматизации рутины в состояние «можно делать что‑то серьёзное». Плато по локальным ЛЛМ ещё не достигнуто, поэтому вполне вероятно, что то, что сейчас имеет 100 млрд параметров, будет через год иметь 30 млрд. Хотя рост способностей постепенно замедляется. А ещё движки инференса оптимизируют — производительности мало всем, поэтому она постепенно растёт у всех просто за счёт оптимизации кода + производители сеток придумывают всякие MTP и n‑gram кеши.
Именно так. Та же Qwen3.8 уже сильно умнее 3.6. Но сейчас пока ещё квантизация на маленьких размерах сильно меняет. Если Q_4 от Q_8 практически не отличить, а кто-то утверждает, что и с F16 не различает, то уже Q_3_чегототам или Q_2 модели ощутимо тупеют - зато влазят целиком в видеопамять. Учитывая прогресс локальных всего за прошедший год, то ещё через год жду, что станет совсем хорошо.
Может кому интересно будет. Qwen3.8-Flash-Next, 3090(24gb)+5070ti(16gb)+64gb ram.
UD-IQ4_XS. На коротких тестах(10-20к токенов), префилл 160-300, декод 32-34.
UD-Q4_K_XL префил 100-200, декод 28-30.
llama server -ctk q8_0 -ctv q8_0, без MTP. Префил 200 на XL и 300 на XS тут больше заслуга кэша, 100 и 160 это на холодную.
Для инференса совершенно некритично чем карты между собой соединены. Там трафик минимальный, а kv кэш у каждого слоя свой. Сами подумайте, даже на скорости в 300 токенов в секунду(что для домашней сборки и для большой модели нереалистично много) данные гоняться будут всего те же 300 раз в секунду. При этом данных там будет далеко не так много. Типа это настолько неважно, что даже запуск на двух машинах одна из которых просто получает команды от другой через rpc не даёт каких то существенных просадок относительно двух карт в одной машине.
Скорость соединения между картами важна в обучении нейронок. Там да, там чудовищьный трафик. Ещё вроде как важна в дифузионных моделях, но там я не вникал сильно. А во всех этих квенах, геммах, орнитах-вообще без разницы. Главное чтобы у каждого из гпу память была побыстрее, и сам чип не дохлый.
Так вы наверное говорите про конфигурацию, когда модель полностью влазит в память одной видеокарты. Там хоть по диал-апу можно соединиться. А если у меня, например, две карты по 16, а модель хочет 32 - значит её так размазывает, что часть агентов на одной карте, а часть на другой? У той же нвидии при соединение карт через NVLink память как-бы объединяется. Как та же плотная модель без MoE работает тогда? Разве между агентами не происходит активный обмен данными?
P.S. Просто если окажется, что я вот это как раз и понял неправильно, то я просто воткну свою старую 6800xt второй картой в текущую машину и буду иметь 32 гига памяти и гонять хоть и маленькие, но в нормальной квантизации нейронки.
Нет, я говорю именно о размазывании модели на несколько карт через llama.cpp(и обёртки над ней типа lmstudio). Нет, там нет активного обмена. Как бы что в плотных что в moe моделях генерация каждого следующего токена идёт сквозь все слои последовательно(в moe работают не все веса слоя). А обмен требуется только на моменте когда следующий слой лежит не на том же gpu который только что отработал. Представьте себе конвеер, в котором 100 операций каждая из которых длится по часу. Если такой конвеер разнести на 2 цеха по 50 операци в каждом, транспортировка между которыми тоже занимает час-вы всего на 1% потеряете в скорости.)
В общем я понял, что надо поставить эксперимент, тем более что всё у меня для этого есть. В любом случае спасибо, что объяснили дебилу мне, как оно унутрях там работает.
Добавлю, что все эксперименты над моделями у меня выполняла дипсик на гермесе. Скинул задание в тележного бота агенту, а он там уже сам - скачивает модели, компилирует ллама, если бинарей нет, гоняет локальные модели по вопросам, подбирает ключи запуска, меняет кванты, ведет логи и присылает отчеты. От меня требуется только иногда направлять агента в нужное русло.
NVlink дает прирост что-то около 10%, на реддите читал у кого-то. Так что прям упарываться именно в нвлинк не стоит, если проц и материнка хотя бы x8 шину PCIe дают на обе карты
Мало ли кто чего на реддите написал :)
Nvlink дает наружу ощущение одной карты, можно грузить модель напрямую, без эквилибристики, и "внутри" делает вид, что память одна - все карты видят всю память.
Да, nvlink на старых картах - 200-300 против 900 на собственной памяти, но pci 4.0 при этом - 32. Откуда тут "только 10%"? Может у него модель маленькая просто? Там если она в память однй карты целиком влазит вместе с контекстом, так вообще профита не будет :)
В определенных режимах решает именно скорость передачи данных между картами. Например для -sm tensor уже нужен либо nvlink, либо хороший (не 3.0) pcie. Иначе будет ситуация как у меня - 2 штуки 3090 (pcie 3.0 x16/x8), но из-за отсутствия адекватного канала обмена между картами, единственный способ нагрузить обе карты - это загрузить копию весов в обе карты, чтобы избежать ситуаций, когда карта-2 захочет прочитать kv кеш с карты 1 (это примерно на каждой итерации инференса происходит). В комментах на хаггинфейсе например, мне чел писал, что у него 2х 3090 без нвлинка но на pcie 4.0 x16/x16 - у него уже -sm tensor дает прирост скорости.
Если по температурам и питанию будет норм, то да, стоит достать и воткнуть вторую видяху. Я смог 27б запускать в нормальных квантах только когда это сделал - одной 5070ti 16gb маловато было. Суть в том что надо разделять по слоям, у меня большинство слоев на нвидии, 4 слоя на rx6700xt, скорости норм если заморочиться квантами, настройками и т.п. А, ну и надо самому лламу собрать с cuda и rocm.
Абсолютно не согласен с Вашим тезисом "Надо брать одну карту с максимально возможным объёмом памяти. Если уж очень нужно взять две - обязательно с мостом NVLink". Мой опыт запуска LLM на двух RTX3090 на материнке с PCIE v3.0 без NVLink полностью опровергает данное утверждение. Запускаю модель Qwen3.8-27B-UD-Q8_K_XL (29,2 ГБ) с максимальным контекстом 256k, квантованием кэшей q8_0 и с Vision в VRAM. Загрузка видеопамяти 44,5 ГБ из 48 суммарных. Скорость в режиме tensor: префил 1600 (с 0 токена) до 600 (на 200 тыс токене), инференс 75-80 (с 0 токена) до 55-60 токен/сек.
Мой конфиг:
-m "/home/minatavrus/models/llama/unsloth/Qwen3.8-27b/Qwen3.8-27B-UD-Q8_K_XL.gguf"
--mmproj "/home/minatavrus/models/llama/unsloth/Qwen3.8-27b/mmproj-BF16.gguf"
--spec-type draft-mtp --spec-draft-n-max 3
--alias Qwen3.8-27B-2xRTX3090
-c 262144
--n-gpu-layers 999
--split-mode tensor
--tensor-split 1,1
--batch-size 1024
--ubatch-size 512
--threads 16
--temp 0.9
--top-p 0.95
--top-k 20
--min-p 0.00
--presence-penalty 0.0
--repeat-penalty 1.0
--flash-attn on
--cache-type-k q8_0
--cache-type-v q8_0
--cache-ram 65536
--parallel 1
--metrics
-np 1
--jinja
--tools all
--chat-template-kwargs '{"reasoning_effort":"low"}'
--load-mode none
-lv 4Запускаю модель Qwen3.8-27B-UD-Q8_K_XL (29,2 ГБ) с максимальным контекстом 256k, квантованием кэшей q8_0 и с Vision в VRAM. Загрузка видеопамяти 44,5 ГБ из 48 суммарных. Скорость в режиме tensor: префил 1600 (с 0 токена) до 600 (на 200 тыс токене), инференс 75-80 (с 0 токена) до 55-60 токен/сек.
У вас математика не сходится
На контекст 200 000 токенов (KV кеш в Q8) требуется 26Гб памяти. Это дополнительно к тем 29.2Гб. Если у вас две 3090 24 Gb то 48Гб никак не хватит на такой запуск.
Про инференс 75-80 токенов отдельный кек, RTX A6000 48Gb выдает не более 50 т/с на этой модели, куда уж 3090 75-80.
Вы либо перепутали либо сознательно гоните дезу.
Странно, чатгпт говорит, что KV для Qwen3.8 27B на 200K в Q8_0 весит около 7GB , это подтверждается тем, что у меня в 32GB VRAM влезает Qwen3.8-27B-UD-Q4 + 220K контекста, все запускается и работает. Где ошибка?
Честно говоря на подобные хамоватые сообщения я обычно не отвечаю... Но, вот лог изучайте. Если не понимаете как Qwen3.8 работает с памятью контекста, и почему 256k токенов с квантованием кэша q8_0 вмещается в 48 гигабайт для модели Qwen3.8-27B-UD-Q8_K_XL, то изучите получше матчасть
0.00.071.913 W server tools or MCP servers are enabled, using localhost as default CORS origin (change via --cors-origins)
0.00.072.059 I cmn common_param: common_params_print_info: build 10914 (8172e6577) with GNU 13.3.0 for Linux x86_64
0.00.072.063 I cmn common_param: common_params_print_info: verbosity = 4 (adjust with the `-lv N` CLI arg)
0.00.072.063 I cmn common_param: device_info:
0.00.195.106 I cmn common_param: - CUDA0 : NVIDIA GeForce RTX 3090 (24126 MiB, 23481 MiB free)
0.00.315.011 I cmn common_param: - CUDA1 : NVIDIA GeForce RTX 3090 (24126 MiB, 23597 MiB free)
0.00.315.032 I cmn common_param: - CPU : Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz (515608 MiB, 515608 MiB free)
0.00.315.444 I cmn common_param: system_info: n_threads = 16 (n_threads_batch = 16) / 18 | CUDA : ARCHS = 860 | USE_GRAPHS = 1 | FA_QUANTS = q4_0-q4_0,q8_0-q8_0,f16-f16,bf16-bf16 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | BMI2 = 1 | AVX512 = 1 | LLAMAFILE = 1 | OPENMP = 1 | REPACK = 1 |
0.00.315.494 I srv init: running without SSL
0.00.315.771 I srv init: using 17 threads for HTTP server
0.00.316.229 W srv llama_server: -----------------
0.00.316.231 W srv llama_server: the following feature(s) are enabled:
0.00.316.231 W srv llama_server: server tools (experimental)
0.00.316.231 W srv llama_server: do not expose the server to untrusted environments
0.00.316.232 W srv llama_server: -----------------
0.00.316.248 I srv start: binding port with default address family
0.00.317.633 I srv load_model: loading model '/home/minatavrus/models/llama/unsloth/Qwen3.8-27b/Qwen3.8-27B-UD-Q8_K_XL.gguf'
0.00.317.636 I srv load_model: local path '/home/minatavrus/models/llama/unsloth/Qwen3.8-27b/Qwen3.8-27B-UD-Q8_K_XL.gguf'
0.00.404.350 I srv load_model: [mtmd] estimated worst-case memory usage of mmproj is 1161.02 MiB (took 86.69 ms)
0.00.404.378 I cmn common_init_: fitting params to device memory ...
0.00.404.378 I cmn common_init_: (for bugs during this step try to reproduce them with -fit off, or provide --verbose logs if the bug only occurs with -fit on)
0.00.404.471 W common_fit_params: failed to fit params to free device memory: llama_params_fit is not implemented for SPLIT_MODE_TENSOR, abort
0.00.404.480 I common_fit_params: fitting params to free memory took 0.00 seconds
0.00.476.313 I llama_model_loader: loaded meta data with 51 key-value pairs and 866 tensors from /home/minatavrus/models/llama/unsloth/Qwen3.8-27b/Qwen3.8-27B-UD-Q8_K_XL.gguf (version GGUF V3 (latest))
0.00.476.350 I llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
0.00.476.361 I llama_model_loader: - kv 0: general.architecture str = qwen35
0.00.476.362 I llama_model_loader: - kv 1: general.type str = model
0.00.476.365 I llama_model_loader: - kv 2: general.sampling.top_k i32 = 20
0.00.476.370 I llama_model_loader: - kv 3: general.sampling.top_p f32 = 0.950000
0.00.476.371 I llama_model_loader: - kv 4: general.sampling.temp f32 = 1.000000
0.00.476.371 I llama_model_loader: - kv 5: general.name str = Qwen3.8-27B
0.00.476.372 I llama_model_loader: - kv 6: general.basename str = Qwen3.8-27B
0.00.476.373 I llama_model_loader: - kv 7: general.description str = Renewal of the beloved Qwen model, de...
0.00.476.374 I llama_model_loader: - kv 8: general.quantized_by str = Unsloth
0.00.476.374 I llama_model_loader: - kv 9: general.size_label str = 27B
0.00.476.375 I llama_model_loader: - kv 10: general.license str = apache-2.0
0.00.476.375 I llama_model_loader: - kv 11: general.repo_url str = https://huggingface.co/unsloth
0.00.476.376 I llama_model_loader: - kv 12: general.base_model.count u32 = 1
0.00.476.377 I 0.00.476.394 I llama_model_loader: - kv 16: general.tags arr[str,1] = ["unsloth"]
0.00.476.395 I llama_model_loader: - kv 17: qwen35.block_count u32 = 65
0.00.476.396 I llama_model_loader: - kv 18: qwen35.context_length u32 = 262144
0.00.476.396 I llama_model_loader: - kv 19: qwen35.embedding_length u32 = 5120
0.00.476.397 I llama_model_loader: - kv 20: qwen35.feed_forward_length u32 = 17408
0.00.476.397 I llama_model_loader: - kv 21: qwen35.attention.head_count u32 = 24
0.00.476.398 I llama_model_loader: - kv 22: qwen35.attention.head_count_kv u32 = 4
0.00.476.400 I llama_model_loader: - kv 23: qwen35.rope.dimension_sections arr[i32,4] = [11, 11, 10, 0]
0.00.476.402 I llama_model_loader: - kv 24: qwen35.rope.freq_base f32 = 10000000.000000
0.00.476.403 I llama_model_loader: - kv 25: qwen35.attention.layer_norm_rms_epsilon f32 = 0.000001
0.00.476.404 I llama_model_loader: - kv 26: qwen35.attention.key_length u32 = 256
0.00.476.404 I llama_model_loader: - kv 27: qwen35.attention.value_length u32 = 256
0.00.476.405 I llama_model_loader: - kv 28: qwen35.nextn_predict_layers u32 = 1
0.00.476.405 I llama_model_loader: - kv 29: qwen35.ssm.conv_kernel u32 = 4
0.00.476.405 I llama_model_loader: - kv 30: qwen35.ssm.state_size u32 = 128
0.00.476.406 I llama_model_loader: - kv 31: qwen35.ssm.group_count u32 = 16
0.00.476.406 I llama_model_loader: - kv 32: qwen35.ssm.time_step_rank u32 = 48
0.00.476.407 I llama_model_loader: - kv 33: qwen35.ssm.inner_size u32 = 6144
0.00.476.407 I llama_model_loader: - kv 34: qwen35.full_attention_interval u32 = 4
0.00.476.407 I llama_model_loader: - kv 35: qwen35.rope.dimension_count u32 = 64
0.00.476.408 I llama_model_loader: - kv 36: tokenizer.ggml.model str = gpt2
0.00.476.408 I llama_model_loader: - kv 37: tokenizer.ggml.pre str = qwen35
0.00.506.252 I llama_model_loader: - kv 38: tokenizer.ggml.tokens arr[str,248320] = ["!", "\"", "#", "$", "%", "&", "'", ...
0.00.514.507 I llama_model_loader: - kv 39: tokenizer.ggml.token_type arr[i32,248320] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
0.00.543.659 I llama_model_loader: - kv 40: tokenizer.ggml.merges arr[str,247587] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
0.00.543.665 I llama_model_loader: - kv 41: tokenizer.ggml.eos_token_id u32 = 248046
0.00.543.666 I llama_model_loader: - kv 42: tokenizer.ggml.padding_token_id u32 = 248055
0.00.543.667 I llama_model_loader: - kv 43: tokenizer.ggml.bos_token_id u32 = 248044
0.00.543.667 I llama_model_loader: - kv 44: general.quantization_version u32 = 2
0.00.543.668 I llama_model_loader: - kv 45: general.file_type u32 = 15
0.00.543.669 I llama_model_loader: - kv 46: quantize.imatrix.file str = kld_models/qwen38-27b-gguf/imatrix/Qw...
0.00.543.670 I llama_model_loader: - kv 47: quantize.imatrix.dataset str = unsloth_calibration_Qwen3.8-27B.txt
0.00.543.671 I llama_model_loader: - kv 48: quantize.imatrix.entries_count u32 = 496
0.00.543.671 I llama_model_loader: - kv 49: quantize.imatrix.chunks_count u32 = 45
0.00.543.674 I llama_model_loader: - kv 50: tokenizer.chat_template str = {%- set image_count = namespace(value...
0.00.543.679 I llama_model_loader: - type f32: 360 tensors
0.00.543.680 I llama_model_loader: - type q8_0: 453 tensors
0.00.543.681 I llama_model_loader: - type bf16: 53 tensors
0.00.543.683 I print_info: file format = GGUF V3 (latest)
0.00.543.685 I print_info: file type = Q4_K - Medium
0.00.543.689 I print_info: file size = 29.29 GiB (9.21 BPW)
0.00.543.714 I llama_prepare_model_devices: skipping CPU (Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz) for tensor parallelism
0.00.543.715 I llama_prepare_model_devices: creating a Meta device for tensor parallelism from 2 devices:
0.00.543.716 I llama_prepare_model_devices: - device 0: CUDA0 (NVIDIA GeForce RTX 3090)
0.00.543.717 I llama_prepare_model_devices: - device 1: CUDA1 (NVIDIA GeForce RTX 3090)
0.00.543.824 I llama_prepare_model_devices: using device Meta() (Meta()) (unknown id) - 47079 MiB free
0.00.744.553 I load: 0 unused tokens
0.00.791.675 I load: printing all EOG tokens:
0.00.791.679 I load: - 248044 ('<|endoftext|>')
0.00.791.679 I load: - 248046 ('<|im_end|>')
0.00.791.680 I load: - 248063 ('<|fim_pad|>')
0.00.791.680 I load: - 248064 ('<|repo_name|>')
0.00.791.681 I load: - 248065 ('<|file_sep|>')
0.00.792.435 I load: special tokens cache size = 33
0.00.902.710 I load: token to piece cache size = 1.7581 MB
0.00.902.734 I print_info: arch = qwen35
0.00.902.735 I print_info: vocab_only = 0
0.00.902.735 I print_info: no_alloc = 0
0.00.902.736 I print_info: n_ctx_train = 262144
0.00.902.738 I print_info: n_embd_inp = 5120
0.00.902.738 I print_info: n_embd = 5120
0.00.902.740 I print_info: n_embd_out = 5120
0.00.902.740 I print_info: n_layer = 64
0.00.902.740 I print_info: n_layer_all = 65
0.00.902.753 I print_info: n_head = 24
0.00.902.756 I print_info: n_head_kv = 4
0.00.902.756 I print_info: n_rot = 64
0.00.902.756 I print_info: n_swa = 0
0.00.902.758 0.00.902.779 I print_info: pooling type = -1
0.00.902.780 I print_info: rope type = 40
0.00.902.780 I print_info: rope scaling = linear
0.00.902.781 I print_info: freq_base_train = 10000000.0
0.00.902.782 I print_info: freq_scale_train = 1
0.00.902.782 I print_info: n_ctx_orig_yarn = 262144
0.00.902.782 I print_info: rope_yarn_log_mul = 0.0000
0.00.902.783 I print_info: rope_finetuned = unknown
0.00.902.783 I print_info: mrope sections = [11, 11, 10, 0]
0.00.902.784 I print_info: ssm_d_conv = 4
0.00.902.784 I print_info: ssm_d_inner = 6144
0.00.902.785 I print_info: ssm_d_state = 128
0.00.902.785 I print_info: ssm_dt_rank = 48
0.00.902.785 I print_info: ssm_n_group = 16
0.00.902.785 I print_info: ssm_dt_b_c_rms = 0
0.00.902.787 I print_info: model type = 27B
0.00.902.788 I 0.00.902.797 I print_info: FIM MID token = 248061 '<|fim_middle|>'
0.00.902.797 I print_info: FIM PAD token = 248063 '<|fim_pad|>'
0.00.902.798 I print_info: FIM REP token = 248064 '<|repo_name|>'
0.00.902.798 I print_info: FIM SEP token = 248065 '<|file_sep|>'
0.00.902.798 I print_info: EOG token = 248044 '<|endoftext|>'
0.00.902.799 I 0.01.628.207 I load_tensors: offloading output layer to GPU
0.01.628.211 I load_tensors: offloading 64 repeating layers to GPU
0.01.628.212 I load_tensors: offloaded 66/66 layers to GPU
0.01.628.220 I load_tensors: CUDA_Host model buffer size = 1288.28 MiB
0.01.628.223 I load_tensors: Meta() model buffer size = 14402.29 MiB
0.38.561.292 I cmn common_init_: added <|endoftext|> logit bias = -inf
0.38.561.305 I cmn common_init_: added <|im_end|> logit bias = -inf
0.38.561.306 I cmn common_init_: added <|fim_pad|> logit bias = -inf
0.38.561.307 I cmn common_init_: added <|repo_name|> logit bias = -inf
0.38.561.307 I cmn common_init_: added <|file_sep|> logit bias = -inf
0.38.561.413 I llama_context: constructing llama_context
0.38.561.424 I llama_context: n_seq_max = 1
0.38.561.425 I llama_context: n_ctx = 262144
0.38.561.425 I llama_context: n_ctx_seq = 262144
0.38.561.426 I llama_context: n_batch = 1024
0.38.561.428 I llama_context: n_ubatch = 1024
0.38.561.429 I llama_context: causal_attn = 1
0.38.561.431 I llama_context: flash_attn = enabled
0.38.561.431 I llama_context: kv_unified = false
0.38.561.434 I llama_context: freq_base = 10000000.0
0.38.561.435 I llama_context: freq_scale = 1
0.38.561.436 I llama_context: n_rs_seq = 4
0.38.561.436 I llama_context: n_outputs_max = 5
0.38.561.436 I llama_context: n_outputs_max_per_seq = 5
0.38.987.442 I llama_context: CUDA_Host output buffer size = 0.95 MiB
0.38.991.511 I llama_kv_cache: Meta() KV buffer size = 4352.00 MiB
0.39.002.647 I llama_kv_cache: size = 8704.00 MiB (262144 cells, 16 layers, 1/1 seqs), K (q8_0): 4352.00 MiB, V (q8_0): 4352.00 MiB
0.39.002.651 I llama_kv_cache: attn_rot_k = 1, n_embd_head_k_all = 256
0.39.002.652 I llama_kv_cache: attn_rot_v = 1, n_embd_head_k_all = 256
0.39.004.876 I llama_memory_recurrent: Meta() RS buffer size = 374.06 MiB
0.39.004.893 I llama_memory_recurrent: size = 748.12 MiB ( 1 cells, 64 layers, 1 seqs 4 rs_seq), R (f32): 28.12 MiB, S (f32): 720.00 MiB, P (f32): 0.00 MiB
0.39.004.906 I sched_reserve: reserving ...
0.39.019.088 I resolve_fused_ops: resolving fused DeepSeek V4 HC support:
0.39.021.410 I resolve_fused_ops: fused DeepSeek V4 HC pre enabled
0.39.023.262 I resolve_fused_ops: fused DeepSeek V4 HC comb enabled
0.39.025.247 I resolve_fused_ops: fused DeepSeek V4 HC post enabled
0.39.333.118 I sched_reserve: Meta() compute buffer size = 1696.30 MiB
0.39.333.131 I sched_reserve: CUDA_Host compute buffer size = 552.30 MiB
0.39.333.132 I sched_reserve: graph nodes = 4519
0.39.333.132 I sched_reserve: graph splits = 2
0.39.333.135 I sched_reserve: reserve took 328.22 ms, sched copies = 1
0.39.333.322 I cmn init: llama threadpool init, n_threads = 16
0.39.333.372 I cmn common_init_: warming up the model with an empty run - please wait ... (--no-warmup to disable)
0.39.555.961 I common_speculative_init_result: creating MTP draft context against the target model '/home/minatavrus/models/llama/unsloth/Qwen3.8-27b/Qwen3.8-27B-UD-Q8_K_XL.gguf'
0.39.556.001 I llama_context: constructing llama_context
0.39.556.005 I llama_context: n_seq_max = 1
0.39.556.006 I llama_context: n_ctx = 262144
0.39.556.006 I llama_context: n_ctx_seq = 262144
0.39.556.007 I llama_context: n_batch = 1024
0.39.556.007 I llama_context: n_ubatch = 1024
0.39.556.007 I llama_context: causal_attn = 1
0.39.556.008 I llama_context: flash_attn = enabled
0.39.556.008 I llama_context: kv_unified = false
0.39.556.012 I llama_context: freq_base = 10000000.0
0.39.556.012 I llama_context: freq_scale = 1
0.39.556.013 I llama_context: n_rs_seq = 0
0.39.556.013 I llama_context: n_outputs_max = 1
0.39.556.013 I llama_context: n_outputs_max_per_seq = 1
0.39.575.219 I llama_context: CUDA_Host output buffer size = 0.95 MiB
0.39.585.362 I llama_kv_cache: Meta() KV buffer size = 512.00 MiB
0.39.586.723 I llama_kv_cache: size = 1024.00 MiB (262144 cells, 1 layers, 1/1 seqs), K (f16): 512.00 MiB, V (f16): 512.00 MiB
0.39.586.726 I llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256
0.39.586.727 I llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256
0.39.586.733 I sched_reserve: reserving ...
0.39.610.023 I resolve_fused_ops: resolving fused DeepSeek V4 HC support:
0.39.610.245 I resolve_fused_ops: fused DeepSeek V4 HC pre enabled
0.39.610.357 I resolve_fused_ops: fused DeepSeek V4 HC comb enabled
0.39.610.461 I resolve_fused_ops: fused DeepSeek V4 HC post enabled
0.39.904.314 I sched_reserve: Meta() compute buffer size = 648.03 MiB
0.39.904.319 I sched_reserve: CUDA_Host compute buffer size = 552.04 MiB
0.39.904.320 I sched_reserve: graph nodes = 50
0.39.904.320 I sched_reserve: graph splits = 2
0.39.904.321 I sched_reserve: reserve took 317.59 ms, sched copies = 1
0.39.905.604 I clip_model_loader: model name: Qwen3.8-27B
0.39.905.607 I clip_model_loader: description: Renewal of the beloved Qwen model, delivering unmatched intelligence density.
0.39.905.610 I clip_model_loader: GGUF version: 3
0.39.905.611 I clip_model_loader: alignment: 32
0.39.905.611 I clip_model_loader: n_tensors: 334
0.39.905.612 I clip_model_loader: n_kv: 35
0.39.905.612 I
0.39.905.614 I clip_model_loader: has vision encoder
0.39.906.185 I clip_ctx: CLIP using CUDA0 backend
0.39.906.664 W load_hparams: Qwen-VL models require at minimum 1024 image tokens to function correctly on grounding tasks
0.39.906.666 W load_hparams: if you encounter problems with accuracy, try adding --image-min-tokens 1024
0.39.906.667 W load_hparams: more info: https://github.com/ggml-org/llama.cpp/issues/16842
0.39.906.667 I load_hparams: projector: qwen3vl_merger
0.39.906.667 I load_hparams: n_embd: 1152
0.39.906.668 I load_hparams: n_head: 16
0.39.906.668 I load_hparams: n_ff: 4304
0.39.906.668 I load_hparams: n_layer: 27
0.39.906.670 I load_hparams: ffn_op: gelu
0.39.906.672 I load_hparams: projection_dim: 5120
0.39.906.672 I
--- vision hparams ---
0.39.906.672 I load_hparams: image_size: 768
0.39.906.673 I load_hparams: patch_size: 16
0.39.906.673 I load_hparams: has_llava_proj: 0
0.39.906.673 I 0.39.906.679 I 0.40.329.788 I get_dummy_batch: warmup with image size = 1472 x 1472
0.40.351.679 I get_dummy_batch: warmup with image size = 1472 x 1472
0.40.357.749 I reserve_compute_meta: CUDA0 compute buffer size = 248.10 MiB
0.40.357.754 I reserve_compute_meta: CPU compute buffer size = 24.93 MiB
0.40.357.755 I reserve_compute_meta: graph splits = 1, nodes = 823
0.40.357.799 I warmup: flash attention is enabled
0.40.357.811 I srv load_model: loaded multimodal model, '/home/minatavrus/models/llama/unsloth/Qwen3.8-27b/mmproj-BF16.gguf'
0.40.409.561 I cmn common_conte: the context supports bounded partial sequence removal
0.40.423.199 I srv load_model: initializing, n_slots = 1, n_ctx_slot = 262144, kv_unified = 'false'
0.40.423.227 I spec common_specu: adding speculative implementation 'draft-mtp'
0.40.423.230 I spec common_specu: - n_max=4, n_min=0, p_min=0.00, n_embd=5120, backend_sampling=1
0.40.423.231 I spec common_specu: - gpu_layers=-1, cache_k=f16, cache_v=f16, ctx_tgt=yes, ctx_dft=yes, devices=[default]
0.40.423.307 W set_sampler: backend sampling not supported with SPLIT_MODE_TENSOR; using CPU
0.40.423.309 W spec common_specu: backend offload failed for seq_id=0; using CPU sampler
0.40.478.842 I srv load_model: speculative decoding context initialized
0.40.478.852 I slot load_model: id 0 | task -1 | new slot, n_ctx = 262144
0.40.478.899 I srv load_model: prompt cache is enabled, size limit: 65536 MiB
0.40.478.899 I srv load_model: use `--cache-ram 0` to disable the prompt cache
0.40.478.900 I srv load_model: for more info see https://github.com/ggml-org/llama.cpp/pull/16391
0.40.478.900 I srv load_model: context checkpoints enabled, max = 32, min spacing = 8192
0.40.478.961 I srv init: idle slots will be saved to prompt cache upon starting a new task
0.40.487.053 I srv init: init: chat template, example_format: '<|im_start|>system
Reasoning effort is set to low. Keep your thinking brief and focused, moving directly to the conclusion without unnecessary elaboration.
You are a helpful assistant<|im_end|>
<|im_start|>user
Hello<|im_end|>
<|im_start|>assistant
<think>
</think>
Hi there<|im_end|>
<|im_start|>user
How are you?<|im_end|>
<|im_start|>assistant
<think>
'
0.40.488.160 I srv init: init: chat template, thinking = 1
0.40.488.175 I srv init: preserve_reasoning kwarg: true
0.40.488.176 W srv init: chat template supports preserving reasoning, it is enabled by default (may use more tokens, disable via --no-reasoning-preserve)
0.40.488.225 I srv llama_server: model loaded
0.40.488.230 I srv llama_server: listening on http://127.0.0.1:5806
0.40.488.306 I srv update_slots: all slots are idle
0.40.596.787 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
0.40.596.840 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
0.41.844.721 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
0.44.106.682 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
0.44.145.103 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
0.44.166.445 I srv server_strea: conv_id=p8qh2v4txo (empty=0)
0.44.187.707 I srv operator(): chat format: peg-native
0.44.194.199 I slot get_availabl: id 0 | task -1 | - skipping, slot is empty
0.44.194.203 I slot get_availabl: id 0 | task -1 | selected slot by LRU, t_last = -1
0.44.194.204 I srv get_availabl: updating prompt cache
0.44.194.209 I srv load: - looking for better prompt, base f_keep = -1.000, f_sim = 0.000
0.44.194.213 I srv update: - cache state: 0 prompts, 0.000 MiB (limits: 65536.000 MiB, 262144 tokens, 68719476736 est)
0.44.194.214 I srv get_availabl: prompt cache update took 0.01 ms
0.44.194.872 I cmn common_reaso: activated, budget=2147483647 tokens
0.44.194.897 I slot launch_slot_: id 0 | task -1 | sampler chain: logits -> ?penalties -> ?dry -> ?top-n-sigma -> top-k -> ?typical -> top-p -> ?min-p -> ?xtc -> temp-ext -> dist
0.44.194.906 I slot launch_slot_: id 0 | task -1 | sampler params:
repeat_last_n = 64, repeat_penalty = 1.000, frequency_penalty = 0.000, presence_penalty = 0.000
dry_multiplier = 0.000, dry_base = 1.750, dry_allowed_length = 2, dry_penalty_last_n = 64
top_k = 20, top_p = 0.950, min_p = 0.000, xtc_probability = 0.000, xtc_threshold = 0.100, typical_p = 1.000, top_n_sigma = -1.000, temp = 0.900
mirostat = 0, mirostat_lr = 0.100, mirostat_ent = 5.000, adaptive_target = -1.000, adaptive_decay = 0.900
0.44.194.909 I slot launch_slot_: id 0 | task 0 | processing task, is_child = 0
0.44.194.923 I slot operator(): id 0 | task 0 | new prompt, n_ctx_slot = 262144, n_keep = 0, task.n_tokens = 6513
0.44.194.938 I slot operator(): id 0 | task 0 | cached n_tokens = 0, memory_seq_rm [0, end)
0.45.076.880 I slot operator(): id 0 | task 0 | cached n_tokens = 1024, memory_seq_rm [1024, end)
0.45.936.639 I slot operator(): id 0 | task 0 | cached n_tokens = 2048, memory_seq_rm [2048, end)
0.46.678.559 I slot operator(): id 0 | task 0 | cached n_tokens = 3072, memory_seq_rm [3072, end)
0.47.403.908 I slot operator(): id 0 | task 0 | cached n_tokens = 4096, memory_seq_rm [4096, end)
0.48.152.970 I slot print_timing: id 0 | task 0 | prompt processing, n_tokens = 5120, progress = 0.79, t = 3.83 s / 1336.37 tokens per second
0.48.152.973 I slot operator(): id 0 | task 0 | cached n_tokens = 5120, memory_seq_rm [5120, end)
0.48.471.975 I slot print_timing: id 0 | task 0 | prompt processing, n_tokens = 5489, progress = 0.84, t = 4.18 s / 1312.85 tokens per second
0.48.471.979 I slot operator(): id 0 | task 0 | cached n_tokens = 5489, memory_seq_rm [5489, end)
0.48.652.956 I slot create_check: id 0 | task 0 | created context checkpoint 1 of 32 (pos_min = 5488, pos_max = 5488, n_tokens = 5489, size = 171.193 MiB)
0.49.388.370 I slot print_timing: id 0 | task 0 | prompt processing, n_tokens = 6462, progress = 0.99, t = 4.94 s / 1309.07 tokens per second
0.49.388.373 I slot operator(): id 0 | task 0 | cached n_tokens = 6462, memory_seq_rm [6462, end)
0.49.575.162 I slot create_check: id 0 | task 0 | created context checkpoint 2 of 32 (pos_min = 6461, pos_max = 6461, n_tokens = 6462, size = 175.016 MiB)
0.49.681.416 I slot print_timing: id 0 | task 0 | prompt processing, n_tokens = 6509, progress = 1.00, t = 5.46 s / 1191.38 tokens per second
0.49.681.420 I slot operator(): id 0 | task 0 | cached n_tokens = 6509, memory_seq_rm [6509, end)
0.49.682.557 I slot init_sampler: id 0 | task 0 | init sampler, took 0.78 ms, tokens: text = 6513, total = 6513
0.49.856.660 I slot create_check: id 0 | task 0 | created context checkpoint 3 of 32 (pos_min = 6508, pos_max = 6508, n_tokens = 6509, size = 175.201 MiB)
0.52.979.726 I slot print_timing: id 0 | task 0 | n_gen = 214, tg = 70.00 t/s, tg_3s = 70.32 t/s
0.55.997.504 I slot print_timing: id 0 | task 0 | n_gen = 433, tg = 71.28 t/s, tg_3s = 72.57 t/s
0.57.515.548 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
0.59.030.946 I slot print_timing: id 0 | task 0 | n_gen = 641, tg = 70.38 t/s, tg_3s = 68.57 t/s
1.02.031.711 I slot print_timing: id 0 | task 0 | n_gen = 883, tg = 72.92 t/s, tg_3s = 80.65 t/s
1.05.062.619 I slot print_timing: id 0 | task 0 | n_gen = 1104, tg = 72.92 t/s, tg_3s = 72.92 t/s
1.08.078.943 I slot print_timing: id 0 | task 0 | n_gen = 1314, tg = 72.37 t/s, tg_3s = 69.62 t/s
1.11.099.909 I slot print_timing: id 0 | task 0 | n_gen = 1546, tg = 73.00 t/s, tg_3s = 76.80 t/s
1.14.116.302 I slot print_timing: id 0 | task 0 | n_gen = 1731, tg = 71.55 t/s, tg_3s = 61.33 t/s
1.17.143.159 I slot print_timing: id 0 | task 0 | n_gen = 1964, tg = 72.15 t/s, tg_3s = 76.98 t/s
1.20.192.581 I slot print_timing: id 0 | task 0 | n_gen = 2173, tg = 71.79 t/s, tg_3s = 68.54 t/s
1.23.194.267 I slot print_timing: id 0 | task 0 | n_gen = 2436, tg = 73.22 t/s, tg_3s = 87.62 t/s
1.26.228.228 I slot print_timing: id 0 | task 0 | n_gen = 2675, tg = 73.68 t/s, tg_3s = 78.77 t/s
1.26.546.019 I cmn common_reaso: deactivated (natural end)
1.29.242.024 I slot print_timing: id 0 | task 0 | n_gen = 2855, tg = 72.61 t/s, tg_3s = 59.73 t/s
1.32.264.715 I slot print_timing: id 0 | task 0 | n_gen = 3081, tg = 72.77 t/s, tg_3s = 74.77 t/s
1.32.917.494 W srv operator(): (CORS) skip non-localhost origin: http://192.168.1.217:8080
1.35.309.909 I slot print_timing: id 0 | task 0 | n_gen = 3314, tg = 73.02 t/s, tg_3s = 76.51 t/s
1.35.830.082 I slot print_timing: id 0 | task 0 | prompt eval time = 5741.57 ms / 6513 tokens ( 0.88 ms per token, 1134.36 tokens per second)
1.35.830.087 I slot print_timing: id 0 | task 0 | eval time = 45893.21 ms / 3356 tokens ( 13.68 ms per token, 73.10 tokens per second)
1.35.830.090 I slot print_timing: id 0 | task 0 | total time = 51634.79 ms / 9869 tokens
1.35.830.095 I slot print_timing: id 0 | task 0 | graphs reused = 833
1.35.830.099 I slot print_timing: id 0 | task 0 | draft acceptance = 0.74143 ( 2509 accepted / 3384 generated), mean len = 3.97
1.35.830.099 I slot print_timing: id 0 | task 0 | acc per pos = (0.903, 0.797, 0.682, 0.584)
1.35.830.116 I spec common_specu: statistics draft-mtp: #calls(b,g,a) = 1 846 846, #gen drafts = 846, #acc drafts = 764, #gen tokens = 3384, #acc tokens = 2509, #mean acc len = 3.97, #acc rate/pos = (0.903, 0.797, 0.682, 0.584), dur(b,g,a) = 0.005, 10266.314, 2.154 ms
1.35.831.263 I slot release: id 0 | task 0 | stop processing: n_tokens = 9868, truncated = 0
1.35.831.348 I srv update_slots: all slots are idleУ меня тоже две 3090. Полный контекст для qwen3.8-27b-q8 без квантования да, не влезает. Влезает около 200к. Но квантованный кэш влазит (именно об этом сказал товарищ выше).
По скорости товарищ тоже не соврал. С опцией -sm tensor и включенным MTP модель даёт до 80т/с (среднее наверное токенов 65-70). Так что кек - кеком, но именно так оно и работает.
65-70 т/с при забитии контекста больше 200К?
Это какая-то уличная магия.
Вот только что измерил. Картинку нельзя приложить, по этому скопировал табличкой. Можно увидеть префилл 724 и генерацию 50-65. Это реальная кодинговая задача.
| Cached | Prompt | Generated | Prefill | Decode |
|---------|---------|-----------|------------|-----------|
| 218.357 | 51 | 1.838 | 25.55 t/s | 57.58 t/s |
| 217.656 | 153 | 547 | 68.69 t/s | 64.54 t/s |
| 217.446 | 44 | 165 | 23.47 t/s | 60.95 t/s |
| 215.407 | 617 | 1.423 | 202.32 t/s | 54.47 t/s |
| 214.993 | 91 | 323 | 44.50 t/s | 60.02 t/s |
| 214.876 | 35 | 81 | 18.10 t/s | 51.25 t/s |
| 214.109 | 115 | 651 | 53.87 t/s | 54.16 t/s |
| 213.309 | 70 | 730 | 31.71 t/s | 53.60 t/s |
| - | 209.991 | 3.317 | 724.81 t/s | 49.75 t/s |
Аликсеоны хороши тем что у них 2-3 х16 pcie будет на борту, потому что у серверных процов много линий pcie , в отличие от бытовухи
Ну и серверную память они потянут, которая в разы дешевле обычной
База, фундамент, все так. Жму руку, обнимаю.
А по деньгам на железо сколько вышло?

"Таблица «5 лучших»: Ornit-1.5-35B локально 100% 40.8 t/s (без думания; think ~22) 192K."
Как-то маловато. Вот реальная скорость "наследика", правда на меньшем контексте при 2x RTX-3060/12GB
Локальный ИИ класса Opus 4.6
Чтобы быть моделями одного класса у них должно быть сопоставимое число параметров.
На 32гб видеопамяти + 64гб оперативы + 512gb ssd поднять триллионную модель невозможно.
Понятно что, что крупные проекты локальные модели не способны поднять. Только вот мне для своих ембедд проектов локальных моделей уже хватает практически полностью. 256к контекста - с лихвой. И год назад работая с gemini я решал такие задачи, как сейчас могу решить на локальной машине. В теории, потолок локальных моделей еще не достигнут, вот меня к примеру, приятно удивила https://huggingface.co/ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF на другой моей машине с tesla v100 16gb.
Чтобы быть моделями одного класса у них должно быть сопоставимое число параметров.
Неочевидное утверждение. Допустим, кто-то сделал модель, которая с меньшим количеством параметров выдаёт такие же результаты. Она что, хуже что ли? Нет же, она лучше.
У меня аналогичная сборка только проц E5-2696 22 ядра 44 потока, ОЗУ 256 гб.
2 карты P100 + 1050ti для легкой 4b модели.
Запускал даже GLM5.3 flash, скорость правда 1t/s.
Qwen3.8-Flash-Next умная, но тоже скорость маленькая.
Рабочая Qwen3.8-27B_UD-Q4-K-XL, на агентах запускаю на ночь и с утра задача выполнена. Самое долгое 6 дней в одном чате проект создавал, контекст 200К стоит.
Купил мини пс на AMD Ryzen AI 9 HX 470 за 700 евро, поставил туда 64Гб рамы и ссд на 2 Тб. Qwen3.8-Flash-Next - 15-20 t/s, вполне рабочая. Собираю на eGPU, nvlink присутствует.
Qwen3.8-Flash-Next на 64 ГБ памяти? А какую конкретно модель Вы запускаете (какой тип квантования, сколько весит модель в ГБ)?
https://huggingface.co/AtomicChat/Qwen3.8-Flash-Next-GGUF?show_file_info=Qwen3.8-Flash-Next-AD-3.84bpw-IQ4_XS-M64%2FQwen3.8-Flash-Next-AD-3.84bpw-IQ4_XS-M64-00001-of-00028.gguf память всю сжирает, вот так запускается: “llama.cpp” GGML_CUDA_NO_PINNED=1 ./llama-server.exe
-m D:/qwen38-flash/Qwen3.8-Flash-Next-AD-3.84bpw-IQ4_XS-M64-00001-of-00028.gguf
–host 127.0.0.1 --port 8080 --alias qwen3.8-flash
-ngl 999 --n-cpu-moe 32 -ot “per_layer_token_embd=CPU” -sm layer -ts 38,10
-lzm auto -fa on -ctk q8_0 -ctv q8_0 -c 131072 -np 1 -t 24
–jinja --spec-type ngram-map-k --spec-ngram-map-k-size-m 12
–reasoning off --metrics
–log-file D:/qwen38-flash/server384.log --log-timestamps -to 600
tps это хорошо но и ttft тоже надо бы указывать а еще заполненость контекста на тот момент
Рабочая модель у меня теперь почти всегда одна, Ornit-1.5-35B (Q4_K_M)
Пробовали ли unsloth/Qwen3.8-27B-GGUF? Хороши!
https://huggingface.co/ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF - в тестировании сейчас, видимо на нее уйду.
Не пробовали гибридную концепцию? Старшая облачная модель пишет план, а локальная занимается реализацией? Потом облако верифицирует. Получается экономить до 50% токенов по сравнению с чистым облаком и качество по идее вообще не страдает. Blackwell ноутбук на NVFP4 спокойно выдает 10t/s без спекуляций, потребляя при этом меньше 100 ватт под нагрузкой.
Лучше использовать обратную концепцию - план может писать и локальная модель, а реализацию доверить облачной модели, так как локальная хуже знает особенности реализации конкретных библиотек из-за ограниченного размера. Конкретный пример - gemma4-26B-A4B хорошо знает общую информацию о boost, libtooling, qt, но путается в реализации, может нередко забывать добавлять обработку граничных случаев. Опус и соннет по сравнению с локальными являются гигантами и в этом случае "cтаршая облачная модель пишет план, а локальная занимается реализацией" прокатывает.
Небольшая неточность - под локальной подразумевалась модель меньшего размера(sonnet). Более того мне например больше нравится как gemma4-26B-A4B разбивает большие cpp файлы на мелкие при росте размера проектов, gpt-5.6 luna местами избыточно переусложняет.
А есть какие-то проверенные связки для именно локального инференса и облачного? Текущие клоды и копайлоты такое не умеют, open code вроде бы тоже ... Пробовал litellm, вроде бы получается неплохо, но немного не то что я хотел. Там анализатор все разбивает, а не сами модели.
Что значит "не умеют"? Так и пишите: "у меня на 127.0.0.1:4321 сидит qwen3.8, напиши скилл, который будет делать то-то и то-то" (например, писать тесты и прочую ерунду). Я так внутрь клода прикрутил скилл, который вызывает cli codex для проверки написанного перед коммитом, клод потом по нему правит код и пушит (эдакий ci/cd локально). Никакой разницы ему нет, вызывать codex или qwen code, или вообще напрямую ходить по openai-compatible.
так как локальная хуже знает особенности реализации конкретных библиотек из-за ограниченного размера
Поддержу. Вот эту тему с умным планировщиком и тупым исполнителем курсор навязывает в своем дефолтном поведении. И, как-то, ни разу не был доволен результатом. План слишком общим выходит, чтобы уберечь младшую модель от бреда. Как будто бы, сама концепция - просто тупая экстраполяция оргструктур реального мира (умный тимлид декомпозирует задачу на подзадачи для джуна), не имеющая адекватного обоснования. Примерно, как потуги создать ИИ-команду, где есть проджект, тимлид, два бекенда, фронт тестировщик и девопс, и все имеют свои имена и общаются в джире. Да, привычно и знакомо, с одной стороны. Но, с другой, чистый карго-культ
Так на выходе будет задница тогда, в этом плане план надо писать опусом а реализацию сонетом и проверять опусом
Она MoE- суммарно 35 миллиардов, а активно около 13,
Если имеется ввиду Ornith-1.5-35B-A3B MoE 35B / 3B - активные не 13 а только 3. Это опечатка?
Если пробовали только на ванильной llama.cpp, то обязательно попробуйте https://github.com/ikawrakow/ik_llama.cpp/ Этот форк сильно ускоряет инференс на CPU, раза в 1.5-2. И если виндовс стоит, то стоит попробовать линукс - по отзывам на нем бывает быстрее.
Не очень понятна логика, сборка вроде не рядом с опус 4.6 ни по скорости ни по качеству, вроде 32 гига нынче для запуска модели почти ничего, качество и скорость очень сильно страдают на том же антропике или кодекс вы получаете за 200 баксов очень очень много токенов на месяц. В сравнении с подпиской это просто не лезет ни в какие ворота
Логика сборки такая, как инвертор с батареей на даче. Вроде дорого, а когда 3 дня света не будет и холодильник стухнет с продуктами и лекарствами, да работа вся встанет -так и не дорого выходит. Ну или как народ над электричками смеялся, а теперь заправиться не может. Иметь возможность автономии - бесценна. И еще, мне уже заметно стало подорожание дипсика, и теперь у меня есть выбор не выкидывать по 7-10килоруб в месяц на дипсик, а обойтись в 90% потребностей в расчетах своим железом. Ну и по моим прикидкам - 6 мес отбиваются эти затраты. Далее только электроэнергия.
ну простейший сценарий тут вырубило свет и нет интернета, а нахрена локальная модель, если просто нет инета то и работы нет , если нет света то и локальной модели нет.
ну ядерный удар и скаладывание связи в интернете , тоже не понтяно зачем она мне , тут я больше надеюсь купить на черном рынке после этого ак 47 , но наврятли кто то мне продаст его за видеокарты в постапокалипсисе
ну еще сценарий есть чебурнет , ну если нет зарубежного инета мне как бы и локальная не нужна так как нет работы по сути.
если вы сидите на апи тратите всего 7-10к рублей на него то понятно что у вас там работы три копейки, так что я вообще не понимаю на счет окупаемости ) , с этой точки зрения я купил подпписку клода или кодекса за 200 баксов и окупил сразу тысяч на 7к баксов расходов на апи или сильно больше на железе
Как хождение по интернету и гуглеж решали?
Кодинг «вслепую» без возможности у модели сходить в интернет и загрузить свежую доку весьма условный выходит.
Если необходимо, то локальные агенты умеют и в интернете поискать, если разрешить.
Умеют, но ощутимо хуже, никаким аналогом /deep-research у локалки даже не пахнет ИМХО, максимум в условный гугл залезть (который нынче та еще помойка) и покопаться в бреде копирайтеров и прочего SEO-оптимизированного гуана.
Список уязвимостей у меня локальный квен вытягивал минут 10 с постоянными спотыканиями, а их как бы даже сама модель знает где искать, без гугла.
Умеют, но ощутимо хуже, никаким аналогом /deep-research у локалки даже не пахнет
Этот тред просто какой-то сборник мифов и предубеждений. Стандартный Qwen 3.8 27B запущеный в deepseek-harness за 25 мин пишет плагин к этому же харнесу, который работает лучше /deep-research.
Вы говорите о вчерашнем дне, все команды условного claude code уже реализуются плагинами и работают лучше. Такая вот реальность.
Это из практики на релизе Qwen 3.8, в Qwen Code. Если есть плагин - поделитесь, посмотрим что там лучше.
unsloth desktop можно попробовать как обертку с поиском
У меня локальная LLM ходит в интернет спомощью локальных MCP: SearXNG и Browser-MCP (headless chrome, c моей доработкой чтобы сайты не палили бота и показывали капчу)
Гермес ходит в интернет если надо с этими моделями, просто даю ссылку и говорю что надо сделать, а локальная модель потом пыхтит, но по скорости да, если опять с пресловутым дипсиком 4 флеш сравнить- втрое больше времени тратит.
Хотел бы узнать у автора какая материнская плата сколько слотов pcie x16? Сборка понравилась для локалки самото. У меня собран походный стек в 60к. Деревянных. Но я не захотел почему то брать п100. Я брал 2 майнинговых amd instinct mi50 16gb. И для них брал катайскую плату machinist x99 на ней два честных pcie x16
Чуть в другом бюджете можно получить ~100t/s и 900t/s в x32 на Qwen-3.8 27B с vllm https://habr.com/ru/sandbox/302280/ . Даже на обычном PCIe v4 x4. Там первая часть, во второй уже с MTP.
Чуть другой - это сколько в рублях?
Ну конечно не 20тр, но еще два месяца назад новая 5060Ti 16Gb взял за 47т.р. х3 - ~150тр. Но вот чего мне не хватило или я пропустил - это скорость prefill на Xeon таком.
Еще хост нужен для карт. Это не чуть другой ценник, это в разы. 6-7т.р цена p100.
10 тысяч сейчас на авито вижу за р100, 5060ti 16gb по 60-70+ тысяч за штуку.
Реально выкупал с озона за 5909р.
Ну я сейчас смотрю цены, историческая справка не особо интересна :)
3 недели назад забирал в ПВЗ. Думаю, через месяц опять цены могут упасть. Весь этот антиквариат априори дорожать не может.
Может-может, каждый раз когда такие статьи вылезают про некрожелезо (или просто колхозы), которое "может", оно запросто х2 к цене делает. Уже не первый случай.
В 11 раз дороже.
Подскажите параметры запуска для llama.cpp с которыми вы запускаете Qwen3.8 27B Q5 с контекстом в 225К? У меня на двух картах 50x0 тоже с суммарной памятью 32Gb удается только 140K контекста в Q8_0 запустить максимально :(
Вот у меня есть такой лог:
Рабочая схема — serve-qwen38.sh (порт 11889, алиас qwen38) — это то, что потом стояло в пикере: --model D:/Models/Qwen3.8-27B-UD-Q5_K_XL.gguf --mmproj D:/Models/Qwen3.8-27B-mmproj-F16.gguf ← vision -ngl 99 --device CUDA0,CUDA1 --split-mode tensor -c 184320 (слот 180K, -np 1) --cache-type-k q8_0 --cache-type-v q8_0 --reasoning off --spec-type draft-mtp --spec-draft-n-max 2 --host 127.0.0.1 --port 11889 --log-file server_qwen38.log --log-timestamps -to 1800 Замеры по ней: покой 15 852 / vision-пик 15 914 MiB, 23–24 t/s, prefill 131–161 t/s; 224K (229376) стартовал, но на генерации 15 784 MiB — запас 600 MiB, посчитали риском; 256K не стартовал вовсе. В конфиге Hermes у алиаса стоит context_length 184320 и extra_body {temperature 0.6, top_p 0.95}.
Автор: ваша сборка на кухне постоянно будет жить? Там взвешенные капли жира в воздухе: радиаторы забивают и пыль к ним липнет шоппц.
Жир вытяжка убирает, а сервак на подоконнике далеко от плиты. В комнатах пыли точно больше, ежегодно из компа выгребаю клубки.
Я из четырех 5060 Ti 16 gb через Oculink PCIe 4.0 x4 на Qwen3.8 27B FP8 с кешем 262к BF16 в vLLM под WSL2 (в Windows) пока только 31 т/с смог выжать, prefill около 150 т/с. Режим tensor parallelism, 2 потока можно (batch). nvfp4, говорят, быстрее и больше параллельных запросов можно.
Кстати, может, не так вопрос задал. Но Qwen3.8 27B FP8 предложил мне 20 метров до автомойки пешком пройтись.
Шумит под нагрузкой, но не сильно - это было очень критично, так как стоит в жилой комнате. Когда нет запросов, вентиляторы везде останавливаются, полная тишина. Ну и потребление всех карт все же минимальное.
Для меня сумма моего стенда существенная, даже с учетом цен за карты 40-45 тыс. руб., так как это амортизация и потерянные проценты по депозиту. Облако по расчетам у Дипсика дешевле.
prefill около 1500 т/с - ошибся. при максимальной нагрузке - потребление каждой карты 5060 Ti до 100 Вт
О. почти собрат - переходите на vllm, я же говорю на 3x 5060Ti 100t/s можно, поиграв с кодом vllm, но там круто именно в паралель уходить - сейчас ~900t/s, но это при моих 48Gb. И у меня именно боль - одна карта в 4.0 v4 PCIe - т.е. почти ваша конфигурация.
А на llama.cpp каких цифр удавалось достигать максимально?
не, даже не пробовал llama - мне надо паралель)
Не пробовали сравнивать по качеству ответов FP8 с Q4 например? Любопытно всё же насколько она тупеет.
Только NVFP4, причем сейчас есть кванты интересные - https://huggingface.co/QUASAR-QAT/Qwen3.8-27B-QUASAR-NVFP4, похоже на BF16. Но надо разделять "тупеет" ) BF16 реже уходит в loop, это да. Но кучу math ошибок накапливает сервак местами а не квантование, особо при кривой реализации MTP. Лучше самому посчитать - набрать трассу на BF16, а потом с Q4/NVFP4 сравнить просто)
Я пробовал несколько месяцев назад Qwen3.6 27B Q4. Мне не понравилось, Q6 был получше, но с OpenClaw было невозможно долго работать. Но 5060 Ti у меня тогда было 2 или 3.
Далее честный рассказ с цифрами, бенчмарком
Ой, а мы думали, что будет не честный!
Те самые грабли, на которые я наступал, локальная модель берёт лучше облака.
Что она берёт? Грабли?
Нельзя такое выкладывать. Если уж сгенерировали нейронкой текст, то хоть прочитайте пару раз.
Локальный ИИ класса Opus 4.6
Это больше самовнушение, чем правда. Локальные ИИ никогда не сравнятся по качеству с глобальными ИИ.
Есть понятие - достаточное решение. Никто не возит на карьерном самосвале пиццу клиентам, к примеру. Если задача выполняется - зачем платить больше?
Угу по обширности знаний модели на несколько порядков меньше не сравнятся. В отдельно взятых задачах, ну например спросите у модели сколько будет 2 + 2, вам самые древние и маленькие ответят не хуже опуса 5.
Это, конечно, совсем простой пример, вот только планка того, где локальные модели работающие на ноуте сравнились с большими, неуклонно растет и задач где вы не увидите отличий все больше и больше.
Например, у меня локальные часто находят косяки, иногда довольно серьезные, в тех решениях которые опус5 сделал через Клод код.
Именно по обширности знаний - сравнятся. Что облачная моделька, что локальная про устройство черной дыры (и как к этому пришли) отвечают практически одинаково. Также и по вопросам схемотехники навроде "отличие ламп от транзисторов" или "рассчитай ключевой каскад для IGBT". Потому что для этих вопросов давно найдены ответы, формулы и доказательства. А вот связность и генерация нового - тут да, все не очень хорошо у локальных. Например написать рассказ, локальная часто путает слова и зачастую пишет линейный текст, облачная при этом пишет довольно захватывающий рассказ, нуждающийся в минимальной доработке. Код - это вообще небо и земля. Локальная напишет вам типовой тетрис, поможет даже создать справочник по какому-то ЯП, но нечто сложнее, например сайт "убийца ютуба" - уже запинается и приходится делать 10-30 прогонов, чтобы она хоть что-то рабочее выдала. При этом даешь этой же модели ее код на ревью и она с удовольствием находит там кучу багов, попутно плодя новые.. Большие модели рабочий код выдают с первого раза, если не повезет то с третьего. Они тоже неидеальны, но ситуация ровно такова какова она есть и более никакова =))
"поможет даже создать справочник по какому-то ЯП "
Такую модель еще поискать надо. Она не просто должна русский язык понимать, она должна сложные темы объяснять так, чтобы было понятно. Например, Gemma 4 отлично на русском говорит, но при этом агентские задачи с трудом решает. С другой стороны, Qwen 3.8 Flash Next может написать тысячи строк кода без ошибки, но не в силах объяснить написанное на нормальном русском языке.
Пока что универсальную локальную модель еще никто не сделал, либо хороший код, либо хороший русский язык. Надежда на то, что Gemma 5 наконец-то начнет нормально инструменты вызывать и качество кодинга подтянет.
Есть такая специализация моделей. Но она существует даже среди огромных моделей. Условно говоря, не так давно в кодинге рулил Клод, а в гуманитарных Gemini (Gemma той же архитектуры). В среде локальных моделей -it модели в коде шарят больше, чем общие. Что с этим делать непонятно, я думаю какую то общую модель делать нет смысла - ибо даже среди людей есть деление на гуманитариев и технарей, никто никому не мешает, не конкурирует и в целом они нужны друг другу, юрист не починит розетку, а электрик не сможет написать судебный иск правильно. Разный склад ума, и возможно архитектуры тоже будут разными, сохраняя что-то общее.
Триста тридцать пять.
В заголовки Opus, но в статье не увидел сравнения ни с одной моделью антропик
Вот это попало в ежедневный хабр, а моя статья с огромным вычислительным кластером осталась почти без внимания. эх
Ваша статья, видимо, интересна 1 читателю Хабра из 1000, и специалисты ее оценят, не волнуйтесь, интернет отиндексирует и все запомнит. А по моей статье, наверное, каждый десятый примеряет к себе - а не собрать ли себе такой сервак домой. Не дорого же, а еще у людей много десктопов пылится без дела, а тут такой вариант заиметь личного Джарвиса на полку.
Я сам наткнулся чисто случайно на эту ллмку - Ornit -и она на моем весьма слабом стеке на удивление умнее работала даже чем квен. Собственно вопрос - а что это за моделька такая интересная? она вроде как и сделана на основе квена но явно умнее при своих габаритах так сказать.
А по статье - спасибо за инфу о железе, очень интересная штука получилась у вас, были бы свободные средства повторил бы ее :)
ИМХО, конечно, но брать карты без тензорных ядер под генеративные нейросети - это редкостное извращение. Производительность просто никакая. Если это открытый стенд, то по-любому, это минимум две V100 x 16ГБ. 250 ТФлоп против 40.
Гонял одну и ту же модель https://huggingface.co/ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF на своем стенде и на одной V100 16гб - настройки практически одинаковые, за исключением kv 4 бит и 8 бит квант на моем стенде - разница в генерации моделью ответов 22 т\с против 32 т\с.
На агентской работе с файлами на компьютере на типичной задаче, к примеру, распаковать 5 файлов с журналами месячных отчетов с дипсика по использованию токенов - слить их в один вывести эксельку, с разбивкой ко ключам и деньгам в один выходной файл выходило за 3 минуты 20 сек, против 3 минуты 30 сек - разница несущественна.
Практика показывает - важна модель и ее тонкая настройка. Да, модель рекомендую, переехал на нее полностью, очень качественно квантована, 3 бита, а чувствуется 8 битным квантом.
люблю такие статьи, есть рост, но, пока что 50к в железо + площадь для сервера + электричество, обслуга- все еще проигрывают дешевой подписке антропика за 20 баксов, которая может примерно все, работает на любом утюге, не занимает места.
но, для ускорееия оборонки локальные модели стали уже сильно интересней




Локальный ИИ класса Opus 4.6 «задешево»: две Tesla P100, 28-поточный Xeon и тесты на реальных задачах