LLM: различия между версиями
Sirmax (обсуждение | вклад) (→LLM) |
Sirmax (обсуждение | вклад) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | [Категория:LLM] |
+ | [[Категория:LLM]] |
| − | [Категория:LMStudio] |
+ | [[Категория:LMStudio]] |
| − | [Категория:Open WebUI] |
+ | [[Категория:Open WebUI]] |
=LLM= |
=LLM= |
||
| + | |||
| − | =Квантование (Q)= |
||
| + | Есть 2 вида параметров (неочевидно) |
||
| − | В названиях моделей, помимо размера (например, 24b), мы часто встретим суффиксы вроде Q4_K_M. Это значит, что модель квантована — сжата с некоторой потерей качества как JPEG, только не для изображений, а для нейросетей. |
||
| + | * параметры самой модели |
||
| − | Все модели, доступные для скачивания через LM Studio, уже идут в квантованном виде — это позволяет запускать их на обычном потребительском железе, без серверных GPU. |
||
| + | * параметры запуска модели |
||
| − | Квантование — это компромисс между точностью и производительностью: модель занимает меньше памяти, работает быстрее, но может немного терять в качестве. |
||
| + | |||
| + | =Параметры самой модели= |
||
| + | |||
| + | Это то, что модель из себя представляет. |
||
| + | |||
| + | ==Размер модели== |
||
| + | * 7B, 14B, 27B, 70B |
||
| + | |||
| + | B = billions, миллиарды параметров |
||
| + | чем число больше, тем модель обычно: |
||
| + | * умнее |
||
| + | * лучше держит сложные инструкции |
||
| + | * лучше пишет код |
||
| + | * лучше рассуждает |
||
| + | * медленнее |
||
| + | * требует больше памяти |
||
| + | * сильнее грузит железо |
||
| + | |||
| + | Очень грубо: |
||
| + | |||
| + | * 7B–8B — быстрые, лёгкие |
||
| + | * 12B–14B — хороший баланс |
||
| + | * 27B–32B — уже заметно качественнее, но тяжелее |
||
| + | * 70B+ — топ по качеству, но локально уже дорого |
||
| + | |||
<BR> |
<BR> |
||
| + | Когда говорят "модель 14B", это значит не "14 миллиардов настроек для пользователя", <BR> |
||
| − | А пока достаточно запомнить: |
||
| + | а что внутри сети около 14 млрд чисел, которые определяют её поведение. |
||
| − | чем выше цифра после Q — тем точнее модель, но тем тяжелее она запускается. Q8 - сохраняет наибольшее качество, но требует больше VRAM. Q2 и Q3 - слишком шакалье сжатие. Оптимальный компромисс — Q4_K_M или Q5_K_M. |
||
| + | </BR> |
||
| + | |||
| + | ==Квантование== |
||
| + | * 4-bit |
||
| + | * 5-bit |
||
| + | * 6-bit |
||
| + | * 8-bit |
||
| + | |||
| + | Это способ хранения весов модели в более компактном виде. |
||
<BR> |
<BR> |
||
| + | Идея простая: без квантования модель занимает очень много памяти, квантование сжимает веса ,за это иногда платишь качеством |
||
| + | <BR> |
||
| + | Общее правило: |
||
| + | |||
| + | * 4-bit — самый популярный практический вариант сильно экономит память, обычно хорош для локального запуска |
||
| + | * 6-bit / 8-bit — качество чуть лучше но ест больше памяти работает медленнее или просто тяжелее для системы |
||
| + | <BR> |
||
| + | * меньше бит → меньше RAM/VRAM → быстрее/легче запустить |
||
| + | * больше бит → качество ближе к оригиналу → тяжелее |
||
| + | <BR> |
||
| + | Для локального использования это один из самых важных параметров. |
||
| + | |||
| + | ==Формат модели== |
||
| + | * MLX |
||
| + | * GGUF |
||
| + | * другие |
||
| + | |||
| + | Это формат/движок, в котором она запускается. |
||
| + | |||
| + | |||
| + | |||
| + | * MLX - Формат/экосистема, хорошо заточенная под Apple Silicon. |
||
| + | ** лучше подходит для M-чипов |
||
| + | ** лучше использует Apple GPU / unified memory |
||
| + | ** часто самый логичный выбор на Mac |
||
| + | |||
| + | * GGUF |
||
| + | * Очень популярный универсальный формат для llama.cpp. |
||
| + | ** огромный выбор моделей |
||
| + | ** много квантовок |
||
| + | ** отличная совместимость |
||
| + | ** на Mac M-серии не всегда лучший вариант по производительности по сравнению с хорошим MLX-портом |
||
| + | |||
| + | ==Context window== |
||
| + | |||
| + | * 8K |
||
| + | * 32K |
||
| + | * 128K |
||
| + | * 256K |
||
| + | <BR> |
||
| + | Это сколько текста модель может “держать в голове” в одном запросе. |
||
| + | <BR> |
||
| + | Примеры: промпт, история чата, вставленные документы, код, системная инструкция - се это вместе занимает контекст. |
||
| + | |||
| + | Что это значит на практике? |
||
| + | <BR> |
||
| + | * 8K — обычный чат, короткие задачи |
||
| + | * 32K — уже можно давать длинные тексты |
||
| + | * 128K — большие документы, длинные диалоги |
||
| + | * 256K+ — очень длинные документы/кодовые базы |
||
| + | |||
| + | Но есть важный нюанс: |
||
| + | |||
| + | большой контекст != лучшее понимание всего текста |
||
| + | Модель может технически принять 128K, но качество внимания к самым ранним частям текста может быть неидеальным. |
||
| + | |||
| + | Плюс большой контекст: |
||
| + | |||
| + | требует больше памяти |
||
| + | замедляет работу |
||
| + | |||
| + | ==Base vs Instruct / Chat == |
||
| + | |||
| + | Это очень важно. |
||
| + | |||
| + | Base model |
||
| + | |||
| + | “Сырая” модель после общего обучения. |
||
| + | Она знает язык, факты, паттерны, но не всегда хорошо следует инструкциям. |
||
| + | |||
| + | Instruct / Chat model |
||
| + | |||
| + | Доработанная модель, которую специально учили: |
||
| + | |||
| + | отвечать на вопросы |
||
| + | следовать инструкциям |
||
| + | вести диалог |
||
| + | не уходить в странный текстоген |
||
| + | |||
| + | Для обычного пользователя почти всегда нужна именно: |
||
| + | |||
| + | Instruct |
||
| + | Chat |
||
| + | иногда Assistant |
||
| + | |||
| + | Если ты хочешь чат в LM Studio — обычно берёшь instruct/chat, а не base. |
||
| + | |||
| + | ==Multimodal / Vision== |
||
| + | |||
| + | Некоторые модели умеют не только текст. |
||
| + | |||
| + | Например: |
||
| + | |||
| + | текст + изображение |
||
| + | иногда аудио |
||
| + | |||
| + | Если у модели есть vision, это значит, что ей можно дать картинку и спросить: |
||
| + | |||
| + | что на фото |
||
| + | что на скриншоте |
||
| + | что в диаграмме |
||
| + | распознать UI и так далее |
||
| + | |||
| + | Если такого нет — модель только текстовая. |
||
| + | |||
| + | ==Reasoning / Thinking== |
||
| + | |||
| + | Сейчас у некоторых семейств моделей есть режимы “thinking” или reasoning-oriented. |
||
| + | |||
| + | Это значит, что модель: |
||
| + | |||
| + | лучше справляется со сложными задачами |
||
| + | лучше в многошаговом анализе |
||
| + | но обычно: |
||
| + | медленнее |
||
| + | дороже по токенам |
||
| + | не всегда нужен для простого чата |
||
| + | |||
| + | Для бытового чата reasoning не обязателен. |
||
| + | Для кода, сложной логики, анализа — часто полезен. |
||
| + | |||
| + | ==Tool use / Function calling / JSON mode== |
||
| + | |||
| + | Это уже ближе к агентам и интеграциям. |
||
| + | |||
| + | Tool calling |
||
| + | |||
| + | Модель умеет не просто ответить текстом, а сказать: |
||
| + | |||
| + | “вызови вот этот инструмент” |
||
| + | “сходи в 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-серии |
||
Текущая версия на 17:02, 1 апреля 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
Если ты хочешь чат в LM Studio — обычно берёшь instruct/chat, а не base.
Multimodal / Vision
Некоторые модели умеют не только текст.
Например:
текст + изображение иногда аудио
Если у модели есть vision, это значит, что ей можно дать картинку и спросить:
что на фото что на скриншоте что в диаграмме распознать UI и так далее
Если такого нет — модель только текстовая.
Reasoning / Thinking
Сейчас у некоторых семейств моделей есть режимы “thinking” или reasoning-oriented.
Это значит, что модель:
лучше справляется со сложными задачами лучше в многошаговом анализе но обычно: медленнее дороже по токенам не всегда нужен для простого чата
Для бытового чата reasoning не обязателен. Для кода, сложной логики, анализа — часто полезен.
Tool use / Function calling / JSON mode
Это уже ближе к агентам и интеграциям.
Tool calling
Модель умеет не просто ответить текстом, а сказать:
“вызови вот этот инструмент” “сходи в 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-серии