ONNX 模型库
返回模型

说明文档

模型详情

Meta开发并发布了Meta Llama 3系列大型语言模型(LLM),这是一组预训练和指令微调的生成式文本模型,参数规模包括8B和70B。Llama 3指令微调模型针对对话用例进行了优化,在常见的行业基准测试中优于许多可用的开源聊天模型。此外,在开发这些模型时,我们非常注重优化有用性和安全性。

模型开发者 Meta

模型变体 Llama 3有两种规模——8B和70B参数——分别提供预训练和指令微调版本。

输入 模型仅接受文本输入。

输出 模型仅生成文本和代码。

模型架构 Llama 3是一个使用优化transformer架构的自回归语言模型。微调版本使用监督微调(SFT)和带人类反馈的强化学习(RLHF)来与人类对有用性和安全性的偏好保持一致。

<table> <tr> <td> </td> <td><strong>训练数据</strong> </td> <td><strong>参数量</strong> </td> <td><strong>上下文长度</strong> </td> <td><strong>GQA</strong> </td> <td><strong>词元数量</strong> </td> <td><strong>知识截止日期</strong> </td> </tr> <tr> <td rowspan="2" >Llama 3 </td> <td rowspan="2" >公开可用的在线数据的新组合。 </td> <td>8B </td> <td>8k </td> <td>是 </td> <td rowspan="2" >15T+ </td> <td>2023年3月 </td> </tr> <tr> <td>70B </td> <td>8k </td> <td>是 </td> <td>2023年12月 </td> </tr> </table>

Llama 3模型系列。词元数量仅指预训练数据。8B和70B版本均使用分组查询注意力(GQA)以提高推理可扩展性。

模型发布日期 2024年4月18日。

状态 这是一个在离线数据集上训练的静态模型。随着我们根据社区反馈改进模型安全性,将发布微调模型的未来版本。

许可证 自定义商业许可证可在以下地址获取:https://llama.meta.com/llama3/license

关于模型的问题或反馈发送地址 有关如何提供模型反馈或评论的说明,请参见模型README。有关生成参数和在应用中使用Llama 3的配方的更多技术信息,请访问这里

预期用途

预期用例 Llama 3适用于英语环境下的商业和研究用途。指令微调模型适用于类助手聊天场景,而预训练模型可适应各种自然语言生成任务。

超出范围 以任何违反适用法律或法规(包括贸易合规法律)的方式使用。以Llama 3可接受使用政策和Llama 3社区许可证禁止的任何其他方式使用。英语以外的语言使用

注意:开发者可以在遵守Llama 3社区许可证和可接受使用政策的前提下,为英语以外的语言微调Llama 3模型。

如何使用

本仓库包含Meta-Llama-3-8B-Instruct的两个版本,分别用于transformers和原始llama3代码库。

使用transformers

请参阅以下代码片段,了解如何使用Transformers:

import transformers
import torch

model_id = "meta-llama/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 = [
    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-8B-Instruct --include "original/*" --local-dir Meta-Llama-3-8B-Instruct

对于Hugging Face支持,我们推荐使用transformers或TGI,但类似的命令也可以使用。

硬件和软件

训练因素 我们使用自定义训练库、Meta研究超集群和生产集群进行预训练。微调、标注和评估也在第三方云计算上完成。

碳足迹 预训练累计使用了770万GPU小时的H100-80GB(TDP为700W)类型硬件上的计算。估计总排放量为2290 tCO2eq,其中100%由Meta的可持续发展计划抵消。

<table> <tr> <td> </td> <td><strong>时间(GPU小时)</strong> </td> <td><strong>功耗(W)</strong> </td> <td><strong>碳排放(tCO2eq)</strong> </td> </tr> <tr> <td>Llama 3 8B </td> <td>130万 </td> <td>700 </td> <td>390 </td> </tr> <tr> <td>Llama 3 70B </td> <td>640万 </td> <td>700 </td> <td>1900 </td> </tr> <tr> <td>总计 </td> <td>770万 </td> <td> </td> <td>2290 </td> </tr> </table>

预训练期间的CO2排放。时间:训练每个模型所需的总GPU时间。功耗:所用GPU设备的峰值功率容量,根据功率使用效率进行了调整。100%的排放由Meta的可持续发展计划直接抵消,并且由于我们公开发布这些模型,其他人无需承担预训练成本。

训练数据

概述 Llama 3在来自公开可用来源的超过15万亿词元的数据上进行了预训练。微调数据包括公开可用的指令数据集,以及超过1000万个人工标注示例。预训练和微调数据集均不包括Meta用户数据。

数据时效性 预训练数据的截止日期:8B模型为2023年3月,70B模型为2023年12月。

基准测试

在本节中,我们报告Llama 3模型在标准自动基准测试上的结果。对于所有评估,我们使用内部评估库。有关方法论的详细信息,请参见这里

基础预训练模型

<table> <tr> <td><strong>类别</strong> </td> <td><strong>基准测试</strong> </td> <td><strong>Llama 3 8B</strong> </td> <td><strong>Llama2 7B</strong> </td> <td><strong>Llama2 13B</strong> </td> <td><strong>Llama 3 70B</strong> </td> <td><strong>Llama2 70B</strong> </td> </tr> <tr> <td rowspan="6" >通用 </td> <td>MMLU (5-shot) </td> <td>66.6 </td> <td>45.7 </td> <td>53.8 </td> <td>79.5 </td> <td>69.7 </td> </tr> <tr> <td>AGIEval英语 (3-5 shot) </td> <td>45.9 </td> <td>28.8 </td> <td>38.7 </td> <td>63.0 </td> <td>54.8 </td> </tr> <tr> <td>CommonSenseQA (7-shot) </td> <td>72.6 </td> <td>57.6 </td> <td>67.6 </td> <td>83.8 </td> <td>78.7 </td> </tr> <tr> <td>Winogrande (5-shot) </td> <td>76.1 </td> <td>73.3 </td> <td>75.4 </td> <td>83.1 </td> <td>81.8 </td> </tr> <tr> <td>BIG-Bench Hard (3-shot, CoT) </td> <td>61.1 </td> <td>38.1 </td> <td>47.0 </td> <td>81.3 </td> <td>65.7 </td> </tr> <tr> <td>ARC-Challenge (25-shot) </td> <td>78.6 </td> <td>53.7 </td> <td>67.6 </td> <td>93.0 </td> <td>85.3 </td> </tr> <tr> <td>知识推理 </td> <td>TriviaQA-Wiki (5-shot) </td> <td>78.5 </td> <td>72.1 </td> <td>79.6 </td> <td>89.7 </td> <td>87.5 </td> </tr> <tr> <td rowspan="4" >阅读理解 </td> <td>SQuAD (1-shot) </td> <td>76.4 </td> <td>72.2 </td> <td>72.1 </td> <td>85.6 </td> <td>82.6 </td> </tr> <tr> <td>QuAC (1-shot, F1) </td> <td>44.4 </td> <td>39.6 </td> <td>44.9 </td> <td>51.1 </td> <td>49.4 </td> </tr> <tr> <td>BoolQ (0-shot) </td> <td>75.7 </td> <td>65.5 </td> <td>66.9 </td> <td>79.0 </td> <td>73.1 </td> </tr> <tr> <td>DROP (3-shot, F1) </td> <td>58.4 </td> <td>37.9 </td> <td>49.8 </td> <td>79.7 </td> <td>70.2 </td> </tr> </table>

指令微调模型

<table> <tr> <td><strong>基准测试</strong> </td> <td><strong>Llama 3 8B</strong> </td> <td><strong>Llama 2 7B</strong> </td> <td><strong>Llama 2 13B</strong> </td> <td><strong>Llama 3 70B</strong> </td> <td><strong>Llama 2 70B</strong> </td> </tr> <tr> <td>MMLU (5-shot) </td> <td>68.4 </td> <td>34.1 </td> <td>47.8 </td> <td>82.0 </td> <td>52.9 </td> </tr> <tr> <td>GPQA (0-shot) </td> <td>34.2 </td> <td>21.7 </td> <td>22.3 </td> <td>39.5 </td> <td>21.0 </td> </tr> <tr> <td>HumanEval (0-shot) </td> <td>62.2 </td> <td>7.9 </td> <td>14.0 </td> <td>81.7 </td> <td>25.6 </td> </tr> <tr> <td>GSM-8K (8-shot, CoT) </td> <td>79.6 </td> <td>25.7 </td> <td>77.4 </td> <td>93.0 </td> <td>57.5 </td> </tr> <tr> <td>MATH (4-shot, CoT) </td> <td>30.0 </td> <td>3.8 </td> <td>6.7 </td> <td>50.4 </td> <td>11.6 </td> </tr> </table>

责任与安全

我们相信,开放的AI方法能带来更好、更安全的产品,更快的创新,以及更大的整体市场。我们致力于负责任的AI开发,并采取了一系列措施来限制滥用和危害,支持开源社区。

基础模型是广泛能力的技术,旨在用于各种应用。它们并非开箱即用地为所有用例满足每个开发者在安全级别上的偏好,因为这些偏好因应用而异。

相反,负责任的LLM应用部署是通过在此类应用的开发过程中实施一系列安全最佳实践来实现的,从模型预训练、微调到部署由安全措施组成的系统,以专门针对用例和受众定制安全需求。

作为Llama 3发布的一部分,我们更新了负责任使用指南,概述了开发者为其应用实施模型级和系统级安全的步骤和最佳实践。我们还提供了一套资源,包括Meta Llama Guard 2Code Shield安全防护。这些工具已被证明可以大幅降低LLM系统的残余风险,同时保持高水平的帮助性。我们鼓励开发者根据其需求调整和部署这些安全防护,并提供了一个参考实现帮助您入门。

Llama 3-Instruct

如负责任使用指南所述,模型有用性和模型对齐之间的某些权衡可能是不可避免的。开发者应自行决定如何为其特定用例和受众权衡对齐和有用性的好处。开发者在使用Llama模型时应注意残余风险,并根据需要利用额外的安全工具来达到其用例所需的安全标准。

<span style="text-decoration:underline;">安全性</span>

对于我们的指令微调模型,我们进行了广泛的红队测试演练,执行了对抗性评估,并实施了安全缓解技术以降低残余风险。与任何大型语言模型一样,残余风险可能仍然存在,我们建议开发者在其用例背景下评估这些风险。同时,我们正在与社区合作,使AI安全基准标准透明、严格和可解释。

<span style="text-decoration:underline;">拒绝</span>

除了残余风险,我们非常重视模型对良性提示的拒绝。过度拒绝不仅会影响用户体验,在某些情况下甚至可能有害。我们听取了开发者社区的反馈,改进了微调,以确保Llama 3比Llama 2更不可能错误地拒绝回答提示。

我们建立了内部基准并开发了缓解措施来限制错误拒绝,使Llama 3成为我们迄今为止最有帮助的模型。

负责任发布

除了上述负责任使用考虑因素外,我们还遵循了严格的流程,要求我们在做出发布决定之前针对滥用和关键风险采取额外措施。

滥用

如果您访问或使用Llama 3,即表示您同意可接受使用政策。该政策的最新副本可在https://llama.meta.com/llama3/use-policy/找到。

关键风险

<span style="text-decoration:underline;">CBRNE</span>(化学、生物、放射、核和高当量爆炸物)

我们在此领域对模型的安全性进行了双重评估:

  • 在模型训练期间进行迭代测试,以评估与CBRNE威胁和其他对抗性风险相关的响应安全性。
  • 邀请外部CBRNE专家进行提升测试,评估模型准确提供专家知识并降低潜在CBRNE滥用障碍的能力,参照使用网络搜索(不使用模型)所能实现的效果。

<span style="text-decoration:underline;">网络安全</span>

我们使用CyberSecEval(Meta的网络安全安全评估套件)对Llama 3进行了评估,测量Llama 3作为编码助手时建议不安全代码的倾向,以及Llama 3配合执行网络攻击请求的倾向,其中攻击由行业标准MITRE ATT&CK网络攻击框架定义。在我们的不安全编码和网络攻击者有用性测试中,Llama 3的表现与同等编码能力的模型相当或更安全。

<span style="text-decoration:underline;">儿童安全</span>

儿童安全风险评估由专家团队进行,评估模型产生可能导致儿童安全风险的输出的能力,并通过微调为任何必要和适当的风险缓解措施提供信息。我们利用这些专家红队测试会话,在Llama 3模型开发过程中扩展了评估基准的覆盖范围。对于Llama 3,我们使用基于目标的方法进行了新的深度会话,以评估模型沿多个攻击向量的风险。我们还与内容专家合作进行红队测试演练,评估潜在违规内容,同时考虑市场特定的细微差别或体验。

社区

生成式AI安全需要专业知识和工具,我们相信开放社区的力量可以加速其进展。我们是开放联盟的活跃成员,包括AI联盟、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 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

renwoshin/Meta-Llama-3-8B-Instruct-onnx-tf-fp16

作者 renwoshin

text-generation transformers
↓ 1 ♥ 0

创建时间: 2024-04-25 21:37:57+00:00

更新时间: 2024-04-25 22:06:26+00:00

在 Hugging Face 上查看

文件 (11)

.gitattributes
LICENSE
README.md
USE_POLICY.md
config.json
generation_config.json
onnx/decoder_model_merged_quantized.onnx ONNX
onnx/decoder_model_merged_quantized.onnx.data
special_tokens_map.json
tokenizer.json
tokenizer_config.json