模型简介
模型特点
模型能力
使用案例
🚀 Meta Llama 3 - 8B Instruct 大语言模型
Meta Llama 3 - 8B Instruct 是一款强大的大语言模型,经过量化处理后,能在有限计算资源的设备上高效运行。它在对话任务中表现出色,适用于商业和研究场景。
🚀 快速开始
本仓库包含两个版本的 Meta-Llama-3-70B-Instruct,可分别与 transformers
库和原始的 llama3
代码库配合使用。
使用 transformers 库
以下是使用 transformers
库的代码示例:
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-70B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
使用原始的 llama3
代码库
请遵循 仓库 中的说明进行操作。
若要下载原始检查点,请参考以下使用 huggingface-cli
的示例命令:
huggingface-cli download meta-llama/Meta-Llama-3-70B-Instruct --include "original/*" --local-dir Meta-Llama-3-70B-Instruct
对于 Hugging Face 的支持,我们建议使用 transformers
或 TGI,但类似的命令也适用。
✨ 主要特性
- 量化版本:该模型是 Meta Llama 3 - 8B Instruct 大语言模型的 8 位量化版本,量化处理可减小模型大小并提高推理速度,适合在计算资源有限的设备上部署。
- 优化对话:Llama 3 指令调优模型针对对话用例进行了优化,在常见行业基准测试中表现优于许多现有的开源聊天模型。
- 多尺寸选择:Llama 3 有 8B 和 70B 参数两种尺寸,提供预训练和指令调优两种变体。
- 多用途输出:模型输入仅为文本,输出包括文本和代码。
📦 安装指南
文档未提及具体安装步骤,可参考上述使用 transformers
库和原始 llama3
代码库的使用说明进行操作。
📚 详细文档
模型详情
Meta 开发并发布了 Meta Llama 3 系列大语言模型,这是一组预训练和指令调优的生成式文本模型,有 8B 和 70B 两种参数规模。
属性 | 详情 |
---|---|
模型开发者 | Meta |
模型变体 | Llama 3 有 8B 和 70B 参数两种规模,提供预训练和指令调优两种变体 |
输入 | 仅接受文本输入 |
输出 | 生成文本和代码 |
模型架构 | Llama 3 是一种自回归语言模型,采用优化的 Transformer 架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来符合人类对有用性和安全性的偏好 |
训练数据 | 新的公开在线数据组合 |
上下文长度 | 8k |
GQA | 是 |
令牌数量 | 超过 15T |
知识截止日期 | 8B 模型为 2023 年 3 月,70B 模型为 2023 年 12 月 |
模型发布日期 | 2024 年 4 月 18 日 |
状态 | 这是一个基于离线数据集训练的静态模型。随着我们根据社区反馈改进模型安全性,未来将发布调优模型的新版本 |
许可证 | 可在 https://llama.meta.com/llama3/license 获取自定义商业许可证 |
预期用途
- 预期用例:Llama 3 旨在用于英语的商业和研究用途。指令调优模型适用于类似助手的聊天场景,而预训练模型可用于各种自然语言生成任务。
- 超出范围的使用:禁止以任何违反适用法律法规(包括贸易合规法律)的方式使用。禁止以违反可接受使用政策和 Llama 3 社区许可证的任何其他方式使用。禁止使用英语以外的语言。
⚠️ 重要提示
开发者可以在遵守 Llama 3 社区许可证和可接受使用政策的前提下,对 Llama 3 模型进行微调以支持英语以外的语言。
硬件和软件
- 训练因素:我们使用自定义训练库、Meta 的研究超级集群和生产集群进行预训练。微调、注释和评估也在第三方云计算机上进行。 | 模型 | 时间(GPU 小时) | 功耗(W) | 碳排放(tCO2eq) | |------|------|------|------| | Llama 3 8B | 130 万 | 700 | 390 | | Llama 3 70B | 640 万 | 700 | 1900 | | 总计 | 770 万 | - | 2290 |
预训练期间的二氧化碳排放:时间指每个模型训练所需的总 GPU 时间。功耗指所用 GPU 设备的峰值功率容量,并根据功率使用效率进行调整。Meta 的可持续发展计划直接抵消了 100% 的排放,由于我们公开发布了这些模型,其他人无需承担预训练成本。
训练数据
- 概述:Llama 3 在超过 15 万亿个公开可用数据源的令牌上进行了预训练。微调数据包括公开可用的指令数据集以及超过 1000 万个手动注释的示例。预训练和微调数据集均不包含 Meta 用户数据。
- 数据新鲜度:预训练数据的截止日期分别为 7B 模型的 2023 年 3 月和 70B 模型的 2023 年 12 月。
基准测试
在本节中,我们报告了 Llama 3 模型在标准自动基准测试中的结果。所有评估均使用我们的内部评估库。有关方法的详细信息,请参阅 此处。
基础预训练模型
类别 | 基准测试 | Llama 3 8B | Llama2 7B | Llama2 13B | Llama 3 70B | Llama2 70B |
---|---|---|---|---|---|---|
通用 | MMLU (5-shot) | 66.6 | 45.7 | 53.8 | 79.5 | 69.7 |
通用 | AGIEval English (3 - 5 shot) | 45.9 | 28.8 | 38.7 | 63.0 | 54.8 |
通用 | CommonSenseQA (7-shot) | 72.6 | 57.6 | 67.6 | 83.8 | 78.7 |
通用 | Winogrande (5-shot) | 76.1 | 73.3 | 75.4 | 83.1 | 81.8 |
通用 | BIG-Bench Hard (3-shot, CoT) | 61.1 | 38.1 | 47.0 | 81.3 | 65.7 |
通用 | ARC-Challenge (25-shot) | 78.6 | 53.7 | 67.6 | 93.0 | 85.3 |
知识推理 | TriviaQA-Wiki (5-shot) | 78.5 | 72.1 | 79.6 | 89.7 | 87.5 |
阅读理解 | SQuAD (1-shot) | 76.4 | 72.2 | 72.1 | 85.6 | 82.6 |
阅读理解 | QuAC (1-shot, F1) | 44.4 | 39.6 | 44.9 | 51.1 | 49.4 |
阅读理解 | BoolQ (0-shot) | 75.7 | 65.5 | 66.9 | 79.0 | 73.1 |
阅读理解 | DROP (3-shot, F1) | 58.4 | 37.9 | 49.8 | 79.7 | 70.2 |
指令调优模型
基准测试 | Llama 3 8B | Llama 2 7B | Llama 2 13B | Llama 3 70B | Llama 2 70B |
---|---|---|---|---|---|
MMLU (5-shot) | 68.4 | 34.1 | 47.8 | 82.0 | 52.9 |
GPQA (0-shot) | 34.2 | 21.7 | 22.3 | 39.5 | 21.0 |
HumanEval (0-shot) | 62.2 | 7.9 | 14.0 | 81.7 | 25.6 |
GSM-8K (8-shot, CoT) | 79.6 | 25.7 | 77.4 | 93.0 | 57.5 |
MATH (4-shot, CoT) | 30.0 | 3.8 | 6.7 | 50.4 | 11.6 |
责任与安全
我们认为开放的人工智能方法能够带来更好、更安全的产品,加速创新,并扩大整体市场。我们致力于负责任的人工智能开发,并采取了一系列措施来限制滥用和危害,支持开源社区。 基础模型是一种功能广泛的技术,旨在用于各种应用。它们并非为满足所有开发者在所有用例中的安全级别偏好而设计,因为这些偏好本质上会因不同应用而异。 负责任的大语言模型应用部署需要在应用开发的整个过程中实施一系列安全最佳实践,从模型预训练、微调,到部署包含保障措施的系统,以根据具体用例和受众的需求定制安全级别。
作为 Llama 3 发布的一部分,我们更新了 负责任使用指南,概述了开发者为其应用实施模型和系统级安全的步骤和最佳实践。我们还提供了一系列资源,包括 Meta Llama Guard 2 和 Code Shield 保障措施。这些工具已被证明能显著降低大语言模型系统的残余风险,同时保持较高的实用性。我们鼓励开发者根据自身需求调整和部署这些保障措施,并提供了一个 参考实现 供您参考。
Llama 3-Instruct
正如《负责任使用指南》中所述,模型的有用性和对齐性之间可能存在一定的权衡。开发者应根据具体用例和受众,谨慎权衡对齐性和有用性的益处。在使用 Llama 模型时,开发者应注意残余风险,并根据需要利用额外的安全工具,以达到适合其用例的安全标准。
安全性
对于我们的指令调优模型,我们进行了广泛的红队测试、对抗性评估,并实施了安全缓解技术,以降低残余风险。与任何大语言模型一样,残余风险可能仍然存在,我们建议开发者在其用例的背景下评估这些风险。同时,我们正在与社区合作,使人工智能安全基准标准更加透明、严格和可解释。
拒绝回答
除了残余风险,我们还非常重视模型对良性提示的拒绝回答问题。过度拒绝不仅会影响用户体验,在某些情况下甚至可能有害。我们听取了开发者社区的反馈,并改进了微调过程,确保 Llama 3 比 Llama 2 更不可能错误地拒绝回答提示。 我们建立了内部基准测试,并开发了缓解措施,以限制错误拒绝回答的情况,使 Llama 3 成为我们迄今为止最有用的模型。
负责任的发布
除了上述负责任使用的考虑因素外,我们遵循了严格的流程,在做出发布决定之前,采取了额外的措施来防止滥用和应对关键风险。
滥用
如果您访问或使用 Llama 3,即表示您同意《可接受使用政策》。该政策的最新版本可在 https://llama.meta.com/llama3/use-policy/ 查看。
关键风险
- CBRNE(化学、生物、放射、核和高当量爆炸物):我们对模型在这一领域的安全性进行了双重评估:
- 在模型训练期间进行迭代测试,评估与 CBRNE 威胁和其他对抗性风险相关的响应安全性。
- 邀请外部 CBRNE 专家进行提升测试,评估模型准确提供专家知识并减少潜在 CBRNE 滥用障碍的能力,参考不使用模型时通过网络搜索所能达到的效果。
- 网络安全:我们使用 Meta 的网络安全评估套件 CyberSecEval 对 Llama 3 进行了评估,测量了 Llama 3 在作为编码助手时建议不安全代码的倾向,以及在执行网络攻击请求时的合规性,其中攻击定义遵循行业标准 MITRE ATT&CK 网络攻击本体。在不安全编码和网络攻击有用性测试中,Llama 3 的表现与 具有同等编码能力的模型 相当或更安全。
- 儿童安全:我们组建了专家团队进行儿童安全风险评估,以评估模型产生可能导致儿童安全风险输出的能力,并通过微调提供必要和适当的风险缓解建议。我们利用这些专家红队测试扩展了评估基准的覆盖范围,贯穿 Llama 3 模型的开发过程。对于 Llama 3,我们采用基于目标的方法进行了新的深入测试,以评估模型在多个攻击向量下的风险。我们还与内容专家合作进行红队测试,评估潜在违规内容,同时考虑特定市场的细微差别和经验。
社区
生成式人工智能安全需要专业知识和工具,我们相信开放社区的力量能够加速其发展。我们是开放联盟的积极成员,包括 AI Alliance、Partnership in AI 和 MLCommons,积极为安全标准化和透明度做出贡献。我们鼓励社区采用 MLCommons 概念验证评估等分类法,以促进安全和内容评估的合作与透明度。我们的 Purple Llama 工具已开源供社区使用,并广泛分发至包括云服务提供商在内的生态系统合作伙伴。我们鼓励社区为我们的 GitHub 仓库 做出贡献。 最后,我们提供了一系列资源,包括 输出报告机制 和 漏洞赏金计划,以在社区的帮助下不断改进 Llama 技术。
🔧 技术细节
Llama 3 是一种自回归语言模型,采用优化的 Transformer 架构。调优版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来符合人类对有用性和安全性的偏好。模型在超过 15 万亿个公开可用数据源的令牌上进行了预训练,微调数据包括公开可用的指令数据集以及超过 1000 万个手动注释的示例。
📄 许可证
本模型采用 MIT 许可证,可在 https://llama.meta.com/llama3/license 获取自定义商业许可证。
🔍 引用说明
@article{llama3modelcard,
title={Llama 3 Model Card},
author={AI@Meta},
year={2024},
url = {https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md}
}



