Llama 2
Llama 2 — это семейство открытых больших языковых моделей (LLM), разработанных компанией Meta (организация признана экстремистской и запрещена в РФ). Вторая версия модели Llama, выпущенная в июле 2023 года, доступна как для исследовательских, так и для коммерческих целей, что отличает её от предшественницы (Llama 1), имевшей ограниченную лицензию.
История и предпосылки создания
Первая модель Llama была анонсирована Meta (организация признана экстремистской, деятельность запрещена в РФ) в феврале 2023 года. Она предназначалась исключительно для академических исследований и распространялась по запросу, однако вскоре её веса были утекли в открытый доступ. Успех и популярность модели, а также конкуренция со стороны других открытых моделей (например, Mistral 7B) побудили Meta выпустить полноценную коммерческую версию.
Llama 2 была представлена 18 июля 2023 года. Вместе с моделью компания опубликовала технический отчёт, подробно описывающий архитектуру, процесс обучения и результаты тестирования. Ключевым изменением стала лицензия, разрешающая коммерческое использование, что сделало Llama 2 прямым конкурентом проприетарным моделям, таким как GPT-4 от OpenAI и Claude от Anthropic.
Архитектура и характеристики
Базовая архитектура
Llama 2 основана на архитектуре трансформера (decoder-only), аналогичной GPT-серии. Основные архитектурные решения включают:
- Предварительная нормализация (Pre-normalization): используется RMSNorm (Root Mean Square Layer Normalization) для стабилизации обучения.
- Функция активации: SwiGLU (Swish-Gated Linear Unit) вместо традиционного ReLU или GELU, что повышает качество генерации.
- Позиционные кодировки: Rotary Position Embeddings (RoPE), позволяющие модели эффективно обрабатывать последовательности переменной длины.
- Оптимизация внимания: Grouped-Query Attention (GQA) в версиях 70B и 34B, что снижает вычислительные затраты при инференсе.
Размеры моделей
Семейство Llama 2 включает три основные конфигурации, различающиеся количеством параметров:
| Размер | Количество параметров | Контекстное окно | Применение |
|---|---|---|---|
| 7B | 7 миллиардов | 4096 токенов | Лёгкие задачи, запуск на потребительском GPU |
| 13B | 13 миллиардов | 4096 токенов | Баланс производительности и ресурсов |
| 70B | 70 миллиардов | 4096 токенов | Сложные задачи, требующие высокой точности |
Все модели обучены на 2 триллионах токенов из открытых источников, преимущественно на английском языке. Датасет включает тексты из CommonCrawl, Wikipedia, книг, научных статей и кода (GitHub).
Чат-версия (Llama 2-Chat)
Для диалоговых задач Meta выпустила специализированную версию — Llama 2-Chat. Она дообучена с использованием:
- Supervised Fine-Tuning (SFT): на размеченных диалогах, собранных с помощью краудсорсинга.
- Reinforcement Learning from Human Feedback (RLHF): с использованием Proximal Policy Optimization (PPO) для улучшения безопасности и полезности ответов.
Процесс обучения
Предварительное обучение
Llama 2 обучалась на 2 триллионах токенов. Для сравнения, Llama 1 использовала 1 триллион токенов. Увеличение объёма данных позволило улучшить качество на стандартных бенчмарках. Обучение проводилось на кластере из 2000 GPU A100 (80 ГБ) с использованием библиотеки PyTorch и фреймворка FairScale. Оптимизация выполнялась алгоритмом AdamW с косинусным расписанием скорости обучения.
Тонкая настройка (Fine-tuning)
Для Llama 2-Chat использовались следующие этапы:
- SFT: Модель обучалась на 27 540 диалогах, собранных с помощью асессоров. Каждый диалог состоял из запроса пользователя и ответа ассистента.
- RLHF: Сначала обучалась модель вознаграждения (Reward Model), которая оценивала качество ответов. Затем Llama 2-Chat оптимизировалась для максимизации этой оценки.
Бенчмарки и производительность
Meta провела обширное тестирование Llama 2 на стандартных наборах данных. Результаты показали, что модель превосходит Llama 1 и большинство открытых аналогов, но уступает GPT-4 и Claude 2 в сложных задачах.
Примеры бенчмарков:
- MMLU (Massive Multitask Language Understanding): 7B — 45.3%, 13B — 54.8%, 70B — 68.9% (у GPT-4 — 86.4%).
- HumanEval (генерация кода): 7B — 14.0%, 13B — 18.3%, 70B — 29.9%.
- GSM8K (математические задачи): 7B — 14.6%, 13B — 28.7%, 70B — 56.8%.
Безопасность и этические ограничения
Meta уделила особое внимание безопасности Llama 2-Chat. Модель прошла красно-командное тестирование (red-teaming) с участием экспертов по кибербезопасности, юристов и специалистов по этике. В техническом отчёте описаны меры по снижению рисков:
- Фильтрация обучающих данных от токсичного контента.
- RLHF с акцентом на отказ от опасных запросов.
- Встроенные правила безопасности, запрещающие генерацию инструкций по созданию оружия, наркотиков, пропаганды насилия и т.д.
Несмотря на это, модель может генерировать нежелательный контент при определённых условиях. Meta рекомендует разработчикам проводить дополнительную настройку безопасности под свои задачи.
Лицензирование и доступность
Llama 2 распространяется под лицензией Llama 2 Community License. Ключевые условия:
- Разрешено коммерческое использование (включая создание продуктов и услуг).
- Запрещено использовать модель для нарушения законов, разжигания ненависти, дискриминации.
- При использовании с более чем 700 миллионами активных пользователей в месяц требуется специальное разрешение от Meta.
Веса моделей доступны для скачивания через Hugging Face, официальный сайт Meta и другие платформы. Для запуска Llama 2 7B требуется около 14 ГБ видеопамяти (в режиме FP16), для 70B — около 140 ГБ (с использованием нескольких GPU).
Применение и влияние
Llama 2 стала одной из самых популярных открытых языковых моделей 2023–2024 годов. Она используется в:
- Чат-ботах и виртуальных ассистентах: локальные и облачные решения.
- Генерации кода: инструменты автодополнения и отладки.
- Анализе текстов: суммаризация, классификация, извлечение информации.
- Образовании: создание учебных материалов и тренажёров.
Выход Llama 2 стимулировал развитие открытых LLM, таких как Mistral, Gemma (Google), и Qwen (Alibaba). Модель также стала основой для множества дообученных вариантов, включая специализированные версии для медицины, юриспруденции и финансов.
Критика и ограничения
Основные замечания к Llama 2:
- Ограниченная мультиязычность: модель обучена преимущественно на английском языке, что снижает качество на других языках (включая русский).
- Сравнительно малый контекст: 4096 токенов против 128К у GPT-4 Turbo или 200К у Claude 2.
- Зависимость от Meta: лицензия содержит пункты, ограничивающие использование при большом масштабе, что критикуется сообществом открытого ПО.
- Безопасность: несмотря на усилия, модель может генерировать предвзятые или вредные ответы, особенно в неанглоязычных контекстах.
Источники
- Touvron, H., et al. "Llama 2: Open Foundation and Fine-Tuned Chat Models." arXiv:2307.09288, 2023.
- Meta AI. "Introducing Llama 2: The Next Generation of Our Open Source Large Language Model." Meta Blog, 18 July 2023.
- Документация и лицензия Llama 2 на официальном сайте Meta.
- Результаты бенчмарков из технического отчёта и независимых тестов (Hugging Face Open LLM Leaderboard).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →