“ Llama-Recipes”存储库是Meta Llama模型的伴侣。我们支持此存储库中最新版本,Llama 3.2 Vision和Llama 3.2文本。该存储库包含示例脚本和笔记本,以在各种用例中开始使用这些模型,包括用于域名适应性的微调和使用LLAMA和LLM生态系统中的其他工具构建基于LLM的应用程序。此处的示例在本地,云和本地使用。
提示
使用这些新食谱开始使用Llama 3.2:
笔记
Llama 3.2遵循与Llama 3.1相同的提示模板,并带有一个新的Special令牌<|image|>代表多模型模型的输入图像。
有关图像推理的及时模板的更多详细信息,可以在文档网站上找到图像推理,工具呼叫和代码解释器。
recipes/src/这些说明将使您在本地计算机上启动并运行该项目的副本,以开发和测试目的。有关如何在实时系统上部署项目的注释,请参见部署。
如果您想使用Pytorch Nightlies而不是稳定的版本,请转到本指南以检索右--extra-index-url URL参数,用于您的平台上的pip install命令。
Llama-Recipes提供了一个PIP分发,以便在其他项目中轻松安装和使用。或者,可以从源安装。
笔记
在安装Pytorch车轮时,请确保使用正确的CUDA版本(来自nvidia-smi )。在这里,我们将11.8用作cu118 。 H100 GPU与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]
一些食谱需要兰班链。要安装软件包,请按照食谱说明或安装:
pip install llama-recipes[langchain]
可选依赖项也可以与[option1,option2]结合使用。
要从源安装,例如开发使用这些命令。我们正在使用Hatchling作为我们的构建后端,它需要最新的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的模型已经转换为拥抱的面部检查站,因此不需要进一步的转换。下面的转换步骤仅适用于在拥抱面部模型中心托管的元模型的原始模型权重。
如果您从Meta网站下载了模型检查点,则可以使用以下方式将其转换为拥抱的面部格式。
# # 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涉及骆驼使用情况的大多数代码都是在2个主要文件夹中组织的: recipes/和src/ 。
recipes/包含按主题中的文件夹中组织的示例:
| 子文件夹 | 描述 |
|---|---|
| Quickstart | 使用骆驼的“ Hello World”,如果您是使用美洲驼的新手,请从这里开始。 |
| USE_CASE | 脚本显示Meta Llama的常见应用3 |
| 3P_Integration | 合作伙伴拥有的文件夹显示了Meta Llama的常见应用3 |
| 负责人 | 使用Purplellama来保护模型输出的脚本 |
| 实验 | 实验LLM技术的Meta Llama实施 |
src/包含支持示例配方的模块:
| 子文件夹 | 描述 |
|---|---|
| 配置 | 包含用于PEFT方法,FSDP,数据集,权重和偏见实验跟踪的配置文件。 |
| 数据集 | 包含每个数据集以下载和处理的单个脚本。笔记 |
| 推理 | 包括用于推断微型模型的模块。 |
| model_checkpointing | 包含FSDP检查点处理程序。 |
| 政策 | 包含FSDP脚本以提供不同的策略,例如混合精度,变压器包装策略和激活检查点以及任何精确优化器(用于运行纯BF16模式的FSDP)。 |
| UTILS | 实用程序文件:train_utils.py提供培训/评估循环和更多的火车效果。dataset_utils.py获取预处理数据集。config_utils.py覆盖从CLI接收的配置。fsdp_utils.py提供了PEFT方法的FSDP包装策略。memory_utils.py上下文管理器跟踪火车循环中的不同内存统计信息。 |
此存储库中的配方和模块支持以下功能:
| 特征 | |
|---|---|
| HF支持推理 | ✅ |
| HF支持芬太尼 | ✅ |
| peft | ✅ |
| 递延初始化(元初始化) | ✅ |
| 多GPU的低CPU模式 | ✅ |
| 混合精度 | ✅ |
| 单节点量化 | ✅ |
| 闪烁注意力 | ✅ |
| 激活检查点FSDP | ✅ |
| 混合碎片数据并行(HSDP) | ✅ |
| 数据集包装和填充 | ✅ |
| BF16优化器(纯BF16) | ✅ |
| 分析和MFU跟踪 | ✅ |
| 梯度积累 | ✅ |
| CPU卸载 | ✅ |
| FSDP检查点转换为HF进行推理 | ✅ |
| W&B实验跟踪器 | ✅ |
请阅读有关我们的行为准则的详细信息以及向我们提交拉的请求的过程的详细信息。
请参阅此处的Meta Llama 3.2的许可证文件,此处可接受使用策略
请参阅此处的Meta Llama 3.1的许可证文件,并在此处使用可接受的使用策略
在此处查看Meta Llama 3的许可证文件,并在此处可接受使用策略
在此处查看Meta Llama 2的许可证文件,并在此处使用可接受的使用策略