llama 2 github官方文档

骆驼2

我们正在释放大型语言模型的力量。我们最新版本的 Llama 现在可供个人、创作者、研究人员和各种规模的企业使用,以便他们能够负责任地实验、创新和扩展他们的想法。

此版本包括预训练和微调 Llama 语言模型模型权重和起始代码 - 参数范围从 7B 到 70B。

该存储库旨在作为加载Llama 2模型并运行推理的最小示例。有关利用 HuggingFace 的更详细示例,请参阅llama-recipes

下载

⚠️ 7/18:我们知道有人今天遇到了一些下载问题。仍然遇到问题的任何人都应该删除所有本地文件,重新克隆存储库,并请求新的下载链接。如果您的本地文件损坏,执行所有这些操作至关重要。当您收到电子邮件时,复制链接文本 - 它应该以https://download.llamameta.net开头,而不是以https://l.facebook.com开头,否则会出错。

要下载模型权重和分词器,请访问Meta AI 网站并接受我们的许可证。

一旦您的请求获得批准,您将通过电子邮件收到签名的 URL。然后运行 ​​download.sh 脚本,并在提示开始下载时传递提供的 URL。确保复制 URL 文本本身,右键单击 URL 时不要使用“复制链接地址”选项。如果复制的 URL 文本以https://download.llamameta.net开头,则您复制正确。如果复制的 URL 文本以:https://l.facebook.com开头,则您复制的方式错误。

先决条件:确保您已经wget安装md5sum。然后运行脚本:./download.sh

请记住,链接将在 24 小时和一定下载量后过期。如果您开始看到诸如 之类的错误403: Forbidden,您可以随时重新请求链接

拥抱脸部访问

我们还提供Hugging Face上的下载。您必须首先使用与您的 Hugging Face 帐户相同的电子邮件地址从 Meta AI 网站请求下载。完成此操作后,您可以请求访问 Hugging Face 上的任何模型,并在 1-2 天内您的帐户将被授予访问所有版本的权限。

设置

在具有 PyTorch / CUDA 的 conda 环境中,克隆存储库并在顶级目录中运行:

<span style="color:#1f2328"><span style="background-color:#ffffff"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>pip install -e .
</code></span></span></span></span>

推理

不同的模型需要不同的模型并行 (MP) 值:

模型 国会议员
7B 1
13B 2
70B 8

max_seq_len所有模型都支持高达 4096 个令牌的序列长度,但我们根据和值预先分配缓存max_batch_size。因此,请根据您的硬件进行设置。

预训练模型

这些模型未针对聊天或问答进行微调。应该提示他们,以便预期的答案成为提示的自然延续。

请参阅example_text_completion.py一些示例。为了说明这一点,请参阅下面的命令以使用 llama-2-7b 模型运行它(nproc_per_node需要设置为该MP值):

<span style="color:#1f2328"><span style="background-color:#ffffff"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>torchrun --nproc_per_node 1 example_text_completion.py \
    --ckpt_dir llama-2-7b/ \
    --tokenizer_path tokenizer.model \
    --max_seq_len 128 --max_batch_size 4
</code></span></span></span></span>

微调的聊天模型

经过微调的模型针对对话应用进行了训练。为了获得它们的预期功能和性能,chat_completion 需要遵循 中定义的特定格式,包括INST<<SYS>>标签、BOS标记EOS以及之间的空格和断线(我们建议调用strip()输入以避免双空格)。

您还可以部署其他分类器来过滤掉被认为不安全的输入和输出。请参阅 llama-recipes 存储库,了解如何向推理代码的输入和输出添加安全检查器的示例。

使用 llama-2-7b-chat 的示例:

<span style="color:#1f2328"><span style="background-color:#ffffff"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>torchrun --nproc_per_node 1 example_chat_completion.py \
    --ckpt_dir llama-2-7b-chat/ \
    --tokenizer_path tokenizer.model \
    --max_seq_len 512 --max_batch_size 4
</code></span></span></span></span>

Llama 2 是一项新技术,使用时存在潜在风险。迄今为止进行的测试尚未(也不可能)涵盖所有场景。为了帮助开发人员解决这些风险,我们创建了负责任的使用指南。更多详细信息也可以在我们的研究论文中找到。

问题

请通过以下方式之一报告任何软件“错误”或模型的其他问题:

型号卡

请参阅MODEL_CARD.md

执照

我们的模型和权重已获得研究人员和商业实体的许可,坚持开放原则。我们的使命是通过这个机会为个人和行业赋能,同时营造一个发现和道德人工智能进步的环境。

请参阅许可证文件以及我们随附的可接受使用政策

参考

  1. 研究论文
  2. Llama 2 技术概述
  3. 开放创新人工智能研究社区

原始骆驼

原始 llama 版本的存储库位于分支中llama_v1

猜你喜欢

转载自blog.csdn.net/sinat_37574187/article/details/131999233