Pull to refresh

Comments 66

reasoning-budget на самое лучшее решение, это как мешком по голове, чтоб все мысли убрать. У 3.8 можно гораздо гибче размышления настраивать с помощью reasoning-effort.

Попробуй такой параметр для llama-server:

--chat-template-kwargs '{"reasoning_effort": "low"}'

Можно задавать low, medium, high, и кажется xhigh

xhigh ставится по умолчанию, если не ставить другой параметр. От этого и идут жалобы что модель якобы очень много думает

кажется возникло недопонимание по поводу reasoning-budget
Изначально я добавил эту настройку для 3.6, потому, что 3.6 периодически зацикливалась на: "...I will provide the best answer, I will provide ..." и так по-кругу.
Т.е. reasoning-budget для 3.6 использовался как ограничитель, чтобы модель остановилась, если ушла в цикл. Нужно отметить, что reasoning-budget не обрывает рассуждение на середине, а довольно мягко способствует тому, чтобы модель в него уложилась.
3.8 в этом плане гораздо лучше, за последние 4 дня она ни разу не уходила в подобный цикл. Поэтому я увеличил reasoning-budget и планирую его еще увеличить. Т.е. меня полностью устраивает как она рассуждает и я готов дать ей еще немного пространства для рассуждения (не ограничить, а добавить), рассуждения выглядят обоснованными и вполне логичными, и не затягиваются надолго, если задача сложная модель может потратить больше токенов, но для простых задач тратит совсем немного (значительно меньше чем тратила 3.6), т.е. выглядит так, что 3.8 эффективние использует бюджет.
(вообще конечно нужно поиграть с настройками, но вроде как все и так работает, а времени пока нет)

Понятно, да, как стоп-кран от зацикливания имеет смысл оставить, хотя 4к токенов маловато, у меня бывало 3.6 без зацикливания и по 8к токенов думало над чем-то сложным.

у меня 3.8 бывало 30к токенов обдумывал и в конце всё же ответ давал сам

Почему использован --temp 0.6, если разработчиками модели рекомендуется 1.0?

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

Как я понял температура 1.0 в qwen3.6 не тоже самое что температура 1.0 в qwen3.8. Поэтому для одних и тех же сценариев для qwen3.6 разработчики рекомендуют 0.6, а для qwen3.8 - 1.0

может быть, нужно будет просмотреть, но в целом, то что выдает qwen с 0.6 меня устраивает

а если не секрет, на каком железе это запускается?

В тексте написано, что на RTX4090. Все остальные параметры железа глубоко вторичны.

на виртуалке с Arch и проброшенной внутрь RTX4090

а можно вопрос? для чего именно виртуалка с арчем? я только что повторил то же самое сразу на вин11

просто я как-то давно вместо винды установил Arch, у него rolling release, вот он так и катится от обновления к обновлению. Виртуалка удобна для экспериментов, потому, что если что-то сломается не нужно все переустанавливать, ну а Arch на виртуалке - потому, что удобно иметь одну систему везде.

На windows система достаточно значительное количество VRAM резервирует, даже если подключить монитор к igpu процессора. На cachy os, используя beellama и сжатие kv кеша kvarn6 у меня получилось запустить модель в 5q без mtp на 24 ГБ vram

Гугл мне сказал что разницы между q4 и q5 практически нет.

Или вы имеете ввиду что скорость адекватная?

Качество модели по идее должно быть лучше. Но я разницы не заметил, если честно :D. Сразу скажу, что я не программист, мои задачи просты: системное администрирование - настрой, установи; задачи связанные с таблицами - напиши скрипт на python - pandas. Кстати, Glimmer для этих задачи мне показался поприятнее - работает быстрее в плане размышлений и в плане ток/сек.

рад слышать! Спасибо, что прочитали.

пользуюсь unsloth там кстати внутри и mtp есть сразу, я вот так включаю

--spec-type draft-mtp --spec-draft-n-max 2

и ещё рекомендую всем турбоквант, у меня эта модель в q4_k_m влазит полностью в gpu 24gb с 128к контекста и место ещё остаётся

А сколько токенов в секунду? У меня на 7900хтх максимум 14 почему то

у меня на 3090 40-60ток/с с mtp и 25-30 без mtp

Не покажете конфиг запуска? :)

У меня 14 с мтп

llama-server.exe -m “C:\models\Qwen3.8-27B-Q4_K_M\Qwen3.8-27B-Q4_K_M.gguf” --ctx-size 128000 -ngl all --load-mode none -fa on --jinja --temp 0.6 --repeat-penalty 1.1 --top-k 20 --top-p 0.95 --min-p 0.0 --port 8080 --no-context-shift -ctk tbqp3 -ctv tbq3 --spec-type draft-mtp --spec-draft-n-max 2

–flash-attn on -ngl 99 --chat-template-kwargs ‘{“reasoning_effort”:“low”}’ --parallel 1 --cache-type-k q8_0 --cache-type-v q8_0

у меня видеокарта через окулинк воткнута, и вот с таким подходом 50-75 токенов сделал

unsloth у меня как-то не зашел, а на счет mtp - хорошая идея, попробую. Спасибо!

вашим способом gguf даже меньше чем у unsloth

и при этом mtp так же в нём уже есть и работает

пример скорости с mtp

Спасибо! У вас кстати скорость получилась больше чем у меня (у меня примерно 45-50 токенов в секунду)

я думаю это из-за виртуалки с пробросом gpu, я раньше в wsl запускал и у меня скорость вроде как меньше была чем в вин11, хотя у меня сейчас должна быть скорость меньше чем у вас (особенно учитывая что у меня только 3090), т.к. турбоквантование контекста сжимает потребление памяти контекстом в 4.74x и уменьшает скорость в 0.87x при этом качество в сравнении с контекстом f16 даже выше на 8%

нашел!!! :) я поставил ограничение мощности видеокарты на 360 Ватт а потом об этом забыл! :))) Так-что виртуалка тут ни при чем

странно, но моя выдаёт такую скорость при 350 ватт-ах, стоковые экстрим параметры на 420 ватт не использую))

интересно! если будет время посижу в выходные посмотрю растройки llama-server. Можете еще раз подсказать какая скорость у Вас получается с какими настройками?

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

llama-server.exe -m “C:\models\Qwen3.8-27B-Q4_K_M\Qwen3.8-27B-Q4_K_M.gguf” --ctx-size 128000 -ngl all --load-mode none -fa on --jinja --temp 0.6 --repeat-penalty 1.1 --top-k 20 --top-p 0.95 --min-p 0.0 --port 8080 --no-context-shift -ctk tbqp3 -ctv tbq3 --spec-type draft-mtp --spec-draft-n-max 2

скорость выше в чате на скриншотах

спасибо!

поправьте, у вас вместо gguf -> guff

--outfile ~/models1/Qwen3.8-27B/my_conversions/Qwen3.8-27B-F16.guff

Поправил. Спасибо!

залил сорсы своего форка llama.cpp (only cuda), суть такая: это последняя версия llama.cpp но с поддержкой турбоквантования контекста, не уверен насчёт сборки для линукс но может и выйдет что то, тестировал у себя только для вин 11 под rtx 3090
для контекста в режиме турбокванта рекомендую -ctk tbqp3 -ctv tbq3
а для mtp --spec-type draft-mtp --spec-draft-n-max 2

К сожалению в распоряжении ПК с 4090 24гб нет, зато есть две 5080 16гб, у кого был опыт использования двух видеокарт для этих целей?

у меня опыта нет, но в целом должно быть юзабельно, gpt говорит вот так следует делать:

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

У GPT я и сам уже спросил, но мне интересен личный опыт - он, как показывают даже комментарии к этому посту, весьма неоднороден

Лучше split mode tensor. Ллама это умеет и грузит все карты одновременно на 100%

это только последние версии умеют и не всё всегда идеально работает

2 5080 16 ГБ это гораздо лучше для запуска qwen3.8-27b чем одна 4090. Можно использовать менее заквантованную модель и больше контекста

Три 5060ti 16gb в режиме -sm tensor и nvfp4 квантовании и mtp выдают в среднем 60-65 токенов в секунду.

Спасибо за инфу! Вопрос еще - а как с нагрузкой на блок питания?

нашёл ещё более быстрый вариант "FastMTP" внутри модели "HauhauCS/Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-MTP-GGUF"

но нужно собирать особую сборку llama.cpp

HauhauCS FastMTP: up to 3.02x document TG and 1.93x reasoning TG versus non-MTP — plus up to 35.2% more document TG and 21.1% more reasoning TG than standard embedded MTP.

месяц назад тестировал разные комьюнити версии qwen3.6 , без цензуры, более оригинальные и в результате для моих devops задач самой комфортной оказалась чистая модель от unsoloth, а все сторонние версии наоборот вызывали огромное количество зацикливаний и галлюцинаций. также иногда в комьюнити сборках что-то ломают и для агентской системы модель уже не пригодна ибо aider или openhands перестаёт видеть где код, а где обычный текст

Я вот все хочу разобраться, как самому сделать uncensored модель, да руки не доходят. Думаю, если бы кто-то написал руководство было бы круто. Хотя наверняка кто-то уже написал, вы в эту сторону не смотрели?

p.s. для проверки сделал ещё один форк с турбоквантом + fastmtp и вот мои результаты скорости на rtx3090 (350w)

p.s.s. 128к контекста так же помещаются полностью в vram

Скрытый текст
параметры запуска

llamacppfast/llama-server.exe -m “C:\models\Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-Q4_K_P.gguf” --spec-draft-model “C:\models\Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-FastMTP-32K.gguf” --spec-draft-ngl all --spec-type draft-mtp --spec-draft-n-max 3 --spec-draft-p-min 0 --ctx-size 131072 --parallel 1 --batch-size 2048 --ubatch-size 512 -ngl all --split-mode none --load-mode none -fa on --no-mmap --temp 1.0 --top-k 20 --top-p 0.95 --min-p 0.0 --presence-penalty 0 --repeat-penalty 1.0 --jinja --reasoning on --reasoning-effort xhigh --reasoning-preserve --reasoning-format deepseek --host 127.0.0.1 --port 8080 --no-context-shift -ctk tbqp3 -ctv tbq3

странно но скорость упала, думаю из за турбокванта, хоть и по логам всё ок..

Счастливые обладатели 5090 могут попробовать: https://github.com/Neroued/ninfer - оптимизированный движок под конкретную связку 5090/qwen.

спасибо, добавили уверенности и сам собрал модель на Q6 , весит < чем модель от unsloth. Думаю, что теперь всегда буду сам собирать модели.

ещё собрал sh файл для этого, может кому-то пригодится :

#!/bin/bash

# Путь к папке llama.cpp (измените, если проект лежит в другом месте)
LLAMA_DIR="/path/llama.cpp"

# 1. Проверяем, существует ли виртуальное окружение по абсолютному пути. Если нет — создаем.
if [ ! -d "$LLAMA_DIR/.venv" ]; then
    echo "Создаем виртуальное окружение в $LLAMA_DIR/.venv..."
    python3 -m venv "$LLAMA_DIR/.venv"
    
    echo "Активируем и устанавливаем зависимости..."
    source "$LLAMA_DIR/.venv/bin/activate"
    pip install --upgrade pip
    
    # Установка зависимостей, необходимых для convert_hf_to_gguf.py
    if [ -f "$LLAMA_DIR/requirements.txt" ]; then
        pip install -r "$LLAMA_DIR/requirements.txt"
    else
        # Если requirements.txt не найден, ставим базовый набор для конвертации
        pip install torch torchvision torchaudio transformers sentencepiece safetensors gguf
    fi
else
    # 2. Если уже существует, просто активируем по абсолютному пути
    source "$LLAMA_DIR/.venv/bin/activate"
fi

# 3. КОНВЕРТАЦИЯ
python "$LLAMA_DIR/convert_hf_to_gguf.py" \
  /path/qwenHF/Qwen3.8-27B \
  --outfile /path/qwenHF/out_model/Qwen3.8-27B-F16.gguf \
  --outtype f16

# 4. КВАНТОВАНИЕ
"$LLAMA_DIR/build/bin/llama-quantize" \
  path/qwenHF/out_model/Qwen3.8-27B-F16.gguf \
  path/qwenHF/out_model/Qwen3.8-27B-Q4_K_M.gguf \
  Q4_K_M

Вот и хорошо! Это не сложно!

Используйте uvx / uv run вместо pip / pipenv - будет ещё проще и в 20 раз быстрее. Он сам установит нужную версию --python и зависимости --with / --with-requirements в venv, который сам же и создаст.

сам собрал модель на Q6 , весит < чем модель от unsloth

Unsloth используют пропиетарный фреймворк Dynamic, который, по их измерениям, приводит к меньшей деградации качества - видимо за счёт некоторого увеличения размера модели на выходе. Сейчас там уже третья версия https://unsloth.ai/docs/basics/dynamic-3.0-ggufs . Набор утилит из llama.cpp полезен когда есть чисто академический интерес разобраться в принципах.

Dynamic это не название фреймворка, и даже не алгоритм квантования, а обозначение их рецепта динамического квантования, когда разные тензоры квантуются по разному плюс используется imatrix для суб-динамического квантования внутри тензора. Всё это делается скриптом llama.cpp по кастомной схеме, вместо заранее созданных вроде “Q4_K_M”. В llama-quantize указывается --custom-q "$custom", а сам --custom-q уже может быть динамически настроенным:

custom="
# 64 Repeating Layers [0-63] + blk.64 MTP/nextn tensors

## MTP/nextn tensors
blk\.64\..*\.weight=iq4_ks

## Gated Attention/Delta Net [Blended 0-63]
blk\..*\.attn_gate\.weight=iq4_ks
blk\..*\.attn_qkv\.weight=iq4_ks
blk\..*\.attn_output\.weight=iq4_ks
blk\..*\.attn_q\.weight=iq4_ks
blk\..*\.attn_k\.weight=iq4_ks
blk\..*\.attn_v\.weight=iq4_ks
blk\..*\.ssm_alpha\.weight=q8_0
blk\..*\.ssm_beta\.weight=q8_0
blk\..*\.ssm_out\.weight=q6_0

# Dense Layers [0-63]
blk\..*\.ffn_down\.weight=iq4_ks
blk\..*\.ffn_(gate|up)\.weight=iq4_ks

# Non-Repeating Layers
token_embd\.weight=q6_0
output\.weight=q8_0
"

Матрица важности задается через --imatrix, и качество динамического квантования напрямую зависит от imatrix датасета. Сейчас imatrix используют даже для статического квантования Q4_K_M.

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

И если цель минимальный размер, то стоит смотреть в сторону ik_llama, вот у них как раз именно новые математические алгоритмы квантования, позволяющие тоже качество засунуть в меньший размер. Кванты вроде Q4_K_M или IQ4 созданы не llama.cpp, а ikawrakow, который сейчас в ссоре с ggerganov и поэтому ikawrakow создал форк ik_llama.cpp, где продолжает улучшать алгоритмы квантования и новые SOTA кванты показывают отличные результаты.

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

Если выбирать между TurboQuant и выборочным перебором, где определяется какая часть контекста важна, а какая нет на основе собранного кем-то сценарии, то мало кто выберет второй вариант, если будет знать, что TurboQuant дает математическое решение снижения веса контекста в 2-3 раза без значимых потерь. И ik_llama дает математическое уплотнение, уплотняя упаковку самих данных.

Для тех, кому интересно попробовать:

Всё таки. Вот зачем. Как-то я очень скептично отношусь к локальным моделькам... Да, это почти уровень opus 4.6 умещающийся в видеокарте на 16-24гб, окей, вау, великолепно... Но в чем смысл? Да если по электричеству посчитать загрузку видеокарты под агента условные 24/7 то выйдет те-же 20 долларов подписки если не дороже... Только вот подписка даст не фронтир 8-10 месячной давности а слегка получше модельки. Нет, для каких-то специфичных целей/условий еще туда-сюда, но для повседневного использования...

хобби, обработка данных без утечки, не у всех питание от сети, я себе скоро поставлю солнечные панели и будет кондей крутить + локальные нейронки, rtx3090 бу не так дорого сейчас (лично я себе покупал для игр и работы с 3d, но наступила эра нейронок..) + недавно вышла minimax h3 для генерации видео, на 24гб работает отлично, при этом у меня подписка gpt и видео-генератора там уже нет + доступны модели всегда, даже когда подписка закончилась

не так дорого это под 85 тр в среднем? какое же это недорого :)

у меня была статья на эту тему: Почему Qwen3.6-27B лучше чем Claude? Железная коробка, которая научилась думать - в которой я попробовал сформлировать ответ на Ваш вопрос - "Зачем". И там длинное обсуждение в комментариях, почитайте.

А если в нескольких словах: приватность, стоимость, гарантированное качество ответа, возможность автономной работы, альтернатива монополии биг-теха на интеллект и знания.
Не уверен, что это действительно уровень Opus, но это неважно. Важно то, что она делает то, что мне нужно (нужно именно мне а не какому-то чуваку из Google, OpenAI, кгб, цру, масад, <подставьте свое>) и делает это значительно быстрее, чем могу сделать я сам и с качеством достаточным для выполнения поставленных задач.

Есть модели, которые можно запустить только у себя - никто их не предложит для подписки: например медицинские (MedGemma), или нецензурированные (abliterated, uncensored, ...)

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

Интересно когда выйдет Qwen 3.8 MoE?

Интересно было бы сравнение со свежей Ornith-1.5 35b.

Sign up to leave a comment.

Articles