Llama 2 官方推理代码
Meta 官方开源的 Llama 2 模型推理示例仓库,提供 7B/13B/70B 预训练与对话微调模型的加载与推理最小实现,现已归档,官方建议迁移至 llama-models 等新仓库。
爱鲜报评分
0.0
0 人评分
6k
星数
否
中文
Python
主语言
是
活跃
53
贡献者
人工分析
EDITORIAL推荐理由
作为 Llama 系列最早期的官方推理参考实现,代码结构简洁,是理解模型并行加载、tokenizer 与对话模板(INST/<<SYS>>)的好材料。但仓库已明确标记废弃,模型权重需在 Meta 官网申请并接受许可,下载链接 24 小时过期。新项目建议直接使用 llama-models、llama-cookbook 或 Hugging Face 生态方案。
适用场景
- 学习 Llama 2 模型加载与推理流程
- 复现官方对话模板与文本补全示例
- 研究模型并行(MP)在多卡上的切分方式
- 作为旧项目迁移前的代码参考
优点
- Meta 官方出品,推理逻辑权威可靠
- 代码量小,便于阅读和理解底层实现
- 覆盖 7B/13B/70B 全尺寸模型示例
- 清晰说明对话模型的提示词格式要求
缺点
- 仓库已废弃,不再维护更新
- 模型权重需申请许可,下载链接有时效
- 仅支持 Llama 2,不含 Llama 3 及之后版本
- 缺少中文文档与本地化支持
上手难度
进阶
项目概况
这是 Meta 官方为 Llama 2 提供的推理示例仓库,包含加载预训练模型与对话微调模型并运行推理的最小代码。仓库现已标记为废弃(Deprecated),官方将功能拆分到多个新仓库中。
迁移指引
官方建议后续使用以下仓库:
- llama-models:基础模型、模型卡、许可证与使用政策
- PurpleLlama:安全风险与推理时缓解措施
- llama-toolchain:推理/微调/安全护栏/合成数据的接口与实现
- llama-agentic-system:端到端 Llama Stack 智能体系统
- llama-cookbook:社区驱动的脚本与集成示例
核心能力
- 支持 7B、13B、70B 三种参数规模的预训练与 Chat 模型
- 提供文本补全与对话补全两类示例脚本
- 通过
torchrun启动,按模型规模设置模型并行度
模型并行参考
| 模型 | MP 值 |
|---|---|
| 7B | 1 |
| 13B | 2 |
| 70B | 8 |
所有模型支持最长 4096 token 序列,但显存会按 max_seq_len 与 max_batch_size 预分配,需按硬件条件调整。
使用流程示意
- 在具备 PyTorch / CUDA 的 conda 环境中克隆仓库并安装:
pip install -e .
- 在 Meta 官网申请模型权重并接受许可,通过邮件获得签名下载链接
- 运行
download.sh脚本,按提示粘贴邮件中的链接完成下载 - 使用
torchrun启动推理:
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 6
注意事项
- 对话模型必须遵循特定的提示词格式,包括
INST、<<SYS>>标签以及 BOS/EOS token 与空白处理 - 预训练模型不适合直接问答,应让回答作为提示的自然延续
- 下载链接 24 小时后过期,出现
403: Forbidden需重新申请 - 官方提供 Responsible Use Guide,建议在生产环境中增加输入输出安全过滤
适用建议
若你只是学习 Llama 2 的推理实现或维护旧项目,本仓库仍有参考价值;新项目请直接转向官方新仓库或 Hugging Face 生态。
评论
- 暂无评论,来写第一条吧。