LLM: различия между версиями
Sirmax (обсуждение | вклад) (Новая страница: «[Категория:LLM] [Категория:LMStudio] [Категория:Open WebUI] =LLM=») |
Sirmax (обсуждение | вклад) |
||
| (не показано 13 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | [Категория:LLM] |
+ | [[Категория:LLM]] |
| − | [Категория:LMStudio] |
+ | [[Категория:LMStudio]] |
| − | [Категория:Open WebUI] |
+ | [[Категория:Open WebUI]] |
=LLM= |
=LLM= |
||
| + | |||
| + | |||
| + | Есть 2 вида параметров (неочевидно) |
||
| + | * параметры самой модели |
||
| + | * параметры запуска модели |
||
| + | |||
| + | =Параметры самой модели= |
||
| + | |||
| + | Это то, что модель из себя представляет. |
||
| + | |||
| + | ==Размер модели== |
||
| + | * 7B, 14B, 27B, 70B |
||
| + | |||
| + | B = billions, миллиарды параметров |
||
| + | чем число больше, тем модель обычно: |
||
| + | * умнее |
||
| + | * лучше держит сложные инструкции |
||
| + | * лучше пишет код |
||
| + | * лучше рассуждает |
||
| + | * медленнее |
||
| + | * требует больше памяти |
||
| + | * сильнее грузит железо |
||
| + | |||
| + | Очень грубо: |
||
| + | |||
| + | * 7B–8B — быстрые, лёгкие |
||
| + | * 12B–14B — хороший баланс |
||
| + | * 27B–32B — уже заметно качественнее, но тяжелее |
||
| + | * 70B+ — топ по качеству, но локально уже дорого |
||
| + | |||
| + | <BR> |
||
| + | Когда говорят "модель 14B", это значит не "14 миллиардов настроек для пользователя", <BR> |
||
| + | а что внутри сети около 14 млрд чисел, которые определяют её поведение. |
||
| + | </BR> |
||
| + | |||
| + | ==Квантование== |
||
| + | * 4-bit |
||
| + | * 5-bit |
||
| + | * 6-bit |
||
| + | * 8-bit |
||
| + | |||
| + | Это способ хранения весов модели в более компактном виде. |
||
| + | <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== |
||
| + | <BR> |
||
| + | "Сырая" модель после общего обучения. |
||
| + | <BR> |
||
| + | Она знает язык, факты, паттерны, но не всегда хорошо следует инструкциям. |
||
| + | |||
| + | ==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. |
||
| + | <BR> |
||
| + | * автоматизацию |
||
| + | * интеграции |
||
| + | * пайплайны |
||
| + | * обработку ответов программой |
||
| + | <BR> |
||
| + | Для агентов — очень полезно. |
||
| + | |||
| + | ==Dense vs MoE== |
||
| + | |||
| + | ===Dense=== |
||
| + | Обычная модель: при генерации работает вся сеть. |
||
| + | |||
| + | ===MoE (Mixture of Experts)=== |
||
| + | |||
| + | Модель состоит из нескольких “экспертов”, но на каждом токене активируется только часть. |
||
| + | <BR> |
||
| + | * модель может вести себя как более крупная |
||
| + | * при этом вычислительно может быть дешевле полной dense-модели такого же общего размера |
||
| + | <BR> |
||
| + | Но названия MoE часто сбивают с толку. |
||
| + | Например, условное 8x7B — это не просто “56B как обычная dense”. Там интерпретация сложнее. |
||
| + | <BR> |
||
| + | Для начала можно просто помнить: |
||
| + | <BR> |
||
| + | * 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-серии |
||
Текущая версия на 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-серии