Meta 新一代开源大语言模型 Llama 3 详解
介绍
Meta 公司发布的 Llama 3 是开放获取的 Llama 系列的最新版本。作为当前开源大模型领域的重要里程碑,Llama 3 提供了两个主要版本:8B 版本适合在消费级 GPU 上高效部署和开发;70B 版本则专为大规模 AI 应用设计。每个版本都包括基础预训练模型和指令调优(Instruct)两种形式。此外,基于 Llama 3 8B 微调后的安全模型 Llama Guard 2 也已发布,用于识别潜在的不安全内容。
本次发布的核心特性包括模型卡片的完善、Transformers 库的深度集成、推理端点支持以及云端部署选项。以下将详细介绍 Llama 3 的技术细节、评估指标、部署方式及微调指南。
Llama 3 的新进展
Llama 3 的推出标志着 Meta 基于 Llama 2 架构推出了四个新的开放型大语言模型。这些模型分为两种规模:8B 和 70B 参数,每种规模都提供预训练基础版和指令调优版。所有版本均可在各种消费级硬件上运行,并具有 8000 Token 的上下文长度。
核心模型列表
- Meta-Llama-3-8b:8B 基础模型
- Meta-Llama-3-8b-instruct:8B 基础模型的指令调优版
- Meta-Llama-3-70b:70B 基础模型
- Meta-Llama-3-70b-instruct:70B 基础模型的指令调优版
此外,还发布了基于 Llama 3 8B 微调后的最新 Llama Guard 版本——Llama Guard 2。Llama Guard 2 是为生产环境设计的,能够对大语言模型的输入(即提示)和响应进行分类,以便识别潜在的不安全内容,如仇恨言论、暴力威胁等。
架构改进
与 Llama 2 相比,Llama 3 最大的变化是采用了新的 Tokenizer,将词汇表大小扩展至 128,256(前版本为 32,000 Token)。这一更大的词汇库能够更高效地编码文本(无论输入还是输出),并有可能提升模型的多语种处理能力。不过,这也导致嵌入层的输入和输出矩阵尺寸增大,这是小型模型参数增加(从 Llama 2 的 7B 增至 Llama 3 的 8B)的主要原因之一。
此外,8B 版本的模型现在采用了分组查询注意力(GQA),这是一种效率更高的表达方式,有助于处理更长的上下文并减少显存占用。GQA 通过共享键值对来减少计算量,同时保持注意力机制的效果。
训练数据与方法
Llama 3 模型在两个拥有 24,000 GPU 的集群上进行了训练,使用的是超过 15 万亿 Token 的新公共在线数据。更大规模且更细致的数据策划是性能提升的重要因素。Llama 3 Instruct 针对对话应用进行了优化,结合了超过 1000 万的人工标注数据,通过监督式微调(SFT)、拒绝采样、邻近策略优化(PPO)和直接策略优化(DPO)进行训练。
许可条款
Llama 3 提供了一个宽松的许可证,允许重新分发、微调和创作衍生作品。Llama 3 许可证中新增了明确归属的要求,这在 Llama 2 中并未设定。例如,衍生模型需要在其名称开头包含'Llama 3',并且在衍生作品或服务中需注明'基于 Meta Llama 3 构建'。详细条款,请务必阅读官方许可证文档。
Llama 3 评估
根据公开的性能基准测试,Llama 3 在多个标准评测集上表现优异。在代码生成任务中,8B 版本展现出了接近甚至超越部分闭源模型的能力。在多语言能力方面,由于词汇表的扩大,其对非英语语言的覆盖度显著提升。在逻辑推理和数学问题上,70B 版本的表现尤为突出,能够处理复杂的链式推理任务。
需要注意的是,虽然模型能力强大,但在实际应用中仍需结合具体的业务场景进行测试,特别是对于敏感领域的问答,建议配合 Llama Guard 2 使用以确保安全性。
如何设置 Llama 3 的提示词
基础模型不具备固定的提示格式。如同其他基础模型,它们可以用来延续输入序列,提供合理的续写或进行零样本/少样本推理。这些模型也是您自定义微调的理想基础。
指令版本采用以下对话结构:
system
{{ system_prompt }}
user
{{ user_msg_1 }}
assistant
{{ model_answer_1 }}
为了有效使用,必须精确复制此格式。我们稍后将展示如何利用 transformers 中提供的聊天模板轻松重现这一指令提示格式。
演示
您可以在 Hugging Chat 上与 Llama 3 70B 指令版进行交流。访问相关平台即可体验实时对话功能。


