Описание
Code Llama — это семейство больших языковых моделей, разработанных Meta на основе Llama 2 и специализирующихся на задачах, связанных с кодом. Этот репозиторий содержит код для инференса, необходимый для запуска этих мощных моделей. Модели Code Llama демонстрируют передовую производительность среди открытых моделей, обладая такими возможностями, как инфиллинг кода, поддержка расширенных входных контекстов до 100 000 токенов и следование инструкциям в режиме zero-shot для программирования.
Семейство включает базовые модели (Code Llama), версии, специализированные на Python (Code Llama - Python), и модели, следующие инструкциям (Code Llama - Instruct). Они доступны в различных размерах параметров: 7B, 13B, 34B и 70B. Все модели обучены на последовательностях из 16 тыс. токенов и демонстрируют улучшенную производительность при входных данных до 100 тыс. токенов. Варианты 7B и 13B моделей Code Llama и Code Llama - Instruct способны выполнять инфиллинг кода на основе окружающего контента.
Разработанная путем дообучения Llama 2 с повышенной выборкой кода, Code Llama включает значительные меры безопасности. Репозиторий предоставляет веса моделей и стартовый код для этих предварительно обученных и дообученных моделей. Он служит минимальным примером для загрузки моделей Code Llama и выполнения инференса. Пользователи могут загрузить веса моделей и токенизаторы с веб-сайта Meta после принятия лицензии, а затем использовать предоставленный скрипт `download.sh`.
Настройка включает клонирование репозитория и установку зависимостей в среде conda с PyTorch/CUDA. Инференс требует указания значений model-parallel (MP), которые варьируются в зависимости от размера модели (например, 1 для 7B, 8 для 70B). Репозиторий включает примеры скриптов для автодополнения кода (`example_completion.py`), инфиллинга кода (`example_infilling.py`) и следования инструкциям (`example_instructions.py`), демонстрируя, как эффективно формировать запросы и запускать различные типы моделей.
Модели Code Llama - Instruct специально дообучены для следования инструкциям, требуя определенного форматирования для оптимальных результатов. Репозиторий также освещает потенциальные риски, связанные с технологиями ИИ, и направляет пользователей к Руководству по ответственному использованию и исследовательским статьям для получения дополнительной информации. Проблемы, связанные с ошибками программного обеспечения или поведением моделей, могут быть сообщены через предоставленные ссылки на GitHub.
Основные функции Code Llama
Код для инференса моделей Code Llama
Поддерживает базовые, специализированные на Python и следующие инструкциям модели
Доступны в размерах параметров 7B, 13B, 34B и 70B
Передовая производительность среди открытых моделей для кода
Возможности инфиллинга кода для моделей 7B и 13B
Поддержка больших входных контекстов до 100 000 токенов
Следование инструкциям в режиме zero-shot для задач программирования
Обучены на последовательностях из 16 тыс. токенов
Включает веса моделей и стартовый код
Предоставляет примеры скриптов для автодополнения, инфиллинга и следования инструкциям
Включает меры безопасности
Лицензировано для исследователей и коммерческих организаций
Начало работы с Code Llama
Клонировать: Клонируйте репозиторий с GitHub.
Установить: Настройте среду conda с PyTorch/CUDA и установите зависимости с помощью `pip install -e .`.
Загрузить: Получите веса моделей и токенизаторы с веб-сайта Meta и используйте `download.sh`.
Настроить: Определите соответствующее значение model-parallel (MP) в зависимости от размера модели.
Выполнить: Запустите инференс, используя предоставленные примеры скриптов (например, `example_completion.py`, `example_infilling.py`, `example_instructions.py`).
Оптимизировать: Настройте `max_seq_len` и `max_batch_size` в зависимости от оборудования и сценария использования.
Варианты использования Code Llama
- Генерация кода
- Автодополнение кода
- Инфиллинг кода
- Следование инструкциям
- Разработка на Python
- Исследования
- Задачи с большим контекстом








