Meta 开发并发布了 Meta Llama 3 系列大型语言模型(LLMs),这是一组预训练和指令调优的生成式文本模型,包含 80 亿和 700 亿参数两种规模。Llama 3 指令调优模型针对对话场景进行了优化,在常见行业基准测试中表现优于许多现有的开源聊天模型。此外,在开发这些模型时,我们高度重视优化模型的有用性和安全性。
模型开发者 Meta
模型变体 Llama 3 提供两种参数规模——80 亿和 700 亿,每种规模均包含预训练版本和指令调优版本。
输入 模型仅输入文本。
输出 模型仅生成文本和代码。
模型架构 Llama 3 是一种自回归语言模型,采用优化的 transformer 架构。调优版本通过监督微调(SFT)和人类反馈强化学习(RLHF)来对齐人类对有用性和安全性的偏好。
| 训练数据 | 参数规模 | 上下文长度 | GQA | 令牌数量 | 知识截止日期 | |
| Llama 3 | 全新的公开可用在线数据混合体。 | 8B | 8k | 是 | 15T+ | 2023 年 3 月 |
| 70B | 8k | 是 | 2023 年 12 月 |
Llama 3 模型系列。令牌数量仅指预训练数据。80 亿和 700 亿版本均使用分组查询注意力(GQA)以提高推理可扩展性。
模型发布日期 2024 年 4 月 18 日。
状态 这是一个在离线数据集上训练的静态模型。随着我们借助社区反馈改进模型安全性,未来将发布调优模型的更新版本。
许可协议 自定义商业许可协议可在以下地址获取:https://llama.meta.com/llama3/license
有关模型的问题或意见反馈渠道 有关如何提供模型反馈或意见的说明,请参见模型 README。如需有关生成参数的更多技术信息以及如何在应用程序中使用 Llama 3 的方法,请访问 此处。
预期使用场景 Llama 3 旨在用于英语的商业和研究用途。指令微调模型适用于类助手聊天场景,而预训练模型可适配各种自然语言生成任务。
超出范围 以任何违反适用法律法规(包括贸易合规法律)的方式使用。以任何其他被《可接受使用政策》和《Llama 3 社区许可协议》禁止的方式使用。使用英语以外的语言**。
注意: 开发人员可对 Llama 3 模型进行微调以支持英语以外的语言,前提是他们遵守《Llama 3 社区许可协议》和《可接受使用政策》。
本仓库包含 Meta-Llama-3-8B-Instruct 的两个版本,分别用于 transformers 和原始 llama3 代码库。
以下是使用 Transformers 的代码片段:
import transformers
import torch
from modelscope import snapshot_download
model_id = snapshot_download("LLM-Research/Meta-Llama-3-8B-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 = [
pipeline.tokenizer.eos_token_id,
pipeline.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-8B-Instruct --include "original/*" --local-dir Meta-Llama-3-8B-Instruct为获得 Hugging Face 支持,我们建议使用 transformers 或 TGI,类似的命令同样适用。
训练要素 我们使用自定义训练库、Meta 的 Research SuperCluster 以及生产集群进行预训练。微调、标注和评估也在第三方云服务器上完成。
碳足迹 预训练在 H100-80GB 类型硬件(TDP 为 700W)上累计使用了 770 万 GPU 小时的计算资源。估计总排放量为 2290 吨二氧化碳当量,其中 100% 通过 Meta 的可持续发展计划进行了抵消。
| 时间(GPU 小时) | 功耗(W) | 碳排放(吨二氧化碳当量) | |
|---|---|---|---|
| Llama 3 8B | 130 万 | 700 | 390 |
| Llama 3 70B | 640 万 | 700 | 1900 |
| 总计 | 770 万 | 2290 |
预训练期间的二氧化碳排放量。时间:训练每个模型所需的总 GPU 时间。功耗:所用 GPU 每台设备的峰值功率容量,并已根据电源使用效率进行调整。100% 的排放量通过 Meta 的可持续发展计划直接抵消,并且由于我们公开发布这些模型,其他人无需承担预训练成本。
概述 Llama 3 是在超过 15 万亿个来自公开可用来源的 tokens 上进行预训练的。微调数据包括公开可用的指令数据集,以及超过 1000 万个人工标注示例。预训练和微调数据集均不包含 Meta 用户数据。
数据时效性 7B 模型的预训练数据截止到 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-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模型时应注意残余风险,并在需要时利用额外的安全工具来达到其用例所需的适当安全标准。
安全性
对于我们的指令微调模型,我们进行了广泛的红队演练,执行了对抗性评估,并实施了安全缓解技术以降低残余风险。与任何大型语言模型一样,残余风险可能仍然存在,我们建议开发者在其特定用例背景下评估这些风险。同时,我们正与社区合作,使人工智能安全基准标准更加透明、严谨和可解释。
拒绝回答
除了残余风险外,我们还非常重视模型对良性提示的拒绝回答问题。过度拒绝不仅会影响用户体验,在某些情况下甚至可能造成危害。我们听取了开发者社区的反馈,并改进了我们的微调过程,以确保Llama 3比Llama 2更不容易错误地拒绝回答提示。
我们建立了内部基准,并开发了缓解措施来限制错误拒绝,使Llama 3成为我们迄今为止最有用的模型。
除了上述负责任使用的考虑因素外,我们遵循了严格的流程,要求我们在做出发布决定之前,针对滥用和重大风险采取额外措施。
滥用
如果您访问或使用Llama 3,您同意遵守《可接受使用政策》。该政策的最新版本可在https://llama.meta.com/llama3/use-policy/获取。
CBRNE(化学、生物、放射、核及高当量爆炸物)
我们对该领域模型的安全性进行了两方面的评估:
我们已使用Meta的网络安全安全评估套件CyberSecEval对Llama 3进行了评估,以衡量Llama 3在作为编码助手时建议不安全代码的倾向,以及其在被请求协助实施网络攻击时的顺从倾向。这里的攻击是根据行业标准MITRE ATT&CK网络攻击本体定义的。在不安全编码和网络攻击者协助度测试中,Llama 3的表现与同等编码能力的模型处于同一范围或更为安全。
儿童安全风险评估由专家团队进行,旨在评估模型生成可能导致儿童安全风险输出的能力,并通过微调告知任何必要且适当的风险缓解措施。在Llama 3模型开发过程中,我们利用这些专家红队演练来扩展评估基准的覆盖范围。针对Llama 3,我们采用基于目标的方法开展了新的深入评估,从多个攻击向量评估模型风险。我们还与内容专家合作进行红队演练,评估潜在的违规内容,同时考虑市场特定的细微差别或经验。
生成式AI安全需要专业知识和工具,我们相信开放社区的力量能够加速其发展。我们是开放联盟的积极成员,包括AI联盟、AI合作伙伴关系和MLCommons,积极为安全标准化和透明度做出贡献。我们鼓励社区采用诸如MLCommons概念验证评估等分类法,以促进安全和内容评估方面的合作与透明度。我们的Purple Llama工具已开源供社区使用,并在包括云服务提供商在内的生态系统合作伙伴中广泛分发。我们鼓励社区为我们的Github仓库做出贡献。
最后,我们建立了一套资源,包括输出报告机制和漏洞赏金计划,以在社区的帮助下持续改进Llama技术。
Llama 3 的核心价值观是开放、包容和乐于助人。它旨在服务于每一个人,并适用于广泛的使用场景。因此,其设计力求让拥有不同背景、经历和观点的人们都能便捷使用。Llama 3 以用户当下的实际情况和需求为出发点,避免植入不必要的评判或规范性内容,同时认识到某些在特定情况下可能看似有问题的内容,在其他场景下也能发挥重要价值。它尊重所有用户的尊严和自主权,尤其重视那些推动创新与进步的自由思想和表达价值。
然而,Llama 3 作为一项新技术,与其他任何新技术一样,其使用也伴随着风险。迄今为止,相关测试均以英语进行,尚未覆盖且也无法覆盖所有可能的场景。基于这些原因,与所有大型语言模型(LLMs)一样,Llama 3 的潜在输出无法提前预测,在某些情况下,模型可能会对用户提示产生不准确、有偏见或其他令人不悦的响应。因此,在部署任何基于 Llama 3 模型的应用之前,开发者应针对其特定的模型应用场景,进行定制化的安全测试和调优。正如《负责任使用指南》中所述,我们建议将 Purple Llama 解决方案整合到您的工作流程中,特别是 Llama Guard,它提供了一个基础模型来过滤输入和输出提示,从而在模型级安全之上增加系统级安全层。
详情请参见《负责任使用指南》,网址为 http://llama.meta.com/responsible-use-guide
@article{llama3modelcard,
title={Llama 3 Model Card},
author={AI@Meta},
year={2024},
url = {https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md}
}
Aaditya Singh;Aaron Grattafiori;Abhimanyu Dubey;Abhinav Jauhri;Abhinav Pandey;Abhishek Kadian;Adam Kelsey;Adi Gangidi;Ahmad Al-Dahle;Ahuva Goldstand;Aiesha Letman;Ajay Menon;Akhil Mathur;Alan Schelten;Alex Vaughan;Amy Yang;Andrei Lupu;Andres Alvarado;Andrew Gallagher;Andrew Gu;Andrew Ho;Andrew Poulton;Andrew Ryan;Angela Fan;Ankit Ramchandani;Anthony Hartshorn;Archi Mitra;Archie Sravankumar;Artem Korenev;Arun Rao;Ashley Gabriel;Ashwin Bharambe;Assaf Eisenman;Aston Zhang;Aurelien Rodriguez;Austen Gregerson;Ava Spataru;Baptiste Roziere;Ben Maurer;Benjamin Leonhardi;Bernie Huang;Bhargavi Paranjape;Bing Liu;Binh Tang;Bobbie Chern;Brani Stojkovic;Brian Fuller;Catalina Mejia Arenas;Chao Zhou;Charlotte Caucheteux;Chaya Nayak;Ching-Hsiang Chu;Chloe Bi;Chris Cai;Chris Cox;Chris Marra;Chris McConnell;Christian Keller;Christoph Feichtenhofer;Christophe Touret;Chunyang Wu;Corinne Wong;Cristian Canton Ferrer;Damien Allonsius;Daniel Kreymer;Daniel Haziza;Daniel Li;Danielle Pintz;Danny Livshits;Danny Wyatt;David Adkins;David Esiobu;David Xu;Davide Testuggine;Delia David;Devi Parikh;Dhruv Choudhary;Dhruv Mahajan;Diana Liskovich;Diego Garcia-Olano;Diego Perino;Dieuwke Hupkes;Dingkang Wang;Dustin Holland;Egor Lakomkin;Elina Lobanova;Xiaoqing Ellen Tan;Emily Dinan;Eric Smith;Erik Brinkman;Esteban Arcaute;Filip Radenovic;Firat Ozgenel;Francesco Caggioni;Frank Seide;Frank Zhang;Gabriel Synnaeve;Gabriella Schwarz;Gabrielle Lee;Gada Badeer;Georgia Anderson;Graeme Nail;Gregoire Mialon;Guan Pang;Guillem Cucurell;Hailey Nguyen;Hannah Korevaar;Hannah Wang;Haroun Habeeb;Harrison Rudolph;Henry Aspegren;Hu Xu;Hugo Touvron;Iga Kozlowska;Igor Molybog;Igor Tufanov;Iliyan Zarov;Imanol Arrieta Ibarra;Irina-Elena Veliche;Isabel Kloumann;Ishan Misra;Ivan Evtimov;Jacob Xu;Jade Copet;Jake Weissman;Jan Geffert;Jana Vranes;Japhet Asher;Jason Park;Jay Mahadeokar;Jean-Baptiste Gaya;Jeet Shah;Jelmer van der Linde;Jennifer Chan;Jenny Hong;Jenya Lee;Jeremy Fu;Jeremy Teboul;Jianfeng Chi;Jianyu Huang;Jie Wang;Jiecao Yu;Joanna Bitton;Joe Spisak;Joelle Pineau;Jon Carvill;Jongsoo Park;Joseph Rocca;Joshua Johnstun;Junteng Jia;Kalyan Vasuden Alwala;Kam Hou U;Kate Plawiak;Kartikeya Upasani;Kaushik Veeraraghavan;Ke Li;Kenneth Heafield;Kevin Stone;Khalid El-Arini;Krithika Iyer;Kshitiz Malik;Kuenley Chiu;Kunal Bhalla;Kyle Huang;Lakshya Garg;Lauren Rantala-Yeary;Laurens van der Maaten;Lawrence Chen;Leandro Silva;Lee Bell;Lei Zhang;Liang Tan;Louis Martin;Lovish Madaan;Luca Wehrstedt;Lukas Blecher;Luke de Oliveira;Madeline Muzzi;Madian Khabsa;Manav Avlani;Mannat Singh;Manohar Paluri;Mark Zuckerberg;Marcin Kardas;Martynas Mankus;Mathew Oldham;Mathieu Rita;Matthew Lennie;Maya Pavlova;Meghan Keneally;Melanie Kambadur;Mihir Patel;Mikayel Samvelyan;Mike Clark;Mike Lewis;Min Si;Mitesh Kumar Singh;Mo Metanat;Mona Hassan;Naman Goyal;Narjes Torabi;Nicolas Usunier;Nikolay Bashlykov;Nikolay Bogoychev;Niladri Chatterji;Ning Dong;Oliver Aobo Yang;Olivier Duchenne;Onur Celebi;Parth Parekh;Patrick Alrassy;Paul Saab;Pavan Balaji;Pedro Rittner;Pengchuan Zhang;Pengwei Li;Petar Vasic;Peter Weng;Polina Zvyagina;Prajjwal Bhargava;Pratik Dubal;Praveen Krishnan;Punit Singh Koura;Qing He;Rachel Rodriguez;Ragavan Srinivasan;Rahul Mitra;Ramon Calderer;Raymond Li;Robert Stojnic;Roberta Raileanu;Robin Battey;Rocky Wang;Rohit Girdhar;Rohit Patel;Romain Sauvestre;Ronnie Polidoro;Roshan Sumbaly;Ross Taylor;Ruan Silva;Rui Hou;Rui Wang;Russ Howes;Ruty Rinott;Saghar Hosseini;Sai Jayesh Bondu;Samyak Datta;Sanjay Singh;Sara Chugh;Sargun Dhillon;Satadru Pan;Sean Bell;Sergey Edunov;Shaoliang Nie;Sharan Narang;Sharath Raparthy;Shaun Lindsay;Sheng Feng;Sheng Shen;Shenghao Lin;Shiva Shankar;Shruti Bhosale;Shun Zhang;Simon Vandenhende;Sinong Wang;Seohyun Sonia Kim;Soumya Batra;Sten Sootla;Steve Kehoe;Suchin Gururangan;Sumit Gupta;Sunny Virk;Sydney Borodinsky;Tamar Glaser;Tamar Herman;Tamara Best;Tara Fowler;Thomas Georgiou;Thomas Scialom;Tianhe Li;Todor Mihaylov;Tong Xiao;Ujjwal Karn;Vedanuj Goswami;Vibhor Gupta;Vignesh Ramanathan;Viktor Kerkez;Vinay Satish Kumar;Vincent Gonguet;Vish Vogeti;Vlad Poenaru;Vlad Tiberiu Mihailescu;Vladan Petrovic;Vladimir Ivanov;Wei Li;Weiwei Chu;Wenhan Xiong;Wenyin Fu;Wes Bouaziz;Whitney Meers;Will Constable;Xavier Martinet;Xiaojian Wu;Xinbo Gao;Xinfeng Xie;Xuchao Jia;Yaelle Goldschlag;Yann LeCun;Yashesh Gaur;Yasmine Babaei;Ye Qi;Yenda Li;Yi Wen;Yiwen Song;Youngjin Nam;Yuchen Hao;Yuchen Zhang;Yun Wang;Yuning Mao;Yuzi He;Zacharie Delpierre Coudert;Zachary DeVito;Zahra Hankir;Zhaoduo Wen;Zheng Yan;Zhengxing Chen;Zhenyu Yang;Zoe Papakipos