LLM: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
[Категория:LLM]
+
[[Категория:LLM]]
[Категория:LMStudio]
+
[[Категория:LMStudio]]
[Категория:Open WebUI]
+
[[Категория:Open WebUI]]
   
 
=LLM=
 
=LLM=
Строка 46: Строка 46:
   
 
Это способ хранения весов модели в более компактном виде.
 
Это способ хранения весов модели в более компактном виде.
  +
<BR>
 
  +
Идея простая: без квантования модель занимает очень много памяти, квантование сжимает веса ,за это иногда платишь качеством
Идея простая:
 
  +
<BR>
 
без квантования модель занимает очень много памяти
 
квантование сжимает веса
 
за это иногда платишь качеством
 
 
 
Общее правило:
 
Общее правило:
   
4-bit — самый популярный практический вариант
+
* 4-bit — самый популярный практический вариант сильно экономит память, обычно хорош для локального запуска
  +
* 6-bit / 8-bit — качество чуть лучше но ест больше памяти работает медленнее или просто тяжелее для системы
сильно экономит память
 
  +
<BR>
обычно хорош для локального запуска
 
  +
* меньше бит → меньше RAM/VRAM → быстрее/легче запустить
6-bit / 8-bit — качество чуть лучше
 
  +
* больше бит → качество ближе к оригиналу → тяжелее
но ест больше памяти
 
  +
<BR>
работает медленнее или просто тяжелее для системы
 
 
Грубо:
 
 
меньше бит → меньше RAM/VRAM → быстрее/легче запустить
 
больше бит → качество ближе к оригиналу → тяжелее
 
 
 
Для локального использования это один из самых важных параметров.
 
Для локального использования это один из самых важных параметров.
   
3) Формат модели: MLX, GGUF, иногда другие
+
==Формат модели==
  +
* MLX
  +
* GGUF
  +
* другие
   
Это не “умность” модели, а формат/движок, в котором она запускается.
+
Это формат/движок, в котором она запускается.
   
Для тебя на Mac M-серии главное:
 
   
MLX
 
   
Формат/экосистема, хорошо заточенная под Apple Silicon.
+
* MLX - Формат/экосистема, хорошо заточенная под Apple Silicon.
  +
** лучше подходит для M-чипов
  +
** лучше использует Apple GPU / unified memory
  +
** часто самый логичный выбор на Mac
   
  +
* GGUF
Обычно:
 
  +
* Очень популярный универсальный формат для llama.cpp.
  +
** огромный выбор моделей
  +
** много квантовок
  +
** отличная совместимость
  +
** на Mac M-серии не всегда лучший вариант по производительности по сравнению с хорошим MLX-портом
   
  +
==Context window==
лучше подходит для M-чипов
 
лучше использует Apple GPU / unified memory
 
часто самый логичный выбор на Mac
 
GGUF
 
 
Очень популярный универсальный формат для llama.cpp.
 
 
Плюсы:
 
 
огромный выбор моделей
 
много квантовок
 
отличная совместимость
 
 
Минус:
 
 
на Mac M-серии не всегда лучший вариант по производительности по сравнению с хорошим MLX-портом
 
4) Context window: 8K, 32K, 128K, 256K
 
   
  +
* 8K
  +
* 32K
  +
* 128K
  +
* 256K
  +
<BR>
 
Это сколько текста модель может “держать в голове” в одном запросе.
 
Это сколько текста модель может “держать в голове” в одном запросе.
  +
<BR>
  +
Примеры: промпт, история чата, вставленные документы, код, системная инструкция - се это вместе занимает контекст.
   
  +
Что это значит на практике?
Примеры:
 
  +
<BR>
 
  +
* 8K — обычный чат, короткие задачи
твой промпт
 
  +
* 32K — уже можно давать длинные тексты
история чата
 
вставленные документы
+
* 128K — большие документы, длинные диалоги
  +
* 256K+ — очень длинные документы/кодовые базы
код
 
системная инструкция
 
 
Все это вместе занимает контекст.
 
 
Что это значит на практике
 
8K — обычный чат, короткие задачи
 
32K — уже можно давать длинные тексты
 
128K — большие документы, длинные диалоги
 
256K+ — очень длинные документы/кодовые базы
 
   
 
Но есть важный нюанс:
 
Но есть важный нюанс:
Строка 126: Строка 107:
 
требует больше памяти
 
требует больше памяти
 
замедляет работу
 
замедляет работу
5) Base vs Instruct / Chat
 
   
  +
==Base vs Instruct / Chat ==
Это очень важно.
 
   
Base model
 
   
  +
==Base model==
“Сырая” модель после общего обучения.
 
  +
<BR>
  +
"Сырая" модель после общего обучения.
  +
<BR>
 
Она знает язык, факты, паттерны, но не всегда хорошо следует инструкциям.
 
Она знает язык, факты, паттерны, но не всегда хорошо следует инструкциям.
   
Instruct / Chat model
+
==Instruct / Chat model==
   
Доработанная модель, которую специально учили:
+
Доработанная модель, которую специально учили
  +
  +
* отвечать на вопросы
  +
* следовать инструкциям
  +
* вести диалог
   
отвечать на вопросы
 
следовать инструкциям
 
вести диалог
 
не уходить в странный текстоген
 
   
 
Для обычного пользователя почти всегда нужна именно:
 
Для обычного пользователя почти всегда нужна именно:
   
Instruct
+
* Instruct
Chat
+
* Chat
иногда Assistant
+
* иногда Assistant
   
  +
==Multimodal / Vision==
Если ты хочешь чат в LM Studio — обычно берёшь instruct/chat, а не base.
 
 
6) Multimodal / Vision
 
   
 
Некоторые модели умеют не только текст.
 
Некоторые модели умеют не только текст.
   
Например:
 
 
текст + изображение
 
иногда аудио
 
   
 
Если у модели есть vision, это значит, что ей можно дать картинку и спросить:
 
Если у модели есть vision, это значит, что ей можно дать картинку и спросить:
   
что на фото
+
* что на фото
что на скриншоте
+
* что на скриншоте
что в диаграмме
+
* что в диаграмме
распознать UI и так далее
+
* распознать UI и так далее
   
  +
==Reasoning / Thinking==
Если такого нет — модель только текстовая.
 
  +
Сейчас у некоторых семейств моделей есть режимы thinking” или reasoning-oriented.
   
  +
* лучше справляется со сложными задачами
7) Reasoning / Thinking
 
  +
* лучше в многошаговом анализе
  +
* медленнее
  +
* дороже по токенам
   
  +
==Tool use / Function calling / JSON mode==
Сейчас у некоторых семейств моделей есть режимы “thinking” или reasoning-oriented.
 
 
Это значит, что модель:
 
 
лучше справляется со сложными задачами
 
лучше в многошаговом анализе
 
но обычно:
 
медленнее
 
дороже по токенам
 
не всегда нужен для простого чата
 
 
Для бытового чата reasoning не обязателен.
 
Для кода, сложной логики, анализа — часто полезен.
 
 
8) Tool use / Function calling / JSON mode
 
 
Это уже ближе к агентам и интеграциям.
 
 
Tool calling
 
 
Модель умеет не просто ответить текстом, а сказать:
 
 
“вызови вот этот инструмент”
 
“сходи в API”
 
“выполни функцию с такими аргументами”
 
   
  +
* "вызови вот этот инструмент"
  +
* "сходи в API"
  +
*"выполни функцию с такими аргументами"
 
Это полезно для агентов.
 
Это полезно для агентов.
   
JSON mode / Structured output
+
===JSON mode / Structured output===
 
 
Модель умеет стабильно отвечать в виде JSON.
 
Модель умеет стабильно отвечать в виде JSON.
  +
<BR>
 
  +
* автоматизацию
Полезно, если ты хочешь:
 
  +
* интеграции
 
  +
* пайплайны
автоматизацию
 
  +
* обработку ответов программой
интеграции
 
  +
<BR>
пайплайны
 
обработку ответов программой
 
 
Для обычного чата не критично.
 
 
Для агентов — очень полезно.
 
Для агентов — очень полезно.
   
9) Dense vs MoE
+
==Dense vs MoE==
 
Это уже следующий уровень, но полезно знать.
 
 
Dense
 
   
  +
===Dense===
 
Обычная модель: при генерации работает вся сеть.
 
Обычная модель: при генерации работает вся сеть.
   
MoE (Mixture of Experts)
+
===MoE (Mixture of Experts)===
   
 
Модель состоит из нескольких “экспертов”, но на каждом токене активируется только часть.
 
Модель состоит из нескольких “экспертов”, но на каждом токене активируется только часть.
  +
<BR>
 
  +
* модель может вести себя как более крупная
Что это даёт:
 
  +
* при этом вычислительно может быть дешевле полной dense-модели такого же общего размера
 
  +
<BR>
модель может вести себя как более крупная
 
при этом вычислительно может быть дешевле полной dense-модели такого же общего размера
 
 
 
Но названия MoE часто сбивают с толку.
 
Но названия MoE часто сбивают с толку.
 
Например, условное 8x7B — это не просто “56B как обычная dense”. Там интерпретация сложнее.
 
Например, условное 8x7B — это не просто “56B как обычная dense”. Там интерпретация сложнее.
  +
<BR>
 
 
Для начала можно просто помнить:
 
Для начала можно просто помнить:
  +
<BR>
  +
* dense — проще понять
  +
* MoE — хитрее устроены, иногда очень выгодны
   
  +
=Параметры запуска модели=
dense — проще понять
 
MoE — хитрее устроены, иногда очень выгодны
 
10) Лицензия
 
 
Это не влияет на качество, но влияет на использование.
 
 
Например:
 
 
можно ли коммерчески использовать
 
можно ли в компании
 
можно ли дообучать
 
можно ли распространять
 
 
Для домашнего чата часто неважно.
 
Для рабочих сценариев — уже важно.
 
 
2. Параметры запуска модели
 
   
 
Теперь вторая группа — это то, что ты меняешь при генерации ответа.
 
Теперь вторая группа — это то, что ты меняешь при генерации ответа.
Строка 258: Строка 195:
 
Они не меняют саму модель, а меняют её поведение в момент ответа.
 
Они не меняют саму модель, а меняют её поведение в момент ответа.
   
Temperature
+
==Temperature==
   
 
Насколько ответ будет “творческим” и вариативным.
 
Насколько ответ будет “творческим” и вариативным.
Строка 273: Строка 210:
 
код, точность, извлечение фактов → пониже
 
код, точность, извлечение фактов → пониже
 
идеи, стиль, креатив → повыше
 
идеи, стиль, креатив → повыше
  +
Top-p
 
  +
==Top-p==
   
 
Ещё один способ ограничить случайность.
 
Ещё один способ ограничить случайность.
Строка 289: Строка 227:
 
Новичку часто достаточно не трогать top-p.
 
Новичку часто достаточно не трогать top-p.
   
Max tokens
+
==Max tokens==
 
 
Максимальная длина ответа.
 
Максимальная длина ответа.
   
мало → ответ может обрезаться
+
* мало → ответ может обрезаться
много → ответ длиннее, но дороже/медленнее
+
* много → ответ длиннее, но дороже/медленнее
  +
Seed
 
  +
==Seed==
   
 
Фиксирует случайность.
 
Фиксирует случайность.
Строка 303: Строка 241:
 
Полезно для тестов.
 
Полезно для тестов.
   
Stop sequences
+
==Stop sequences==
   
 
Говоришь модели, где остановиться.
 
Говоришь модели, где остановиться.
Строка 309: Строка 247:
 
Полезно в автоматизации и специальных форматах вывода.
 
Полезно в автоматизации и специальных форматах вывода.
   
Repeat penalty / frequency penalty / presence penalty
+
==Repeat penalty / frequency penalty / presence penalty==
   
 
Это способы бороться с:
 
Это способы бороться с:
Строка 342: Строка 280:
 
4bit — квантована для экономии памяти
 
4bit — квантована для экономии памяти
 
mlx — формат, удобный для Mac M-серии
 
mlx — формат, удобный для Mac M-серии
Для твоего Mac M4 48GB базовое правило
 
 
На твоей машине обычно логично смотреть сначала на:
 
 
8B–14B — как комфортная база
 
27B–32B — если хочешь лучшее качество и готов к меньшей скорости
 
MLX — как первый выбор на Apple Silicon
 
Instruct/Chat, а не Base
 
4-bit — как нормальная стартовая квантовка
 
 
Дальше лучше разбирать уже на живых примерах.
 
Например, взять 3 реальные строки из LM Studio и я расшифрую каждую по частям.
 
=Квантование (Q)=
 
В названиях моделей, помимо размера (например, 24b), мы часто встретим суффиксы вроде Q4_K_M. Это значит, что модель квантована — сжата с некоторой потерей качества как JPEG, только не для изображений, а для нейросетей.
 
Все модели, доступные для скачивания через LM Studio, уже идут в квантованном виде — это позволяет запускать их на обычном потребительском железе, без серверных GPU.
 
Квантование — это компромисс между точностью и производительностью: модель занимает меньше памяти, работает быстрее, но может немного терять в качестве.
 
<BR>
 
А пока достаточно запомнить:
 
чем выше цифра после Q — тем точнее модель, но тем тяжелее она запускается. Q8 - сохраняет наибольшее качество, но требует больше VRAM. Q2 и Q3 - слишком шакалье сжатие. Оптимальный компромисс — Q4_K_M или Q5_K_M.
 
<BR>
 

Текущая версия на 12:52, 2 апреля 2026


LLM

Есть 2 вида параметров (неочевидно)

  • параметры самой модели
  • параметры запуска модели

Параметры самой модели

Это то, что модель из себя представляет.

Размер модели

  • 7B, 14B, 27B, 70B

B = billions, миллиарды параметров чем число больше, тем модель обычно:

  • умнее
  • лучше держит сложные инструкции
  • лучше пишет код
  • лучше рассуждает
  • медленнее
  • требует больше памяти
  • сильнее грузит железо

Очень грубо:

  • 7B–8B — быстрые, лёгкие
  • 12B–14B — хороший баланс
  • 27B–32B — уже заметно качественнее, но тяжелее
  • 70B+ — топ по качеству, но локально уже дорого


Когда говорят "модель 14B", это значит не "14 миллиардов настроек для пользователя",
а что внутри сети около 14 млрд чисел, которые определяют её поведение.

Квантование

  • 4-bit
  • 5-bit
  • 6-bit
  • 8-bit

Это способ хранения весов модели в более компактном виде.
Идея простая: без квантования модель занимает очень много памяти, квантование сжимает веса ,за это иногда платишь качеством
Общее правило:

  • 4-bit — самый популярный практический вариант сильно экономит память, обычно хорош для локального запуска
  • 6-bit / 8-bit — качество чуть лучше но ест больше памяти работает медленнее или просто тяжелее для системы


  • меньше бит → меньше RAM/VRAM → быстрее/легче запустить
  • больше бит → качество ближе к оригиналу → тяжелее


Для локального использования это один из самых важных параметров.

Формат модели

  • MLX
  • GGUF
  • другие

Это формат/движок, в котором она запускается.


  • MLX - Формат/экосистема, хорошо заточенная под Apple Silicon.
    • лучше подходит для M-чипов
    • лучше использует Apple GPU / unified memory
    • часто самый логичный выбор на Mac
  • GGUF
  • Очень популярный универсальный формат для llama.cpp.
    • огромный выбор моделей
    • много квантовок
    • отличная совместимость
    • на Mac M-серии не всегда лучший вариант по производительности по сравнению с хорошим MLX-портом

Context window

  • 8K
  • 32K
  • 128K
  • 256K


Это сколько текста модель может “держать в голове” в одном запросе.
Примеры: промпт, история чата, вставленные документы, код, системная инструкция - се это вместе занимает контекст.

Что это значит на практике?

  • 8K — обычный чат, короткие задачи
  • 32K — уже можно давать длинные тексты
  • 128K — большие документы, длинные диалоги
  • 256K+ — очень длинные документы/кодовые базы

Но есть важный нюанс:

большой контекст != лучшее понимание всего текста Модель может технически принять 128K, но качество внимания к самым ранним частям текста может быть неидеальным.

Плюс большой контекст:

требует больше памяти замедляет работу

Base vs Instruct / Chat

Base model


"Сырая" модель после общего обучения.
Она знает язык, факты, паттерны, но не всегда хорошо следует инструкциям.

Instruct / Chat model

Доработанная модель, которую специально учили

  • отвечать на вопросы
  • следовать инструкциям
  • вести диалог


Для обычного пользователя почти всегда нужна именно:

  • Instruct
  • Chat
  • иногда Assistant

Multimodal / Vision

Некоторые модели умеют не только текст.


Если у модели есть vision, это значит, что ей можно дать картинку и спросить:

  • что на фото
  • что на скриншоте
  • что в диаграмме
  • распознать UI и так далее

Reasoning / Thinking

Сейчас у некоторых семейств моделей есть режимы thinking” или reasoning-oriented.

  • лучше справляется со сложными задачами
  • лучше в многошаговом анализе
  • медленнее
  • дороже по токенам

Tool use / Function calling / JSON mode

  • "вызови вот этот инструмент"
  • "сходи в API"
  • "выполни функцию с такими аргументами"

Это полезно для агентов.

JSON mode / Structured output

Модель умеет стабильно отвечать в виде JSON.

  • автоматизацию
  • интеграции
  • пайплайны
  • обработку ответов программой


Для агентов — очень полезно.

Dense vs MoE

Dense

Обычная модель: при генерации работает вся сеть.

MoE (Mixture of Experts)

Модель состоит из нескольких “экспертов”, но на каждом токене активируется только часть.

  • модель может вести себя как более крупная
  • при этом вычислительно может быть дешевле полной dense-модели такого же общего размера


Но названия MoE часто сбивают с толку. Например, условное 8x7B — это не просто “56B как обычная dense”. Там интерпретация сложнее.
Для начала можно просто помнить:

  • dense — проще понять
  • MoE — хитрее устроены, иногда очень выгодны

Параметры запуска модели

Теперь вторая группа — это то, что ты меняешь при генерации ответа.

Они не меняют саму модель, а меняют её поведение в момент ответа.

Temperature

Насколько ответ будет “творческим” и вариативным.

низкая (0.0–0.3) более предсказуемо, сухо, стабильно средняя (0.5–0.8) нормальный баланс высокая (1.0+) больше разнообразия, но больше странностей

Практика:

код, точность, извлечение фактов → пониже идеи, стиль, креатив → повыше

Top-p

Ещё один способ ограничить случайность.

Проще всего так:

temperature = “насколько смело фантазировать” top-p = “из какого круга вероятных слов вообще можно выбирать”

Обычно:

либо просто трогаешь temperature либо очень аккуратно меняешь top-p

Новичку часто достаточно не трогать top-p.

Max tokens

Максимальная длина ответа.

  • мало → ответ может обрезаться
  • много → ответ длиннее, но дороже/медленнее

Seed

Фиксирует случайность.

Если seed одинаковый и остальные настройки те же, можно получить более воспроизводимый результат.

Полезно для тестов.

Stop sequences

Говоришь модели, где остановиться.

Полезно в автоматизации и специальных форматах вывода.

Repeat penalty / frequency penalty / presence penalty

Это способы бороться с:

повторениями зацикливанием однообразием

Трогать их на старте обычно не нужно.

Что важнее всего для выбора модели

Если совсем по-простому, для тебя самые важные поля — вот эти:

размер модели — 8B, 14B, 27B квантование — 4-bit, 6-bit, 8-bit формат — MLX или GGUF контекст — 32K, 128K тип — Instruct/Chat или Base есть ли vision / tool use / reasoning Очень короткая шпаргалка

Когда видишь что-то вроде:

qwen3-14b-instruct-4bit-mlx

это можно читать так:

qwen3 — семейство модели 14b — размер instruct — обучена для диалога и инструкций 4bit — квантована для экономии памяти mlx — формат, удобный для Mac M-серии