Локальные языковые модели (LLM)
"Дисклеймер"
Поскольку описывается широкий перечень понятий, некоторые определения и принципы представлены кратко и упрощенно для лучшего понимания. Если ты только пришёл — начни с гайда для новичков в шапке треда, а сюда возвращайся когда появятся конкретные вопросы.
Базовые понятия
Термины
Ниже представлен краткий перечень терминов с упрощенным описанием.
- Веса/модель - сама нейросеть, численные значения параметров ее слоев и конфигурация. Может иметь вид единичного файла (.gguf) или папки с множеством файлов (.safetensors + конфиги).
- Токен - квант информации, слог, слово, группа символов, то как модель видит текст. Ближайшая аналогия - кодировки текста, только на один токен может проходится как группа символов, так и наоборот, несколько токенов на один символ. У каждой модели может использоваться своя таблица токенов, обеспечивающая наиболее эффективное их использование с учетом текста.
- Токенайзер - переводчик текста в токены и обратно. У разных моделей могут быть разные, от них зависит расход токенов на конкретный текст. Поскольку большая часть моделей рассчитаны на английский язык - текст на инглише (или в целом латиннице) потребляет наименьшее количество токенов (в среднем 1-2 на слово), а кириллица может потребовать вдвое больше на тот же объем символов. Эмодзи и специальные символы и вовсе потребуют нескольких токенов на один. Ознакомиться с примером или поиграться можно здесь.
- Контекст - история чата, тот объем текста что модель будет обрабатывать. Включает в себя также и системный промт, карточки персонажей и прочее прочее если речь идет о РП. Размер контекста у модели ограничен, модель "помнит" только то что у нее в контексте. Если ваши поцелуи с вайфу, упоминание важного события в рп, или обозначение какого-то термина в чате вышли за контекст - модель не будет о них помнить и не поймет, или интерпретирует согласно своим общим знаниям. Проблема ограниченного контекста решается суммаризацией, лорбуками, векторными базами данных и другими приёмами. Или просто увеличением контекста.
- Квантование - эффективное lossy сжатие модели, аналогия - h264 для видео.
- Стриминг - выдача ответа в реальном времени, позволяет видеть и читать его сразу вместо ожидания завершения генерации ценой небольшого снижения общей скорости.
- Лаунчер - бек энд, программа которая производит расчеты и обеспечивает работу текстовой нейросети.
- text-generation-webui - программа, обеспечивающая организацию запуска популярных лаунчеров и удобный веб-интерфейс, объединяет в себе и фронт и бек. Наилучшее с точки зрения универсальности и возможностей решение, но так же сложное в установке и обслуживании.
- Убабуга - oobabooga автор text-generation-webui, его же именем часто этот интерфейс и называют
- Жора - Georgi Gerganov автор llama.cpp, наиболее популярного лаунчера для запуска LLM на различных девайсах (и других проектов)
- Таверна - SillyTavern, некогда форк TavernAI сейчас значительно развившийся и превосходящий оригинал. Рекомендуется для использования фронтом для РП, существуют и другие альтернативы.
- Кобольд - kobold_cpp, форк llamacpp объединяющий ее с интерфейсом аналогичным koboldai. Имеет ключевое преимущество в виде простоты установки на windows.
- Обниморда - https://huggingface.co
- Лупы - ситуация, когда модель "ломается" и начинает регулярно в каждом последующем ответе или в одном посте повторяться. Может заключаться в повторении стиля речи, шаблона поста, действий, одинаковых фраз, и вплоть до спама одной буквы.
- Алайнмент модели - смещение ее ответов в определенных условиях в сторону от нейтрального, добавление убеждений и т.п. В большинстве случаев - добавление "человеческих ценностей" чтобы сделать модель "безопасной".
- Соя - алайнмент в сторону "позитивного мышления". Может иметь диапазон от легкого, в котором модель просто предупредит об опасности или негативной оценке запроса, до значительного, в котором модель становится леворадикальным активистом, и напрочь отказывается генерировать любой текст, в котором негры/феминистки/... представляются в негативном свете, или просто жестокий или сексуализированный контент.
Работа LLM
Все что делает текстовая модель - выдает вероятности токенов, которые могли бы продолжить обработанный ею контекст. Последовательно повторяя этот процесс можно получать уже не единичные слоги, а полноценный текст. Есть разные подходы к обработке вероятностей токенов, важны два:
- Жадный энкодинг - берется просто токен с наибольшей вероятностью. Рабочий, но не самый эффективный с точки зрения качества текстов метод, также в нем невозможно получить разнообразные ответы на одинаковый контекст и нет управы на лупы.
- Семплирование - с учетом полученных вероятностей выбирается случайный токен из выдачи. Для обеспечения адекватности результатов, с распределениями вероятностей токенов сначала производится последовательность операций отдельных семплеров, каждый из которых производит их возмущения, или отсекает по определенному критерию.
Отдельно стоит Beam search — альтернативная стратегия декодирования, при которой одновременно отслеживается несколько наиболее вероятных цепочек токенов, а в конце выбирается лучшая. Почитать можно здесь. Ввиду ресурсоёмкости в LLM используется редко.
Семплеров существует множество, вот основные:
- top P - отсекает наименее вероятный токены, сохраняя наиболее вероятные, суммарная вероятность которых будет больше или равна заданному числу. Например, если у нас идут токены с вероятностями 0.5, 0.22, 0.12, 0.02, 0.01, 0.0001, ... и установлен topP 0.8 то далее пройдут первые 3 токена (0.5+0.22+0.12=0.84), а остальные отсечены. Если параметр равен единице то в выдачу попадут все токены.
- top K - оставляет только первые N (установленное значение параметра) токенов упорядоченных по вероятности, отсекая остальные. topK=10 - сохранит первые 10 наиболее вероятных токенов, отсекая остальные.
- min P - отсекает токены с вероятностью minP * (вероятность наиболее вероятного токена). Например, при параметре 0.05 при вероятности 1-го токена 30% отсечет все остальные с вероятностью ниже 1.5%.
- top A - отсекает токены с вероятностью topA*p_max^2 где p_max - вероятность наиболее вероятного токена.
- repetition penalty - при значениях больше 1 дает штраф (зависит от значения) к вероятности токенов, которые уже есть в рассматриваемом диапазоне контекста.
- temperature - при значениях меньше 1 снижает вероятность токенов с меньшей вероятностью (при этом, соответственно, повышая ее для наиболее вероятных делая результат при семплировании ближе к жадному энкодингу). При значении выше наоборот повышает ее, повышая разнообразие. При высоких значениях есть шанс на получение неадекватной выдачи. Установка параметра в ноль превращает выборку в жадную.
Соответственно, обобщенно стандартный процесс семплирования можно представить как отсеивание маловероятных и повторяющихся токенов, и возмущение их вероятности в сторону повышения вероятности для менее вероятных, или наоборот увеличения разрыва между более и менее вероятными. После обработки семплерами проводится розыгрыш из оставшихся токенов с учетом их новых значений вероятности. Более подробно про семплеры почитать можно на обниморде 1 2 или потрогать интерактивно: https://artefact2.github.io/llm-sampling/
Сама работа модели включает себя 2 этапа:
- Сначала происходит обработка контекста (каждый его токен по очереди)
- Далее идет расчет и выдача распределения вероятностей следующего токена.
Производя выбор токена из полученного распределения и последовательно повторяя операцию можно генерировать текст. Обработанный контекст кэшируется чтобы не повторять операцию каждый раз, поэтому саму генерацию текста можно разделить на 2 фазы:
- обработка контекста
- генерация токенов.
Они требуют разных ресурсов что будет важно для производительности, о которой далее. Обработка контекста всегда происходит быстрее генерации, применение видеокарты позволяет ускорить ее на порядки, сделав операцию почти мгновенной. Также контекст кэшируется и между запросами, за счет чего в режиме чата обрабатывается только последние сообщения.
Размер контекста
"Все современные модели имеют размер контекста от 32к токенов и выше, так что ограничение по сути идёт со стороны железа."
Некоторые модели изначально тренируются с очень большим контекстом (32k-128k-1M токенов). При загрузке модели не обязательно сразу задавать весь доступный объем, если не планируется его использование, поскольку на выделение контекста расходуется память (KV-кэш).
Языки, поддержка русского и прочее
Базовым языком для языковых моделей является английский. Большинство современных моделей хорошо понимают русский на входе, однако качество ответов на русском зависит от конкретной модели. Актуальные семейства Qwen3 и Gemma 4 показывают хорошие результаты на русском без дополнительных ухищрений. Файнтюны семейства "Сайга" не рекомендуются в виду их низкого качества.
Виды моделей
По архитектуре
- Dense (плотные) — классическая архитектура: при генерации каждого токена задействованы все параметры модели. Можно запускать полностью на GPU (быстро), делить между VRAM и RAM (медленнее — CPU-часть тормозит), или целиком на CPU (очень медленно). Скорость ограничена тем, что на каждый токен нужно прочитать из памяти все веса.
- MoE (Mixture of Experts, смесь экспертов) — модель разделена на «экспертов», из которых при генерации каждого токена активируется лишь небольшая часть. Например, Qwen3.6-35B-A3B имеет 35B параметров суммарно, но активны лишь 3B за раз. Следствие: MoE-модель быстрее dense-модели с тем же суммарным числом параметров даже при полной загрузке на GPU — просто потому что операций меньше. MoE так же, как и dense, можно делить между VRAM и RAM.
По происхождению
- Базовые - тренированы с нуля, универсальны, наиболее "чистые" и свободные от криворуких улучшателей, однако часто имеют не лучший перфоманс в конкретных темах и ролплее.
- Базовые -chat, -instruct и прочее - по сути файнтюны от разработчиков. Обычно имеют своей целью лучшее следование инструкциям, следование формату чата и общее выравнивание/безопасность. Всегда более соевые, нежели чем базовые версии.
- Файнтюны - дотренировка базовых моделей на определенных датасетах с целью расширения их знаний в какой-то области, придания стиля, добавлению каких-то фич и т.д. В соответствующей теме работают лучше чем базовые. Из-за ошибок в синтетических датасетах или при специальных действиях могут приобрести дополнительную цензуру и аполоджайзы, или наоборот начать "вести себя слишком откровенно".
- (шизо)Мерджы/миксы - смеси файнтюнов с использованием различных техник. Могут показывать неплохие результаты в (эротическом) ролплее, для чего и используются. Ввиду простоты производства их количество огромно, качество разнится. По лучшей на данный момент - спрашивай в треде.
Размер модели и квантование
Запускать текстовые модели можно на видеокарте, на процессоре, а также одновременно на них деля на части. Первое очень быстро, второе (на простом железе) очень медленно, третье - компромисс посередине. Поэтому основным средством запуска остается видеоускоритель.
LLM имеют гораздо большее по сравнению с другими нейросетями число параметров. Модель на 8B параметров в половинной точности (fp16) занимает ~16 гигабайт, плюс память на контекст и вычисления.
Однако текстовые модели подвержены гораздо меньшей деградации при снижении точности весов. Объем распределяется между разными частями модели, давая большую точность значимым участкам и жертвуя менее важными. Таким образом, можно снизить точность до ~4 бит, сохранив основной функционал и качество. Такой процесс называют квантованием.
При квантовании может использоваться матрица важности (importance matrix, или Imatrix) — для разных весов используется разная точность, что более эффективно распределяет доступную битность. Применимо к форматам GGUF и EXL2.
question "По поводу квантованных моделей существует множество споров"
касающихся вызванной этим деградацией, ухудшением качества, оптимальных алгоритмов и прочее. Убедительных доказательств значительного ухудшения (если не брать совсем лоботомию до 2.5 бит), или наоборот полного сохранения перфоманса представлено не было.
Есть несколько известных фактов:
- Результаты модели, квантованной в 8 бит практически не имеют отличий от 16 битной
- Большие модели лучше переносят квантование даже в малые битности (~3 бита), тогда как на малых заметная деградация может проявиться уже на 4х или более.
- Квантованные (особенно в малую битность) модели малопригодны для обучения.
- Нижняя граница качества зависит от размера модели: на больших (70B+) IQ2-кванты (~2.5 бит) могут работать приемлемо, на маленьких (7-8B) деградация заметна уже на Q3.
Форматы моделей
Все описанные форматы кроме GGUF распространяются папкой, в которой лежат как веса модели (файлы .bin или .safetensors), так и конфигурационные файлы json, токенизаторы и прочее. То есть для gguf достаточно скачать 1 файл (или все файлы в случае разделения большой модели на несколько), а для остальных форматов необходимо скачать весь каталог с моделью.
Выбор формата зависит от железа и лаунчера:
| Формат | Где запускать | Кому подходит |
|---|---|---|
| GGUF | llama.cpp, KoboldCPP | Всем — CPU, GPU, смешанный режим |
| EXL2 | Exllama2, tabbyAPI | GPU-only (NVIDIA), быстрее GGUF при равном железе |
| GPTQ | Exllama2, AutoGPTQ | GPU-only, старый формат, встречается реже новых моделей |
| SafeTensors / BF16 | vLLM, transformers, text-gen-webui | Нужен для inference-серверов и обучения |
| AWQ | AutoAWQ | GPU-only, встречается редко, не рекомендуется |
Для большинства пользователей — GGUF. Если у тебя NVIDIA с достаточным VRAM и нужна максимальная скорость — смотри в сторону EXL2.
Веса huggingface, pytorch_model-xxx-of-yyy.bin
Оригинальные неквантованные веса, могут быть запущены с помощью Transformers. Обычному нужен чтобы про него почитать и забыть. После прямой конверсии в safetensors оригинальные веса могут быть запущены с помощью Exllama 2 в fp16.
GGUF
Формат для Llamacpp, может быть запущен на процессоре, на видеокарте, на процессоре и видеокарте совместно, на маках с их общей памятью и ускорением и прочем.
Используется также во всяких форках llamacpp (kobold_cpp, ...). Основной формат для большинства пользователей, особенно если VRAM ограничена — позволяет частично держать модель в RAM.
Размер кванта обознается как qN_K_M, где N — битность, K — версия формата, буква после K — подквант (S/M/L). Из плюсов — все в одном файле. Квантованные с imatrix версии обычно помечены как -imat- в названии.
Версии формата:
- Legacy (
q4_0,q4_1и т.п.) Старые кванты, не рекомендуются (исключение - Q8_0). - K-quants (
q4_K_M,q5_K_Mи т.п.) Рекомендуется. Подкванты: S - поменьше размером но пониже точностью, M - побольше но поточнее. Для старта рекомендуется Q4_K_M или Q5_K_M. - I-quants (
IQ3_XXS,IQ4_XS) Самый свежий тип квантов. Меньший размер, но в 2-3 раза медленнее на CPU.
GPTQ
Один из первых форматов квантованной модели. Может быть выполнен в 3, 4 и 8 бит. Запускается через Exllama2.
AWQ
Более новый формат для видеокарты. Формат относительно редкий и не рекомендуется к скачиванию.
EXL2
Формат для лаунчера Exllama2. Позволяет делать квантование в произвольную битность с обязательным использованием матрицы важности. Работает только на видеокарте. Если доступен — предпочтительнее GPTQ.
Лаунчеры
Основные лаунчеры для домашнего использования — llama.cpp и Exllama2. Для серверного деплоя существует vLLM, для удобного UI поверх — tabbyAPI (Exllama2) и text-generation-webui (оба движка).
По скорости при прочих равных положение следующее:
- Exllama2 быстрее в ~1.2-2 раза чем Llamacpp (на амперах и новее), требует меньше памяти на ту же битность и тот же контекст.
- Llamacpp с полной выгрузкой слоев на видеокарту. Медленнее exllama и не так эффективно, но все еще очень быстро.
- Llamacpp с частичной выгрузкой слоев на гпу. Чем их меньше и чем слабее карточка тем медленнее. Можно использовать видеокарту для ускорения обработки контекста.
- Llamacpp только на процессоре. Оно того не стоит — после выхода на максимальный контекст в рп он будет пересчитываться каждый раз.
Потребление памяти и скорость зависит также и от контекста. В случае exllama2 (с работающим flash attention) расход на него заметно меньше, и обрабатывается он быстрее.
Список актуальных семейств
LLaMA (Meta)
Серия моделей от Meta. Из Llama 3 актуальны версии 3.1 и 3.3 в размерах 8B и 70B. На базе LLaMA существует огромное количество файнтюнов и миксов — основа большей части локального RP-сообщества. Актуальность конкретных версий быстро меняется — уточняй в треде.
- HuggingFace: https://huggingface.co/meta-llama
Qwen (Alibaba)
Семейство моделей от Alibaba, одно из наиболее актуальных на данный момент. Хорошо работает с русским языком. Включает несколько поколений:
- Qwen3 — dense-модели 0.6B, 1.7B, 4B, 8B, 14B, 32B; MoE-модели 30B-A3B и 235B-A22B. Контекст 128k.
- Qwen3.5 — обновлённые версии: 4B и 9B с мультимодальностью (видение).
- Qwen3.6 — 27B (dense) и 35B-A3B (MoE). Контекст 128k.
Для большинства случаев актуален Qwen3-8B или Qwen3.6-27B. Периодически может выдавать иероглифы в чате — лечится системным промтом.
- HuggingFace: https://huggingface.co/Qwen
Gemma 4 (Google)
Актуальное семейство от Google. Нативно мультимодальная — умеет работать с изображениями из коробки. Хорошо понимает русский.
- Gemma 4 31B (dense) — основная модель, конкурирует с лучшими открытыми моделями в своём классе. Q4_K_M ~18GB.
- Gemma 4 26B-A4B (MoE, 4B активных) — позволяет запускать «большую» модель на скромном железе. Q4_K_M ~17GB суммарно, но можно делить между VRAM и RAM.
"Gemma 4 E2B и E4B (5B и 8B) существуют, но для RP и серьёзного использования слишком малы."
- HuggingFace: https://huggingface.co/google
Mistral (Mistral AI)
Французская компания, выпускающая сильные модели относительно небольшого размера. Актуальны:
- Mistral Small 3.1 — 24B, хороший баланс размера и качества, мультимодальный.
- Mistral NeMo — 12B, разработан совместно с NVIDIA, контекст 128k.
MoE-модели Mixtral (8x7B и 8x22B) устарели, но всё ещё работоспособны.
- HuggingFace: https://huggingface.co/mistralai
DeepSeek (DeepSeek AI)
Китайская лаборатория, выпустившая ряд громких моделей. Актуальны:
- DeepSeek-V3 — 671B MoE (37B активных), исключительное качество. Требует много ресурсов даже в квантах, но Q2-Q3 версии запускаются на 2-3 видеокартах.
- DeepSeek-R1 — reasoning-модель на 671B (аналогично), дистилляты R1 на базе Qwen3 и LLaMA доступны в размерах 8B-70B.
- HuggingFace: https://huggingface.co/deepseek-ai
Microsoft Phi
В четвёртом поколении (Phi-4) насчитывает 14B параметров с контекстом 16k. Для своих размеров хороша, подойдёт совсем нищебродам с калькулятором вместо ПК. Отличается запредельным уровнем сои.
- HuggingFace: https://huggingface.co/microsoft
Мультимодальные модели
Мультимодальные модели умеют обрабатывать не только текст, но и изображения на входе. Сейчас это уже не экзотика — многие актуальные модели имеют vision-версии или являются нативно мультимодальными.
Актуальные варианты:
- Gemma 4 (все версии) — нативно мультимодальная, одна из лучших в классе по работе с изображениями среди открытых моделей.
- Qwen3.5-VL — vision-версии Qwen3.5 (4B и 9B), хорошо справляются с анализом изображений.
- Llama 3.2 — 11B и 90B vision-версии от Meta.
- Mistral Small 3.1 — мультимодальный, 24B.
Для запуска мультимодальных моделей в llama.cpp/KoboldCPP необходимо дополнительно скачать mmproj-файл (проектор для изображений) из той же репы на HuggingFace.
Ссылки на модели и гайды
Где скачать кванты
https://huggingface.co/bartowski — основной поставщик GGUF-квантов на сегодня, квантует большинство актуальных моделей с imatrix
https://huggingface.co/mradermacher — альтернативный поставщик квантов, большой выбор
https://huggingface.co/LoneStriker — ещё один поставщик, в том числе EXL2
https://huggingface.co/TheBloke — исторически главный поставщик квантов, перестал обновляться в феврале 2024 года
Списки и рейтинги моделей
https://rentry.co/2ch_llm_moe_2026 Актуальный список моделей с отзывами тредовичков
https://rentry.co/2ch_llm_2025 Список 2025 года
https://huggingface.co/spaces/DontPlanToEnd/UGI-Leaderboard Рейтинг моделей по уровню цензуры
https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard Сравнение моделей по бенчмаркам
https://chat.lmsys.org/?leaderboard Сравнение моделей на "арене" реальными пользователями
Гайды и прочее
https://rentry.org/2ch-llama-inference Гайд для новичков
https://rentry.co/STAI-Termux Запуск SillyTavern на телефоне через Termux
https://rentry.co/llm-training Гайд по обучению своей лоры
https://rentry.co/2ch-pygma-thread Шапка треда PygmalionAI, можно найти много интересного
https://huggingface.co/sphiratrioth666/SillyTavern-Presets-Sphiratrioth Пресеты для таверны для ролеплея
https://colab.research.google.com/drive/11U-bC6AxdmMhd3PF9vWZpLdi6LdfnBQ8?usp=sharing Последний известный колаб для обладателей отсутствия любых возможностей запустить локально
Миксы с уклоном в русский RP
https://huggingface.co/Aleteian
https://huggingface.co/Moraliane
Факультатив
https://rentry.co/Jarted Почитать, как трансгендеры пидарасы пытаются пиздить код белых господинов, но обсираются и получают заслуженную порцию мочи