Репозиторий «лама-реципий» является компаньоном для моделей Meta Llama. Мы поддерживаем последнюю версию, Llama 3.2 Vision и Llama 3.2 Text, в этом репозитории. Этот репозиторий содержит примеры сценариев и записных книг, чтобы начать работу с моделями в различных вариантах использования, включая точную настройку для адаптации домена и создание приложений LLM с LLAMA и другими инструментами в экосистеме LLM. Примеры здесь используют ламу локально, в облаке и в прутке.
Кончик
Начните с Llama 3.2 с этими новыми рецептами:
Примечание
Llama 3.2 следует тому же шаблону приглашения, что и Llama 3.1, с новым специальным токеном <|image|> представляющим входное изображение для мультимодальных моделей.
Более подробную информацию о шаблонах приглашения для рассуждения изображений, обстрела инструментов и интерпретатора кода можно найти на веб-сайте документации.
recipes/src/Эти инструкции дадут вам копию проекта и работают на местной машине для разработки и тестирования. См. Развертывание для заметок о том, как развернуть проект в живой системе.
Если вы хотите использовать Nightlies Pytorch вместо стабильного выпуска, перейдите к этому руководству, чтобы получить правильный параметр --extra-index-url URL для команд pip install на вашей платформе.
Llama-Recipes предоставляет распределение PIP для легкой установки и использования в других проектах. В качестве альтернативы, он может быть установлен из источника.
Примечание
Убедитесь, что вы используете правильную версию CUDA (от nvidia-smi ) при установке колеса Pytorch. Здесь мы используем 11,8 в качестве cu118 . H100 графические процессоры работают лучше с CUDA> 12.0
pip install llama-recipes
Llama-Recipes предлагает установку дополнительных пакетов. Есть три дополнительные группы зависимости. Чтобы запустить модульные тесты, мы можем установить необходимые зависимости с:
pip install llama-recipes[tests]
Для примера VLLM нам нужны дополнительные требования, которые могут быть установлены с:
pip install llama-recipes[vllm]
Для использования чувствительных тем по установке защитников.
pip install llama-recipes[auditnlg]
Некоторые рецепты требуют наличия Langchain. Чтобы установить пакеты. Следуйте описанию рецепта или установите с:
pip install llama-recipes[langchain]
Необязательные зависимости также могут быть объединены с [Option1, Option2].
Чтобы установить из источника, например, для разработки используйте эти команды. Мы используем хэтчлинг в качестве нашего бэкэнда сборки, которая требует актуального пакета PIP, а также пакета Setuptools.
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
Для разработки и внесения вклад в лама-реципий. Установите все дополнительные зависимости:
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
Здесь вы можете найти модели Llama для обнимающегося лица, где модели с hf в названии уже преобразуются в контрольные точки обнимающегося лица, поэтому дальнейшее преобразование не требуется . Шаг преобразования ниже предназначен только для оригинальных весов модели из мета, которые также размещены в обнимающем концентраторе модели лица.
Если у вас загружены контрольно -пропускные пункты модели с мета -сайта, вы можете преобразовать его в формат объятия с:
# # Install Hugging Face Transformers from source
pip freeze | grep transformers # # verify it is version 4.45.0 or higher
git clone [email protected]:huggingface/transformers.git
cd transformers
pip install protobuf
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 3B --output_dir /output/path Большая часть кода, посвященного использованию LLAMA, организована в 2 основных папках: recipes/ и src/ .
recipes/Содержит примеры, организованные в папках по теме:
| Подпапка | Описание |
|---|---|
| QuickStart | «Hello World» использования Llama, начните здесь, если вы новичок в использовании Llama. |
| use_cases | Сценарии, показывающие общие применения Meta llama3 |
| 3p_integrations | Папка, принадлежащая партнеру, показывающая общие применения Meta llama3 |
| ответственный_ай | Сценарии для использования Purplellama для защиты выходов моделей |
| экспериментальный | Мета -лама реализации экспериментальных методов LLM |
src/Содержит модули, которые поддерживают примеры рецептов:
| Подпапка | Описание |
|---|---|
| конфигурации | Содержит файлы конфигурации для методов PEFT, FSDP, наборов данных, отслеживания эксперимента. |
| наборы данных | Содержит отдельные сценарии для каждого набора данных для загрузки и обработки. Примечание |
| вывод | Включает модули для вывода для тонких настроек. |
| model_checkpointing | Содержит обработчики контрольной точки FSDP. |
| политики | Содержит сценарии FSDP для обеспечения различных политик, таких как смешанная точность, политика обертывания трансформатора и контрольная точка активации вместе с любым оптимизатором точности (используется для работы FSDP с чистым режимом BF16). |
| утилит | Файлы утилиты для: - train_utils.py предоставляет обучение/цикл Eval и больше поездов.- dataset_utils.py , чтобы получить предварительные наборы данных.- config_utils.py , чтобы переопределить конфигурации, полученные от CLI.- fsdp_utils.py предоставляет политику обертывания FSDP для методов PEFT.- memory_utils.py Context Manager для отслеживания различных статиментов памяти в цикле поезда. |
Рецепты и модули в этом хранилище поддерживают следующие функции:
| Особенность | |
|---|---|
| Поддержка HF для вывода | ✅ |
| Поддержка HF для создания | ✅ |
| Пефт | ✅ |
| Отложенная инициализация (Meta init) | ✅ |
| Низкий режим процессора для мульти -графического процессора | ✅ |
| Смешанная точность | ✅ |
| Квантование одноузея | ✅ |
| Вспыхивать внимание | ✅ |
| Активация контрольная точка FSDP | ✅ |
| Гибридные данные параллельны (HSDP) | ✅ |
| Упаковка и наборы наборов данных | ✅ |
| BF16 Optimizer (Pure BF16) | ✅ |
| Профилирование и отслеживание MFU | ✅ |
| Градиент накопление | ✅ |
| Процессор разгрузка | ✅ |
| Преобразование контрольной точки FSDP в HF для вывода | ✅ |
| W & B Эксперимент трекер | ✅ |
Пожалуйста, прочитайте Anforming.md для получения подробной информации о нашем кодексе поведения и процессе отправки нам запросов.
См. Файл лицензии для Meta Llama 3.2 здесь и политика приемлемого использования здесь
См. Файл лицензии для Meta Llama 3.1 здесь и политика приемлемого использования здесь
См. Файл лицензии для Meta Llama 3 здесь и политика приемлемого использования здесь
См. Файл лицензии для Meta Llama 2 здесь и политика приемлемого использования здесь