本文档为用户提供了Llama 2的入门基础信息,包括安装、模型下载和运行基本推理。有关模型架构的详细信息,请参阅模型架构;有关特定文本生成技术,请参阅文本生成系统。
Llama 代码库包含几个关键组件,它们协同工作以实现大型语言模型的文本生成。
Sources: README.md42-72
安装 Llama 2
这将安装所需的依赖项
Sources: requirements.txt1-4 setup.py1-16 README.md45-50
使用 Llama 2 的典型工作流程包括下载模型权重、选择模型大小以及使用其中一个示例脚本运行推理。
Sources: README.md42-72 README.md73-112
在运行推理之前,您需要下载模型权重
注意:在运行脚本之前,请确保您已安装 wget 和 md5sum。链接在 24 小时或一定数量的下载后会过期。
可用的模型包括
或者,您可以通过在存储库的模型卡上请求访问来通过 Hugging Face 获取模型。
Sources: README.md27-39
不同的模型需要不同的模型并行 (MP) 值,应在 --nproc_per_node 参数中指定
| 模型 | MP |
|---|---|
| 7B | 1 |
| 13B | 2 |
| 70B | 8 |
所有模型都支持最长 4096 个标记的序列长度,但缓存是根据 max_seq_len 和 max_batch_size 值预先分配的。请根据您的硬件能力设置这些参数。
Sources: README.md73-82
下图说明了文本生成过程中组件如何交互
Sources: README.md85-112
预训练模型未针对聊天或问答进行微调。应提示它们,使预期答案是提示的自然延续。
运行预训练模型(例如 llama-2-7b)
Sources: README.md85-96
这些微调模型是为对话应用训练的。为了获得预期的功能和性能,需要遵循特定的格式,包括 INST 和 <<SYS>> 标签、BOS 和 EOS 标记,以及正确的空白。
运行微调聊天模型(例如 llama-2-7b-chat)
Sources: README.md98-112
运行示例脚本时,可以配置以下几个参数
| 参数 | 描述 | 示例 |
|---|---|---|
--ckpt_dir | 模型检查点目录的路径 | llama-2-7b/ |
--tokenizer_path | 分词器模型的路径 | tokenizer.model |
--max_seq_len | 最大序列长度(最高 4096) | 512 |
--max_batch_size | 最大处理批次大小 | 6 |
--nproc_per_node | 进程数(应与 MP 值匹配) | 1(对于 7B) |
请根据您的硬件能力和模型大小调整这些参数。
Sources: README.md61-72 README.md73-84
403: Forbidden 错误,您的链接可能已过期。请请求新链接。--nproc_per_node 值与您正在使用的模型的 MP 值匹配。max_seq_len 和 max_batch_size。Sources: README.md35-36 README.md67-71