? 拥抱脸的模特| 博客 | 网站 |开始使用
感谢您使用 Llama 模型进行开发。作为 Llama 3.1 版本的一部分,我们整合了 GitHub 存储库并添加了一些额外的存储库,因为我们将 Llama 的功能扩展为 e2e Llama Stack。请继续使用以下存储库:
llama-models - 基础模型的中央存储库,包括基本实用程序、模型卡、许可证和使用政策
PurpleLlama - Llama Stack 的关键组件,专注于安全风险和推理时间缓解
llama-toolchain - 模型开发(推理/微调/安全防护/合成数据生成)接口和规范实现
llama-agentic-system - E2E 独立 Llama Stack 系统以及固定的底层接口,可以创建代理应用程序
llama-recipes - 社区驱动的脚本和集成
如果您有任何疑问,请随时就上述任何存储库提出问题,我们将尽力及时回复。
谢谢你!
我们正在释放大型语言模型的力量。我们最新版本的 Llama 现在可供个人、创作者、研究人员和各种规模的企业使用,以便他们能够负责任地实验、创新和扩展他们的想法。
此版本包括预训练和指令调整的 Llama 3 语言模型的模型权重和起始代码 - 包括 8B 到 70B 参数的大小。
该存储库是加载 Llama 3 模型和运行推理的最小示例。有关更详细的示例,请参阅 llama-recipes。
要下载模型权重和分词器,请访问 Meta Llama 网站并接受我们的许可证。
一旦您的请求获得批准,您将通过电子邮件收到签名的 URL。然后,运行 download.sh 脚本,并在提示开始下载时传递提供的 URL。
先决条件:确保已安装wget
和md5sum
。然后运行脚本: ./download.sh
。
请记住,链接将在 24 小时和一定下载量后过期。如果您开始看到诸如403: Forbidden
类的错误,您可以随时重新请求链接。
我们还提供 Hugging Face 的下载,包括 Transformer 和原生llama3
格式。要从 Hugging Face 下载权重,请按照以下步骤操作:
访问其中一个存储库,例如 meta-llama/Meta-Llama-3-8B-Instruct。
阅读并接受许可证。一旦您的请求获得批准,您将有权访问所有 Llama 3 模型。请注意,过去请求最多需要一小时才能得到处理。
要下载原始本机权重以与此存储库一起使用,请单击“文件和版本”选项卡并下载original
文件夹的内容。如果您pip install huggingface-hub
您还可以从命令行下载它们:
Huggingface-cli 下载meta-llama/Meta-Llama-3-8B-Instruct --include "original/*" --local-dir meta-llama/Meta-Llama-3-8B-Instruct
要与转换器一起使用,以下管道片段将下载并缓存权重:
导入transformers导入torchmodel_id =“meta-llama/Meta-Llama-3-8B-Instruct”pipeline = Transformers.pipeline(“文本生成”,model =“meta-llama/Meta-Llama-3-8B-Instruct”,model_kwargs ={"torch_dtype": torch.bfloat16}, device="cuda", )
您可以按照以下步骤快速启动并运行 Llama 3 模型。这些步骤将让您在本地运行快速推理。有关更多示例,请参阅 Llama 食谱存储库。
使用 PyTorch / CUDA 在 conda 环境中克隆并下载此存储库。
在顶级目录中运行:
pip install -e 。
访问 Meta Llama 网站并注册以下载模型。
注册后,您将收到一封电子邮件,其中包含下载模型的 URL。运行 download.sh 脚本时您将需要此 URL。
收到电子邮件后,导航到下载的 llama 存储库并运行 download.sh 脚本。
确保授予 download.sh 脚本执行权限
在此过程中,系统将提示您输入电子邮件中的 URL。
不要使用“复制链接”选项;手动复制电子邮件中的链接。
下载所需的模型后,您可以使用以下命令在本地运行该模型:
torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
笔记
将Meta-Llama-3-8B-Instruct/
替换为检查点目录的路径,将Meta-Llama-3-8B-Instruct/tokenizer.model
替换为标记生成器模型的路径。
–nproc_per_node
应设置为您正在使用的模型的 MP 值。
根据需要调整max_seq_len
和max_batch_size
参数。
此示例运行在此存储库中找到的 example_chat_completion.py,但您可以将其更改为不同的 .py 文件。
不同的模型需要不同的模型并行 (MP) 值:
模型 | 国会议员 |
---|---|
8B | 1 |
70B | 8 |
所有模型都支持高达 8192 个 token 的序列长度,但我们根据max_seq_len
和max_batch_size
值预先分配缓存。因此,请根据您的硬件进行设置。
这些模型未针对聊天或问答进行微调。应该提示他们,以便预期的答案成为提示的自然延续。
有关一些示例,请参阅example_text_completion.py
。为了说明这一点,请参阅下面的命令以使用 llama-3-8b 模型运行它( nproc_per_node
需要设置为MP
值):
torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir Meta-Llama-3-8B/ --tokenizer_path Meta-Llama-3-8B/tokenizer.model --max_seq_len 128 --max_batch_size 4
经过微调的模型针对对话应用进行了训练。为了获得预期的功能和性能,需要遵循ChatFormat
中定义的特定格式:提示以<|begin_of_text|>
特殊标记开始,后面跟随一条或多条消息。每条消息均以<|start_header_id|>
标签、角色system
、 user
或assistant
以及<|end_header_id|>
标签开头。在双换行符nn
之后,后面是消息的内容。每条消息的结尾均由<|eot_id|>
标记标记。
您还可以部署其他分类器来过滤掉被视为不安全的输入和输出。请参阅 llama-recipes 存储库,了解如何向推理代码的输入和输出添加安全检查器的示例。
使用 llama-3-8b-chat 的示例:
torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Llama 3 是一项新技术,使用时存在潜在风险。迄今为止进行的测试尚未(也不可能)涵盖所有场景。为了帮助开发人员解决这些风险,我们创建了负责任的使用指南。
请通过以下方式之一报告模型的任何软件“错误”或其他问题:
报告模型问题:https://github.com/meta-llama/llama3/issues
报告模型生成的有风险内容:developers.facebook.com/llama_output_feedback
报告错误和安全问题:facebook.com/whitehat/info
请参阅 MODEL_CARD.md。
我们的模型和权重已获得研究人员和商业实体的许可,秉承开放原则。我们的使命是通过这个机会为个人和行业赋能,同时营造一个发现和道德人工智能进步的环境。
请参阅许可证文件以及我们随附的可接受使用政策
对于常见问题,可以在此处找到常见问题解答,该常见问题解答将随着新问题的出现而不断更新。