llama-recipes

[复制链接]
发表于 2026-2-22 13:15:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、关于 llama-recipes



  • github : https://github.com/meta-llama/llama-recipes

利用可组合的FSDP和PEFT方法 微调Meta Llama3,以覆盖单/多节点GPU的脚本。
支持用于择要和问答等应用步伐的默认和自界说数据集。
支持许多直接的推明白决方案,比方用于当地或云摆设的 HF TGI、VLLM。
展示WhatsApp 和 Messenger 的 Meta Llama3的演示应用步伐。

“llama-recipes”存储库是Meta Llama 3模子的朋侪。
该存储库的目的是 提供一个可扩展的库,用于微调Meta Llama模子,以及一些示例脚本和条记本,以便在各种用例中 快速开始利用模子,包罗 域顺应微调 以及利用Meta Llama和LLM生态体系中的其他工具 构建基于LLM的应用步伐。
此处的示例展示了怎样在当地、云端和当地运行Meta Llama。
Meta Llama 2也支持此存储库。我们剧烈发起各人利用Meta Llama 3,由于它加强了功能。

Meta Llama 3有一个新的提示模板和特殊token (基于TikTokenizer)。
token形貌`<begin_of_text`<end_of_text`<eot_id`<start_header_id
Meta Llama 3的多伦对话遵照以下提示模板:
  1. <|begin_of_text|><|start_header_id|>system<|end_header_id|>
  2. {{ system_prompt }}<|eot_id|><|start_header_id|>user<|end_header_id|>
  3. {{ user_message_1 }}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
  4. {{ model_answer_1 }}<|eot_id|><|start_header_id|>user<|end_header_id|>
  5. {{ user_message_2 }}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
复制代码

在启动新标头之前,每条消息都会被一个<|eot_id|>标记跟踪,发出脚色更改的信号。
有关新标记器和提示模板的更多详细信息,请拜见此处。
留意:迩来重新构造了llama recipes库,以促进开发职员更好地利用示例。一些文件已移动到新位置。
src/文件夹未被修改,因此此repo和包的功能不受影响。
通过运行 git pull origin main 确保您更新您的当地克隆

二、入门

这些分析将为您提供项目的副本,并在本地皮算机上运行,以用于开发和测试目的。
有关怎样在实时体系上摆设项目的分析,请参阅摆设。

1、先决条件


PyTorch Nightlies

如果您想利用PyTorch Nightlies 而不是稳固版,请转到本指南以检索平台上pip install下令的准确--extra-index-url URL参数。

2、安装

Llama-recipes提供了一个pip发行版,便于在其他项目中安装和利用。
大概,它可以从源代码安装。
注:确保在安装PyTorch轮子时利用准确的CUDA版本(来自nvidia-smi)。
这里我们利用11.8作为cu118。 H100 GPU 在 CUDA>12.0时工作得更好

1、利用pip安装

  1. pip install llama-recipes
复制代码

2、利用可选依赖项安装

Llama-recipes提供可选包的安装。
有三个可选的依赖组。
要运行单元测试,我们可以利用以下方式安装所需的依赖项:
  1. pip install llama-recipes
  2. [tests]
复制代码

对于vLLM示例,我们必要可以安装的附加要求:
  1. pip install llama-recipes
  2. [vllm]
复制代码

要利用敏感主题安全查抄器安装:
  1. pip install llama-recipes
  2. [auditnlg]
复制代码

可选依赖项也可以与[option1, option2]联合利用。

3、从源代码安装

要从源代码安装,比方开发利用这些下令。
我们利用hatchling作为我们的构建后端,它必要最新的pip以及setuptools包。
  1. git clone [email protected]:meta-llama/llama-recipes.git
  2. cd llama-recipes
  3. pip install -U pip setuptools
  4. pip install -e .
复制代码

为了开发和贡献骆驼recipes,致意装全部可选依赖项:
  1. git clone [email protected]:meta-llama/llama-recipes.git
  2. cd llama-recipes
  3. pip install -U pip setuptools
  4. pip install -e .
  5. [tests,auditnlg,vllm]
复制代码

3、得到 Meta Llama 模子

你可以在 Hugging Face 中央这里找到 Meta Llama 模子,此中名称中带有hf的模子已经转换为 Hugging Face checkpoint ,因此不必要进一步转换。
下面的转换步调仅实用于托管在 Hugging Face 模子中央上的元模子权重。

模子转换为 Hugging Face

此文件夹中的 recipes 和条记本利用了 Hugging Face 的变形金刚库提供的 Meta Llama 模子界说。
鉴于原始 checkpoint 位于模子/7B,您可以安装全部要求并将 checkpoint 转换为:
  1. ## Install Hugging Face Transformers from source
  2. pip freeze | grep transformers ## verify it is version 4.31.0 or higher
  3. git clone [email protected]:huggingface/transformers.git
  4. cd transformers
  5. pip install protobuf
  6. python src/transformers/models/llama/convert_llama_weights_to_hf.py \
  7.    --input_dir /path/to/downloaded/llama/weights --model_size 7B --output_dir /output/path
复制代码

三、存储库构造

处理处罚Llama用法的大部门代码被构造在两个主文件夹中:recipes/和src/。

1、recipes/

包罗的示例按主题构造在文件夹中:
子文件夹分析快速入门利用Llama的“Hello World”,如果您不熟悉利用Llama,请今后处开始。use_cases体现Meta Llama3常见应用步伐的脚本3p_integrations互助同伴拥有的文件夹体现Meta Llama3的常见应用步伐responsible_ai利用PurpleLlama掩护模子输出的脚本
2、src/

包罗支持示例recipes的模块:
子文件夹形貌设置包罗PEFT方法、FSDP、数据集、权重和弊端实验跟踪的设置文件。数据集包罗要下载和处理处罚的每个数据集的单独脚本。留意推理包罗用于微调模子的推理模块。model_checkpointing包罗FSDP checkpoint 处理处罚步伐。战略包罗FSDP脚本以提供差异的战略,比方肴杂精度、变压器包装战略和激活 checkpoint 以及任何精度优化器(用于以纯bf16模式运行FSDP)。实用步伐实用步伐文件: -train_utils.py提供训练/eval循环和更多训练实用步伐。
-dataset_utils.py以获取预处理处罚的数据集。
-config_utils.py覆盖从CLI罗致的设置。
-fsdp_utils.py为PEFT方法提供FSDP包装战略。
-memory_utils.py上下文管理器以跟踪训练循环中的差异内存统计信息。
贡献

请阅读CONTRIBUTING.md,相识我们的举动准则以及向我们提交拉取哀求的流程。

伊织 + NMT
2024-07-13(六)
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表