Meta出品下一代开源大语言模型 介绍
了解项目的详细信息和使用方法
Llama 2
我们正在释放大型语言模型的力量。我们最新版本的 Llama 现在可以让个人、创作者、研究人员和各种规模的企业都能够负责地进行实验、创新和扩展他们的想法。
此版本包括预训练和微调的 Llama 语言模型的模型权重和起始代码,参数范围从 7B 到 70B。
该存储库旨在作为加载 Llama 2 模型并进行推理的最小示例。有关使用 HuggingFace 的更详细示例,请参见 llama-recipes。
发布后的更新
请参阅 UPDATES.md。
下载
⚠️ 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:禁止访问”等错误,请随时重新请求链接。
在 Hugging Face 上访问
我们还在 Hugging Face 上提供下载。您必须首先使用与您的 Hugging Face 帐户相同的电子邮件地址从 Meta AI 网站请求下载。在这样做之后,您可以请求访问 Hugging Face 上的任何模型,1-2 天后您的帐户将获得访问所有版本的权限。
设置
在具有 PyTorch / CUDA 的 conda 环境中,克隆存储库并在顶级目录中运行:
pip install -e .
推理
不同的模型需要不同的模型并行(MP)值:
模型 | MP |
---|---|
7B | 1 |
13B | 2 |
70B | 8 |
所有模型都支持最多 4096 个标记的序列长度,但我们根据 max_seq_len
和 max_batch_size
的值预先分配缓存。因此,请根据您的硬件设置这些值。
预训练模型
这些模型没有为聊天或问答进行微调。您应该通过提示使预期的答案成为提示的自然延续。
有关示例,请参见 example_text_completion.py
。为了说明,以下命令演示了如何使用 llama-2-7b 模型运行它(nproc_per_node
需要设置为 MP
的值):
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
微调的聊天模型
这些微调的模型用于对话应用程序。为了获得所需的特性和性能,需要遵循 chat_completion
中定义的特定格式,包括 INST
和 <<SYS>>
标签、BOS
和 EOS
标记,以及其中的空格和换行符(我们建议在输入上调用 strip()
以避免双空格)。
您还可以部署额外的分类器来过滤掉被认为是不安全的输入和输出。请参阅 llama-recipes 存储库的 示例,了解如何将安全检查器添加到推理代码的输入和输出中。
使用 llama-2-7b-chat 的示例:
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
Llama 2 是一项新技术,使用时存在潜在风险。迄今为止进行的测试不能涵盖所有情况。 为了帮助开发人员解决这些风险,我们创建了负责任使用指南。更多细节也可以在我们的研究论文中找到。
问题
请通过以下方式之一报告模型的任何软件“错误”或其他问题:
- 报告模型问题:github.com/facebookresearch/llama
- 报告模型生成的风险内容:developers.facebook.com/llama_output_feedback
- 报告错误和安全问题:facebook.com/whitehat/info
模型卡片
请参阅 MODEL_CARD.md。
许可证
我们的模型和权重适用于研究人员和商业实体,遵守开放原则。我们的使命是通过这个机会来赋予个人和行业权力,同时营造一种发现和道德人工智能进步的环境。
请查看 LICENSE 文件,以及我们的附带的 可接受使用政策。
参考资料
原始 LLaMA
原始 llama 发布的存储库位于 llama_v1
分支中。