模型简介
模型特点
模型能力
使用案例
license: mit inference: false
模型详情
模型描述:
本模型是Meta Llama 3 - 8B Instruct大语言模型(LLM)的8位量化版本。量化技术减小了模型体积并提升推理速度,使其适合在计算资源有限的设备上部署。原始LLaMa3-Instruct 8B模型是基于自回归Transformer架构的大语言模型,通过海量文本和代码训练而成,并针对指令跟随任务进行微调,在对话任务中表现优异。
原始说明文档
模型详情
Meta开发并发布了Llama 3系列大语言模型(LLMs),包含8B和70B两种规模的预训练及指令微调生成式文本模型。Llama 3指令微调模型专为对话场景优化,在行业常见基准测试中超越多数开源聊天模型。在开发过程中,我们特别注重优化模型的有用性和安全性。
开发团队 Meta
版本变体 Llama 3提供8B和70B两种参数规模的预训练及指令微调版本。
输入 模型仅接受文本输入。
输出 模型仅生成文本和代码。
架构设计 Llama 3采用优化Transformer架构的自回归语言模型。微调版本使用监督微调(SFT)和人类反馈强化学习(RLHF)来对齐人类对有用性和安全性的偏好。
训练数据 | 参数量 | 上下文长度 | GQA | 训练token数 | 知识截止时间 | |
Llama 3 | 公开网络数据的新混合集 | 8B | 8k | 支持 | 15T+ | 2023年3月 |
70B | 8k | 支持 | 2023年12月 |
Llama 3模型家族。token计数仅含预训练数据。8B和70B版本均采用分组查询注意力(GQA)提升推理扩展性。
发布日期 2024年4月18日
状态 本模型基于离线数据集训练,属静态版本。未来将根据社区反馈持续发布安全性优化的微调版本。
许可证 自定义商业许可证详见:https://llama.meta.com/llama3/license
反馈渠道 关于模型的疑问或建议,请参阅模型README中的反馈指南。技术参数说明及应用实践请访问此处。
适用范围
目标场景 Llama 3适用于英语环境的商业和研究用途。指令微调模型适用于助手式对话,预训练模型可适配多种自然语言生成任务。
非适用场景 任何违反法律法规(包括贸易合规法)的使用方式;违反《可接受使用政策》和《Llama 3社区许可证》的使用行为;非英语场景下的直接使用**。
**注:开发者可基于Llama 3社区许可证和可接受使用政策对模型进行非英语语种的微调。
使用指南
本仓库包含两个版本的Meta-Llama-3-70B-Instruct,分别适配transformers库和原生llama3
代码库。
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": "你是一个用海盗口吻回答问题的聊天机器人!"},
{"role": "user", "content": "你是谁?"},
]
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
推荐使用transformers或TGI获取Hugging Face支持,类似命令同样有效。
硬件与软件
训练环境 预训练使用定制训练库、Meta研究超级计算机及生产集群。微调、标注和评估在第三方云计算平台完成。
碳足迹 预训练累计消耗770万GPU小时(H100-80GB硬件,TDP 700W),总排放量2290吨CO2当量,已通过Meta可持续发展计划全额抵消。
耗时(GPU小时) | 功耗(W) | 碳排放(吨CO2当量) | |
Llama 3 8B | 130万 | 700 | 390 |
Llama 3 70B | 640万 | 700 | 1900 |
总计 | 770万 | 2290 |
预训练碳排放数据。耗时:单模型训练总GPU时长。功耗:所用GPU设备的峰值功率容量经使用效率调整。100%排放量由Meta可持续发展计划直接抵消,且模型开源避免了他人重复预训练成本。
训练数据
概览 Llama 3预训练使用超过15万亿token的公开数据。微调数据包含公开指令数据集及超1000万人工标注样本。预训练和微调数据均不含Meta用户数据。
数据时效 8B模型预训练数据截止于2023年3月,70B模型截止于2023年12月。
基准测试
本节报告Llama 3在标准自动化基准上的表现。所有评估使用内部评估库,方法论详见此处。
基础预训练模型
类别 | 基准测试 | Llama 3 8B | Llama2 7B | Llama2 13B | Llama 3 70B | Llama2 70B |
通用能力 | MMLU (5样本) | 66.6 | 45.7 | 53.8 | 79.5 | 69.7 |
AGIEval英文 (3-5样本) | 45.9 | 28.8 | 38.7 | 63.0 | 54.8 | |
CommonSenseQA (7样本) | 72.6 | 57.6 | 67.6 | 83.8 | 78.7 | |
Winogrande (5样本) | 76.1 | 73.3 | 75.4 | 83.1 | 81.8 | |
BIG-Bench Hard (3样本,思维链) | 61.1 | 38.1 | 47.0 | 81.3 | 65.7 | |
ARC-Challenge (25样本) | 78.6 | 53.7 | 67.6 | 93.0 | 85.3 | |
知识推理 | TriviaQA-Wiki (5样本) | 78.5 | 72.1 | 79.6 | 89.7 | 87.5 |
阅读理解 | SQuAD (1样本) | 76.4 | 72.2 | 72.1 | 85.6 | 82.6 |
QuAC (1样本,F1值) | 44.4 | 39.6 | 44.9 | 51.1 | 49.4 | |
BoolQ (0样本) | 75.7 | 65.5 | 66.9 | 79.0 | 73.1 | |
DROP (3样本,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样本) | 68.4 | 34.1 | 47.8 | 82.0 | 52.9 |
GPQA (0样本) | 34.2 | 21.7 | 22.3 | 39.5 | 21.0 |
HumanEval (0样本) | 62.2 | 7.9 | 14.0 | 81.7 | 25.6 |
GSM-8K (8样本,思维链) | 79.6 | 25.7 | 77.4 | 93.0 | 57.5 |
MATH (4样本,思维链) | 30.0 | 3.8 | 6.7 | 50.4 | 11.6 |
责任与安全
我们相信开放方法能催生更优质、更安全的产品,加速创新并扩大整体市场。我们致力于负责任地开发AI,采取系列措施限制滥用和危害,支持开源社区。
基础模型是具备广泛能力的技术,设计用于多样化应用场景。它们并非开箱即用地满足所有开发者对安全级别的偏好,因为这些需求本质上会因应用而异。
负责任的LLM应用部署应贯穿开发全流程的安全实践,包括模型预训练、微调以及部署由保障措施组成的系统,根据具体用例和受众定制安全需求。
作为Llama 3发布的一部分,我们更新了负责任使用指南,概述开发者在应用层面实现模型和系统级安全的最佳实践。同时提供包括Meta Llama Guard 2和代码防护盾在内的工具集。这些工具可显著降低LLM系统的残余风险,同时保持高帮助性。我们鼓励开发者根据需求调整部署这些保障措施,并提供参考实现供起步使用。
Llama 3-Instruct
如《负责任使用指南》所述,模型帮助性与对齐性之间的权衡难以避免。开发者应根据具体用例和受众权衡对齐性和帮助性的收益。使用Llama模型时需注意残余风险,必要时结合其他安全工具以达到适用场景的安全标准。
安全性
针对指令微调模型,我们开展了大量红队测试、对抗性评估并实施安全缓解技术以降低残余风险。与所有大语言模型一样,残余风险仍可能存在,建议开发者在具体用例中评估这些风险。同时,我们正与社区合作推动AI安全基准标准的透明化、严谨化和可解释化。
拒绝机制
除残余风险外,我们特别优化模型对良性提示的拒绝机制。过度拒绝不仅影响用户体验,在某些情境下甚至可能造成危害。听取开发者社区反馈后,我们改进了微调流程,确保Llama 3误拒回答的概率显著低于Llama 2。
我们建立内部基准并开发缓解措施来限制错误拒绝,使Llama 3成为迄今最有帮助的模型。
负责任发布
除上述使用考量外,我们遵循严格流程,在发布前采取额外措施防范滥用和关键风险。
滥用防范
使用Llama 3即表示同意《可接受使用政策》,最新版本见:https://llama.meta.com/llama3/use-policy/。
关键风险
CBRNE(化学、生物、放射、核及高能爆炸物)
我们通过双重评估确保模型在该领域的安全性:
- 训练期间迭代测试模型对CBRNE威胁相关响应的安全性
- 邀请外部CBRNE专家进行提升测试,评估模型准确提供专业知识的能力,并参照普通网络搜索(不使用模型)降低潜在滥用门槛
网络安全
我们使用Meta的CyberSecEval套件评估Llama 3,测量其作为编程助手时生成不安全代码的倾向,以及响应网络攻击请求的倾向(攻击定义采用行业标准MITRE ATT&CK网络攻击本体)。在不安全编码和网络攻击协助测试中,Llama 3的表现与同等编码能力模型相当或更安全。
儿童安全
我们组织专家团队进行儿童安全风险评估,衡量模型输出可能导致儿童安全风险的内容,并通过微调实施必要的风险缓解措施。借助专家红队测试扩展了Llama 3开发期间的评估基准覆盖范围。针对Llama 3,我们采用基于目标的新方法深入评估多攻击向量的模型风险,同时联合内容专家考虑市场特定差异进行违规内容红队测试。
社区
生成式AI安全需要专业知识和工具,我们相信开放社区能加速其发展。作为AI联盟、Partnership in AI和MLCommons等开放组织的成员,我们积极贡献安全标准化和透明化工作。鼓励社区采用MLCommons概念验证评估等分类法,促进安全与内容评估的协作透明。我们的Purple Llama工具已开源供社区使用,并广泛分发至包括云服务商在内的生态伙伴。欢迎为我们的Github仓库贡献代码。
最后,我们建立了输出反馈机制和漏洞赏金计划,在社区帮助下持续改进Llama技术。
伦理考量与局限
Llama 3的核心价值观是开放、包容和助益。它旨在服务所有人,适用于广泛场景,因此设计上力求让不同背景、经验和观点的用户都能访问。Llama 3尊重用户现状和需求,避免不必要的评判或规范性插入,同时理解某些看似有问题的内容在其他情境中可能具有价值。它尊重所有用户的尊严和自主权,特别是推动创新与进步的自由思想和表达价值观。
但Llama 3作为新技术,其使用存在风险。迄今测试仅限英语,且无法覆盖所有场景。因此与所有LLM一样,Llama 3的输出无法提前预测,有时可能对用户提示产生不准确、有偏见或其他不当回应。部署Llama 3应用前,开发者应进行针对具体应用场景的安全测试和调优。如《负责任使用指南》所述,建议将Purple Llama解决方案(特别是提供输入输出过滤基模型的Llama Guard)集成至工作流,在模型级安全之上叠加系统级安全。
完整指南见:http://llama.meta.com/responsible-use-guide
引用规范
@article{llama3modelcard,
title={Llama 3模型卡},
author={AI@Meta},
year={2024},
url = {https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md}
}


