Если нужен быстрый выбор, то для первого локального пилота берите Llama 3 8B Instruct, для русского и многоязычных задач — Qwen2 7B Instruct, для кода — DeepSeek-Coder-V2 Lite, для ограниченного железа — Phi-3 Mini, а для серверного self-hosting без явного компромисса по качеству — Mixtral 8x7B Instruct или Llama 3 70B Instruct. Но термин open-source здесь нужно понимать аккуратно: значимая часть сильных моделей опубликована как модели с открытыми весами, но не под строгими OSI-лицензиями. Если вам критичны свободное перераспространение, юридически простая permissive-лицензия, гарантированный SLA или запуск на очень слабом железе, часть вариантов из этого списка не подойдет.
Короткий ответ
Выбирать лучшие open-source LLM по одному «общему месту» бессмысленно: слишком разные требования у локального ассистента, RAG-поиска по документам, кодогенерации и серверного инференса. Практичнее собирать короткий шорт-лист под сценарий, а не искать абстрактного победителя. Для большинства команд хватает двух-трех кандидатов на класс задач и короткого пилота на своих данных.
По каким критериям отбирал
- Наличие официально опубликованных весов. В список не включены чисто API-модели.
- Понятный путь к self-hosting. Модель должна запускаться в распространенных стеках и не требовать экзотической инфраструктуры без веской причины.
- Практическая полезность. Я смотрю не на разовый демо-ответ, а на пригодность для чата, извлечения, суммаризации, кода и русского языка.
- Лицензионная внятность. Там, где условия нетривиальны, это нужно учитывать до пилота, а не после.
- Размер и класс железа. Отдельно важны модели для ноутбука, одной потребительской GPU и серверного профиля.
Лучшие модели по сценариям
| Сценарий | Модель | Когда брать | Когда не брать | Условия | Официальная ссылка |
|---|---|---|---|---|---|
| Универсальный локальный пилот | Llama 3 8B Instruct | Нужен понятный baseline, широкая совместимость с runtime и много готовых интеграций. | Нужна строгая OSI-лицензия или очень скромное железо. | Community license. | Meta Llama |
| Русский и многоязычные задачи | Qwen2 7B Instruct | Нужны русский, смешанные языки, извлечение полей, внутренние FAQ и чат. | Нужен совсем маленький вес модели или вы хотите жить только внутри экосистемы Meta. | Обычно permissive-подход у семейства, но сверяйте конкретный релиз. | Qwen2 |
| Баланс качества и умеренных ресурсов | Gemma 2 9B IT | Нужна компактная модель для одного сервера или рабочей станции без ухода в 30B+ класс. | Нужна максимально простая лицензия или ваш стек еще не поддерживает конкретный релиз семейства. | Собственные условия использования семейства Gemma. | Gemma |
| Ограниченное железо | Phi-3 Mini 4K Instruct | Нужен быстрый пилот на CPU или небольшой GPU, короткие инструкции и извлечение. | Нужны длинные рассуждения, глубокая работа с кодом или большой контекст без RAG. | Сверяйте условия конкретного релиза. | Phi-3 |
| Код и работа с репозиториями | DeepSeek-Coder-V2 Lite | Нужна отдельная модель-кандидат под код, генерацию фрагментов и объяснение изменений. | Вы проверяете только общий чат без инженерных задач. | Сверяйте условия релиза и репозитория. | DeepSeek-Coder-V2 |
| Серверный компромисс между размером и качеством | Mixtral 8x7B Instruct | 7B класс уже тесен, но 70B слишком тяжел по памяти и стоимости сопровождения. | Запуск только на ноутбуке или нужна предельно простая эксплуатация. | Apache 2.0 для открытых релизов семейства Mixtral. | Mistral models overview |
| Максимум качества среди self-hosted кандидатов | Llama 3 70B Instruct | Есть серверный класс железа, важнее итоговое качество ответа, чем простота эксплуатации. | Нет бюджета на VRAM, многокарточный инференс и операционную поддержку. | Community license. | Meta Llama |
Если нужен один практичный стартовый набор без расползания пилота, берите так: Qwen2 7B Instruct + Llama 3 8B Instruct для общего ассистента, DeepSeek-Coder-V2 Lite + Llama 3 8B Instruct для инженерных сценариев, Mixtral 8x7B Instruct + Llama 3 70B Instruct для серверного сравнения. Этого достаточно, чтобы увидеть разницу в стиле, дисциплине следования инструкциям и потолке качества.
Что понадобится
Для выбора модели нужна не только таблица с названиями, но и минимально подготовленная среда проверки. Без этого «лучший LLM» быстро превращается в случайный вывод по одному удачному промпту.
- Железо. Для mini и 3B-класса часто хватает CPU или небольшого GPU. Для 7B–9B удобнее иметь 16–32 ГБ ОЗУ или GPU от 8–12 ГБ VRAM. Для Mixtral и 70B нужен серверный профиль. Это грубые ориентиры: точная потребность зависит от квантования, длины контекста и runtime.
- Среда запуска. Для быстрого пилота удобен Ollama. Для локальных квантованных запусков и CPU-профиля — llama.cpp. Для серверной выдачи и многопользовательской нагрузки — vLLM.
- Свой тест-пак. Лучше 30–50 реальных запросов, чем 300 синтетических. Включите русский чат, суммаризацию, извлечение полей, классификацию, ответы по внутренним документам и, если нужно, код.
- Правила приемки. Нужны заранее заданные критерии: допустим ли отказ «не знаю», нужен ли строгий JSON, насколько важны ссылки на источник, какая задержка приемлема.
- Понимание лицензии. Если модель идет в коммерческий продукт, условия использования нужно читать до пилота, а не в момент релиза.
Пошаговый план
- Определите сценарий. Разведите задачи по типам: чат-ассистент, RAG по документам, извлечение полей, код, внутренняя аналитика. Одна и та же модель может быть достаточной для FAQ и слабой для кода.
- Отфильтруйте по лицензии и режиму данных. Если нужны свободные производные работы или юридически простой redistribution, сразу отсекайте модели с неподходящими community/custom-условиями. Если данные чувствительные, заранее решите, можно ли вообще выносить веса и логи на внешние сервисы.
- Сопоставьте размер модели с вашим железом. Не сравнивайте 70B с 7B, если в проде у вас одна карта на 24 ГБ. Шорт-лист должен быть реалистичным: например, Qwen2 7B, Llama 3 8B и Gemma 2 9B для одной рабочей станции; Mixtral 8x7B и Llama 3 70B для серверного класса.
- Выберите runtime под задачу. Для короткого ручного теста достаточно Ollama. Для CPU и квантов имеет смысл llama.cpp. Для API-слоя, батчинга и серверного throughput обычно удобнее vLLM. Менять runtime посреди сравнения нежелательно: часть различий вы спишете на модель, хотя они вызваны стеком инференса.
- Прогоните единый тест-пак. Используйте одинаковые системные инструкции, одинаковые ограничения по длине ответа и одинаковые параметры декодирования. Иначе вы сравните не модели, а разные шаблоны промпта.
- Проверьте три группы сигналов. Во-первых, содержательное качество: факты, отказ от домысливания, следование контексту. Во-вторых, эксплуатацию: задержка, память, стабильность формата. В-третьих, языковую пригодность: русский, тон, длина и аккуратность терминов.
- Сделайте короткий пилот на реальном потоке. Даже хорошая офлайн-проверка не заменяет неделю на живых вопросах. После пилота зафиксируйте модель, квантование, runtime, шаблон промпта и правила обновления.
Хорошая практика — не выбирать победителя по одному «умному» ответу. Смотрите, как модель ведет себя на скучных задачах: извлечение полей, однотипные ответы по документации, корректный отказ при нехватке контекста, стабильный JSON. Именно там чаще всего ломается production.
Типичные ошибки
- Путать открытые веса с open source в строгом смысле. Для инженерии это не мелочь. Лицензия влияет на коммерческое использование, форки, перераспространение и внутренние процедуры compliance.
- Выбирать по лидерборду, а не по задаче. Абстрактно сильная модель может быть неудобной по памяти, задержке или шаблону ответа.
- Сравнивать модели в разных условиях. Разные системные промпты, температура, длина контекста и runtime делают выводы нерелевантными.
- Судить по английским тестам, если прод будет на русском. Для русскоязычных процессов обязательно нужны реальные русские запросы, документы и примеры ошибок.
- Сразу ставить агрессивное квантование и потом ругать семью модели. Иногда проблема не в модели, а в слишком жестком сжатии или неудачном формате квантов.
- Оценивать только чат, игнорируя формат. В бизнес-сценариях часто важнее валидный JSON, корректное извлечение и способность сказать «не знаю», чем красивый стиль ответа.
- Переоценивать длинный контекст. Большое число токенов в карточке модели не заменяет нормальный RAG, фильтрацию чанков и дисциплину цитирования.
- Брать 70B без операционного плана. Сильная модель бесполезна, если она нестабильна по памяти, долго прогревается и не выдерживает ваш поток запросов.
Как проверить результат
Проверка должна быть двухуровневой: офлайн-сравнение кандидатов и короткий онлайн-пилот. Иначе вы либо выберете модель по впечатлению, либо не заметите эксплуатационные проблемы до продакшена.
| Что проверять | Как смотреть | Хороший сигнал |
|---|---|---|
| Фактическая точность | Дайте модели вопросы по вашим документам и случаи без ответа в контексте. | Модель опирается на данные и умеет отказываться от домысливания. |
| Русский язык | Проверьте 10–15 русскоязычных кейсов с терминологией вашей отрасли. | Нормальная морфология, без навязчивых кальк и странного тона. |
| Структурированный вывод | Требуйте JSON или фиксированный шаблон ответа. | Ответ стабильно парсится без ручной правки. |
| Код | Если сценарий инженерный, гоняйте примеры с реальными тестами или линтерами. | Код не только выглядит правдоподобно, но и проходит минимальную проверку. |
| Память и задержка | Смотрите, что происходит на типовом контексте и нескольких параллельных запросах. | Нет свопинга, OOM и резких скачков времени ответа. |
На практике удобно маркировать ответы как зеленый, желтый и красный. Зеленый — ответ можно брать почти без правки. Желтый — идея верная, но нужна редактура. Красный — фактическая ошибка, галлюцинация, поломанный формат или опасный совет. Через такую схему быстро видно, где выигрывает большая модель, а где меньшая уже достаточна.
Если результаты близки, выбирайте не самый «умный» ответ, а лучшую совокупность из качества, памяти, задержки и лицензионной ясности. Для production это обычно важнее, чем редкие победы на сложных демонстрационных промптах.
FAQ
Что вообще считать open-source LLM?
В разговорной практике так называют почти все модели с открытыми весами. Формально это неточно: часть из них распространяется по community или custom-лицензиям, которые не равны классическому open source. Если для вас это важно юридически, проверяйте условия каждого релиза отдельно.
Что лучше выбрать для русского языка?
Для начала обычно разумно сравнить Qwen2 7B Instruct и Llama 3 8B Instruct на ваших русских данных. Если нужен более высокий потолок качества и есть сервер, масштабируйтесь внутри выбранного семейства вверх.
Можно ли запускать такие модели без GPU?
Да, особенно mini и 7B-класс в квантованном виде. Но задержка, параллелизм и рабочая длина контекста будут ограничены. Для живого многопользовательского сервиса CPU-запуск редко бывает комфортным без очень аккуратного дизайна нагрузки.
Нужен ли большой контекст, чтобы модель работала по документам?
Не всегда. Для корпоративных сценариев чаще полезнее хороший RAG, отбор релевантных фрагментов и короткий чистый контекст, чем попытка постоянно скармливать модели огромные документы целиком.
Что брать для кода?
Добавляйте в шорт-лист DeepSeek-Coder-V2 Lite как специализированного кандидата и сравнивайте его с одной универсальной моделью вроде Llama 3 8B. Обязательно проверяйте код на реальных тестах, а не только по внешнему виду.
Когда лучше не брать open-weight модель вообще?
Если у вас нет ресурсов на эксплуатацию, важен строгий SLA, нужен быстрый запуск без своей инфраструктуры или юридические требования к лицензии слишком жесткие, управляемый API или узкоспециализированная модель могут быть практичнее.