llama-recipes
Meta 官方 Llama Cookbook:涵盖推理、微调、RAG、Agent 全流程的官方开发指
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Meta 官方 Llama Cookbook:涵盖推理、微调、RAG、Agent 全流程的官方开发指
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2023 年,Meta 先后开源了 Llama 和 Llama 2,瞬间引爆全球 AI 社区。但很多开发者在兴奋之余遇到了一个现实问题:有了模型权重,怎么用起来?
从本地推理、微调训练、RAG 检索增强,到多步 Agent 构建、跨平台部署,每一步都可能踩坑。GitHub 上零散的脚本、不完整的示例、不兼容的依赖版本,让很多人望而却步。正是为了解决这个痛点,Meta 官方在 2023 年底推出了 llama-recipes(后更名为 llama-cookbook),为开发者提供从入门到进阶的完整参考。
Llama Cookbook 并不是一个工具库,而是一本"官方菜谱"——告诉你面对不同场景,该用哪些代码、哪些参数、哪些集成方式。它涵盖了 Llama 模型家族的最新技术,包括 Llama 4 的 5M 上下文窗口、多模态视觉能力,以及与主流平台(AWS、GCP、Azure、TogetherAI、Groq、vLLM 等)的集成方案。
图1:一只"程序员羊驼"—— Llama 模型与开源社区共同成长的象征。
Llama Cookbook 的内容组织非常清晰,主要分为三大板块:
推理部分是整个 Cookbook 的起点。仓库提供了两种推理路径:
本地推理(local_inference):使用 transformers + vLLM 在本地 GPU 上运行。示例覆盖了从 7B 到 70B 不同规模模型的加载方式、量化配置(4bit/8bit)以及批量推理的优化技巧。
API 推理(api_inference):通过 Meta Llama API、HuggingFace Inference Endpoints、TGI(Text Generation Inference)等托管服务远程调用。适合没有本地 GPU 的开发者快速体验。
图2:基于 Gradio 的 Llama 对话界面演示,展示多轮对话能力。
微调是 Cookbook 中技术含量最高的部分。仓库支持多种微调范式:
全参数微调(Full Parameter Fine-tuning):使用 PyTorch FSDP(Fully Sharded Data Parallel)在多 GPU 节点上对全部模型参数进行更新。示例包含单节点多卡和多节点 SLURM 脚本,支持从 7B 到 405B 规模模型的分布式训练。
PEFT 微调(Parameter-Efficient Fine-tuning):支持 LoRA、QLoRA、Adapter 等轻量级微调方法,降低显存需求。官方推荐 QLoRA 作为入门首选——在单张 24GB GPU 上即可微调 7B 模型。
多模态微调(Vision Fine-tuning):针对 Llama 3.2 的多模态版本,支持图像-文本对的训练,包含 MllamaForConditionalGeneration 的完整训练 pipeline。
图3:全参数微调架构,支持 FSDP 多卡并行。
图4:PEFT 特征级微调方法对比,LoRA / QLoRA 的核心原理可视化。
Cookbook 不只是教你怎么跑模型,更展示了大量真实场景的端到端实现:
图5:文章摘要端到端用例的运行界面演示。
Cookbook 内置了主流推理平台的快速集成指南,涵盖:
| 平台 | 集成内容 | 适用场景 |
|---|---|---|
| TogetherAI | API 调用 + 微调 | 低成本托管推理 |
| Groq | LPU 推理 | 极速实时响应 |
| AWS SageMaker | 端点部署 | 企业云环境 |
| GCP Vertex AI | Model Garden 集成 | Google 云生态 |
| Azure | OpenAI 兼容 API | 企业微软生态 |
| Modal | Serverless GPU | 按需弹性计算 |
| vLLM | 高吞吐量推理 | 生产级部署 |
从代码结构看,Cookbook 的核心模块位于 src/llama_cookbook/:
inference/:推理引擎封装,包含 llm.py(统一推理接口)、chat_utils.py(对话格式化)、prompt_format_utils.py(提示词模板)、model_utils.py(模型加载与量化)和 safety_utils.py(安全过滤)。finetuning.py:主训练脚本,整合了 Accelerate、FSDP、PEFT,支持单 GPU 到多节点集群的完整训练流程。configs/:FSDP 和量化配置文件,支持不同规模模型的最优配置模板。policies/:自定义优化器(如 AnyPrecisionAdamW)和 FSDP checkpoint 策略。utils/:数据处理(ConcatDataset、dataset_utils)、训练工具(train_utils)和配置管理工具。谁适合用 Cookbook?
Cookbook 主要面向有一定 LLM 基础的开发者。如果你已经熟悉 HuggingFace transformers,有过本地部署开源模型的经验,那么 Cookbook 能帮你快速打通 Llama 的完整技术栈。对于纯新手,建议先阅读 getting-started/ 下的 Jupyter Notebook,跟着一步步操作。
需要注意的坑:
requirements.txt 中指定 pyyaml==6.0.1,markupsafe==2.0.1,随意升级可能导致冲突。官方强烈建议先确认 CUDA 版本(H100 需要 CUDA >12.0)。llama-recipes 仓库已更名为 llama-cookbook,PyPI 包名也做了迁移,老项目的链接和分支有所变化,容易造成混淆。Llama Cookbook 的出现,标志着 Meta 开源战略从"放出模型"升级为"建立生态"。截至目前,仓库已积累超过 18,000 颗 GitHub Stars,成为 Llama 家族最热门的配套项目之一。
它不仅降低了 Llama 的使用门槛,更重要的是,通过提供官方认可的最佳实践,推动了 Llama 在企业级场景中的落地——从医疗文档分析、金融报告生成,到教育智能辅导,Cookbook 中的端到端用例直接可作为生产级参考。
随着 Llama 4 的发布,Cookbook 也在持续演进,新增了多模态、长上下文、Agent 工具调用等前沿能力。可以预见,它将继续作为 Llama 开发者最重要的参考资源之一。