Meta Llama 3 简介

文章目录

    • 要点
    • 我们对 Llama 3 的目标
    • 最先进的性能
    • 模型架构
    • 训练数据
    • 扩大预训练规模
    • 指令微调
    • 与 Llama 3 一起建造
    • 系统级责任方法
    • 大规模部署 Llama 3
    • Llama 3 的下一步是什么?
    • 立即尝试 Meta Llama 3


本文翻译自:https://ai.meta.com/blog/meta-llama-3/


要点

  • 今天,我们将介绍 Meta Llama 3,它是我们最先进的开源大型语言模型的下一代。
  • Llama 3 模型即将在 AWS、Databricks、Google Cloud、Hugging Face、Kaggle、IBM WatsonX、Microsoft Azure、NVIDIA NIM 和 Snowflake 上推出,并得到 AMD、AWS、Dell、Intel、NVIDIA 和高通 提供的硬件平台的支持。
  • 我们致力于以负责任的方式开发 Llama 3,并且我们提供各种资源来帮助其他人也负责任地使用它。这包括引入 Llama Guard 2、Code Shield 和 CyberSec Eval 2 等新的信任和安全工具。
  • 在接下来的几个月中,我们预计将推出新功能、更长的上下文窗口、额外的模型大小和增强的性能,并且我们将分享 Llama 3 研究论文。
  • 采用 Llama 3 技术构建的 Meta AI 现在是世界领先的人工智能助手之一,可以提高您的智力并减轻您的负担,帮助您学习、完成工作、创建内容和连接,以充分利用每一刻。你可以在这里尝试Meta AI 。

今天,我们很高兴与大家分享下一代 Llama(Meta Llama 3)的前两个型号,可供广泛使用。

此版本具有经过预训练和指令微调的语言模型,具有 8B 和 70B 参数,可以支持广泛的用例。

下一代 Llama 在各种行业基准上展示了最先进的性能,并提供了新功能,包括改进的推理能力。

我们相信这些是同类时期最好的开源模型。为了支持我们长期以来的开放态度,我们将 Llama 3 交给社区。我们希望在整个堆栈中启动人工智能的下一波创新浪潮——从应用程序到开发人员工具,从评估到推理优化等等。我们迫不及待地想看看您构建的内容并期待您的反馈。

我们对 Llama 3 的目标

通过 Llama 3,我们着手构建与当今最好的专有模型相媲美的最佳开放模型。

我们希望解决开发人员的反馈意见,以提高 Llama 3 的整体实用性,并在这样做的同时继续在负责任地使用和部署 LLM 方面发挥主导作用。

我们拥护 尽早发布并经常发布的开源精神,以使社区能够在这些模型仍处于开发阶段时访问它们。

我们今天发布的基于文本的模型是 Llama 3 模型系列中的第一个。
我们近期的目标是使 Llama 3 成为多语言和多模式、具有更长的上下文,并继续提高推理和编码等核心 LLM 能力的整体性能。


最先进的性能

我们新的 8B 和 70B 参数 Llama 3 模型是 Llama 2 的重大飞跃,并为这些规模的 LLM 模型建立了新的最先进技术。

由于预训练和训练后的改进,我们的预训练和指令微调模型是当今 8B 和 70B 参数规模的最佳模型。

我们训练后程序的改进大大降低了错误拒绝率,改善了一致性,并增加了模型响应的多样性。

我们还看到了推理、代码生成和指令跟踪等功能的极大改进,使 Llama 3 更加易于操控。

在这里插入图片描述

*请参阅评估详细信息以了解计算这些评估的设置和参数。


在 Llama 3 的开发过程中,我们研究了标准基准上的模型性能,并寻求优化现实场景的性能。

为此,我们开发了一套新的高质量人类评估集。该评估集包含 1,800 个提示,涵盖 12 个关键用例:寻求建议、头脑风暴、分类、封闭式问答、编码、创意写作、提取、塑造角色/角色、开放式问答、推理、重写和总结。为了防止我们的模型在此评估集上意外过度拟合,即使我们自己的建模团队也无法访问它。下图显示了我们针对 Claude Sonnet、Mistral Medium 和 GPT-3.5 对这些类别和提示进行人工评估的汇总结果。

在这里插入图片描述


人类注释者根据此评估集进行的偏好排名突显了我们的 70B 指令跟踪模型与现实场景中同等大小的竞争模型相比的强大性能。

我们的预训练模型还为这些规模的LLM模型建立了新的最先进水平。

在这里插入图片描述

*请参阅评估详细信息以了解计算这些评估的设置和参数。

为了开发出色的语言模型,我们认为创新、扩展和优化以实现简单性非常重要。

我们在 Llama 3 项目中采用了这一设计理念,重点关注四个关键要素:模型架构、预训练数据、扩大预训练和指令微调。


模型架构

根据我们的设计理念,我们在 Llama 3 中选择了相对标准的仅解码器 Transformer 架构。

与 Llama 2 相比,我们做了几个关键的改进。

Llama 3 使用具有 128K 标记词汇表的标记器,可以更有效地对语言进行编码,从而显着提高模型性能。

为了提高 Llama 3 模型的推理效率,我们在 8B 和 70B 大小上采用了分组查询注意力 (GQA)。

我们在 8,192 个标记的序列上训练模型,使用掩码确保自注意力不会跨越文档边界。


训练数据

为了训练最好的语言模型,管理大型、高质量的训练数据集至关重要。根据我们的设计原则,我们在预训练数据上投入了大量资金。
Llama 3 经过超过 15T token 的预训练,这些 token 全部从公开来源收集。
我们的训练数据集比 Llama 2 使用的数据集大七倍,并且包含四倍多的代码。
为了为即将到来的多语言用例做好准备,超过 5% 的 Llama 3 预训练数据集由涵盖 30 多种语言的高质量非英语数据组成。
但是,我们预计这些语言的性能水平不会与英语相同。

为了确保 Llama 3 接受最高质量数据的训练,我们开发了一系列数据过滤管道。这些管道包括使用启发式过滤器、NSFW 过滤器、语义重复数据删除方法和文本分类器来预测数据质量。
我们发现前几代 Llama 非常擅长识别高质量数据,因此我们使用 Llama 2 为为 Llama 3 提供支持的文本质量分类器生成训练数据。

我们还进行了广泛的实验,以评估在最终预训练数据集中混合不同来源的数据的最佳方法。
这些实验使我们能够选择一个数据组合,确保 Llama 3 在各种用例(包括琐事问题、STEM、编码、历史知识等)中表现良好。


扩大预训练规模

为了有效利用 Llama 3 模型中的预训练数据,我们投入了大量精力来扩大预训练规模。
具体来说,我们为下游基准评估制定了一系列详细的缩放法则。
这些缩放法则使我们能够选择最佳的数据组合,并就如何最好地使用我们的训练计算做出明智的决策。
重要的是,缩放法则使我们能够在实际训练模型之前预测最大模型在关键任务上的性能(例如,在 HumanEval 基准上评估的代码生成 - 见上文)。
这有助于我们确保最终模型在各种用例和功能上都具有强大的性能。

在 Llama 3 的开发过程中,我们对缩放行为进行了一些新的观察。
例如,虽然 8B 参数模型的 Chinchilla 最佳训练计算量对应于约 200B 个标记,但我们发现即使在模型建立之后,模型性能仍在继续提高接受了两个数量级以上的数据训练。
在我们对多达 15T 代币进行训练后,我们的 8B 和 70B 参数模型都继续以对数线性方式改进。
较大的模型可以用较少的训练计算来匹配这些较小模型的性能,但较小的模型通常是首选,因为它们在推理过程中效率更高。

为了训练我们最大的 Llama 3 模型,我们结合了三种类型的并行化:数据并行化、模型并行化和管道并行化。
当同时在 16K GPU 上进行训练时,我们最高效的实现可实现每个 GPU 超过 400 TFLOPS 的计算利用率。
我们在两个定制的24K GPU 集群上进行了训练。
为了最大限度地延长 GPU 的正常运行时间,我们开发了一种先进的新训练堆栈,可以自动执行错误检测、处理和维护。
我们还极大地改进了硬件可靠性和静默数据损坏检测机制,并且开发了新的可扩展存储系统,以减少检查点和回滚的开销。这些改进使总体有效培训时间超过 95%。
综合起来,这些改进使 Llama 3 的训练效率比 Llama 2 提高了约三倍。


指令微调

为了充分释放我们的预训练模型在聊天用例中的潜力,我们还对指令调整方法进行了创新。我们的后训练方法是监督微调(SFT)、拒绝采样、近端策略优化(PPO)和直接策略优化(DPO)的组合。
SFT 中使用的提示质量以及 PPO 和 DPO 中使用的偏好排名对对齐模型的性能有着巨大的影响。
我们在模型质量方面的一些最大改进来自于仔细整理这些数据并对人类注释者提供的注释进行多轮质量保证。

通过 PPO 和 DPO 从偏好排名中学习也极大地提高了 Llama 3 在推理和编码任务上的性能。
我们发现,如果你向模型提出一个它难以回答的推理问题,该模型有时会产生正确的推理轨迹:模型知道如何产生正确的答案,但不知道如何选择它。对偏好排名的训练使模型能够学习如何选择它。


与 Llama 3 一起建造

我们的愿景是让开发人员能够定制 Llama 3 以支持相关用例,并更轻松地采用最佳实践并改善开放生态系统。
在此版本中,我们提供了新的信任和安全工具,包括 Llama Guard 2 和 Cybersec Eval 2 的更新组件,并引入了 Code Shield——一种用于过滤 LLM 生成的不安全代码的推理时间防护栏。

我们还与 torchtune 共同开发了 Llama 3 ,torchtune 是新的 PyTorch 原生库,可以轻松地使用 LLM 进行创作、微调和实验。

torchtune 提供完全用 PyTorch 编写的内存高效且可破解的训练方法。
该库与 Hugging Face、Weights & Biases 和 EleutherAI 等流行平台集成,甚至支持 Executorch,以便在各种移动和边缘设备上运行高效推理。

从快速工程到将 Llama 3 与 LangChain 结合使用,我们提供了全面的入门指南,指导您从下载 Llama 3 一直到在生成式 AI 应用程序中进行大规模部署。


系统级责任方法

我们设计的 Llama 3 模型能够最大限度地提供帮助,同时确保采用行业领先的方法来负责任地部署它们。
为了实现这一目标,我们采用了一种新的系统级方法来负责任地开发和部署 Llama。
我们将 Llama 模型视为更广泛系统的一部分,让开发人员掌握主导权。
Llama 模型将作为开发人员在设计时考虑到其独特的最终目标的系统的基础部分。

在这里插入图片描述

指令微调在确保模型的安全性方面也发挥着重要作用。
我们的指令微调模型已经通过内部和外部的努力进行了安全红队(测试)。
我们的红队方法利用人类专家和自动化方法来生成对抗性提示,试图引发有问题的响应。

例如,我们应用全面的测试来评估与化学、生物、网络安全和其他风险领域相关的滥用风险。
所有这些努力都是迭代的,并用于为正在发布的模型进行安全微调提供信息。
您可以在模型卡中详细了解我们的努力。

Llama Guard 模型旨在成为快速响应安全的基础,并且可以根据应用需求轻松进行微调以创建新的分类法。
作为起点,新的 Llama Guard 2 使用最近宣布的MLCommons 分类法,努力支持这一重要领域行业标准的出现。
此外,CyberSecEval 2 在其前身的基础上进行了扩展,添加了对 LLM 允许滥用其代码解释器的倾向、攻击性网络安全功能以及对提示注入攻击的敏感性的测量(在我们的技术论文中了解更多信息)。
最后,我们引入了 Code Shield,它增加了对 LLM 生成的不安全代码的推理时过滤的支持。
这可以缓解不安全代码建议、代码解释器滥用预防和安全命令执行方面的风险。

随着生成人工智能领域的发展速度,我们相信开放的方法是将生态系统整合在一起并减轻这些潜在危害的重要方式。
作为其中的一部分,我们正在更新我们的负责任使用指南(RUG),该指南为LLM负责任的开发提供了全面的指南。
正如我们在 RUG 中概述的那样,我们建议根据适合应用程序的内容指南检查和过滤所有输入和输出。
此外,许多云服务提供商提供内容审核 API 和其他用于负责任部署的工具,我们鼓励开发人员也考虑使用这些选项。


大规模部署 Llama 3

Llama 3 很快将在所有主要平台上提供,包括云提供商、模型 API 提供商等等。 Llama 3 将无处不在。

我们的基准测试显示,标记生成器提高了标记效率,与 Llama 2 相比,生成的标记最多减少了 15%。
此外,Llama 3 8B 现在也添加了组查询注意 (GQA)。
结果,我们观察到,尽管与 Llama 2 7B 相比,模型的参数多了 1B,但改进的分词器效率和 GQA 有助于保持与 Llama 2 7B 相同的推理效率。

有关如何利用所有这些功能的示例,请查看Llama Recipes,其中包含我们所有的开源代码,这些代码可用于从微调到部署再到模型评估的所有内容。


Llama 3 的下一步是什么?

Llama 3 8B 和 70B 型号标志着我们计划为 Llama 3 发布的产品的开始。接下来还会有更多产品。

我们最大的模型有超过 400B 个参数,虽然这些模型仍在训练中,但我们的团队对它们的趋势感到兴奋。
在接下来的几个月中,我们将发布多个具有新功能的模型,包括多模态、以多种语言交谈的能力、更长的上下文窗口和更强的整体功能。
一旦我们完成 Llama 3 的训练,我们还将发布一份详细的研究论文。

为了让您先睹为快,了解这些模型在继续训练时的现状,我们认为可以分享一些关于我们最大的 LLM 模型趋势的快照。
请注意,此数据基于 Llama 3 的早期检查点,该检查点仍在训练中,并且今天发布的模型不支持这些功能。

在这里插入图片描述

*请参阅评估详细信息以了解计算这些评估的设置和参数。

我们致力于开放人工智能生态系统的持续增长和发展,以负责任地发布我们的模型。我们长期以来一直相信,开放可以带来更好、更安全的产品、更快的创新以及更健康的整体市场。这对 Meta 有利,对社会也有利。
我们对 Llama 3 采取社区优先的方法,从今天开始,这些模型可在领先的云、托管和硬件平台上使用,未来还会有更多模型。


立即尝试 Meta Llama 3

我们已将最新模型集成到 Meta AI 中,我们相信它是世界领先的人工智能助手。它现在采用 Llama 3 技术构建,并可在更多国家/地区通过我们的应用程序使用。

您可以在 Facebook、Instagram、WhatsApp、Messenger 和网络上使用 Meta AI来完成工作、学习、创建和连接对您重要的事物。您可以在此处阅读有关 Meta AI 体验的更多信息。

请访问Llama 3 网站下载模型并参考入门指南以获取所有可用平台的最新列表。

您很快就可以在我们的 Ray-Ban Meta 智能眼镜上测试多模式 Meta AI。

一如既往,我们期待看到您使用 Meta Llama 3 构建的所有令人惊叹的产品和体验。


2024-04-19(五)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/559067.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【个人博客搭建】(5)Sqlsugar实体创建数据库数据

1、在appsettings.json文件中配置SqlServer数据库连接字符串信息。(后续考虑添加MySQL数据库等类型) "DBS": [/*对应下边的 DBTypeMySql 0,SqlServer 1,*/{"ConnId": "plateau.poetize.2024","DBType": 1,&qu…

便携式HD-SDI模拟源测试设备

便携式HD-SDI模拟源测试设备 平台简介 便携式手提CameraLink模拟源测试设备,以PCIe的HD-SDI播出卡和X86主板为基础,构建便携式的手提设备。 平台默认操作系统为win7 64位系统;具备丰富的外设接口,如VGA、HDMI、千兆网口、USB2.0/3…

ADOP 万兆电口光模块:SFP+转RJ45端口解决方案

🌵在数据中心的接入层中,大多数服务器网卡(NIC)和存储设备都采用10GBASE-T RJ45端口,而与之相连的TOR(机架顶部)交换机通常配备SFP端口,且二者无法直接相连。为了解决该问题&#xf…

[大模型]Qwen-7B-hat Transformers 部署调用

Qwen-7B-hat Transformers 部署调用 环境准备 在autodl平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的JupyterLab,并且打开其中的终端开始环境配置、模型下…

AI大模型探索之路-应用篇17:GLM大模型-大数据自助查询平台架构实践

文章目录 前言一、技术架构设计二、本地知识库准备三、SQLServer服务1. 数据库准备步骤1:安装MySQL数据库步骤2:启动MySQL数据库步骤3:登录MySQL数据库步骤4:创建数据库用户glm步骤5:给数据库用户赋权限步骤6&#xff…

分布式锁(Redis)

一、序言 本文和大家聊聊分布式锁以及常见的解决方案。 二、什么是分布式锁 假设一个场景:一个库存服务部署在上面三台机器上,数据库里有 100 件库存,现有 300 个客户同时下单。并且这 300 个客户均摊到上面的三台机器上(即三台…

AI绘画 究竟在哪些方面降低了门槛

AI绘画的产物是图像。图像对人类的认知、情感和文化发展起着重要的作用,包括信息传递、创造性表达、历史记录、审美享受和交流。 从原来的纸笔调色板到数字时代的数字板、绘图软件,再到AI绘画时代,任何人都可以用几行简单的文字创作出高质量…

在PostgreSQL中如何创建和使用自定义函数,包括内置语言(如PL/pgSQL)和外部语言(如Python、C等)?

文章目录 一、使用内置语言 PL/pgSQL 创建自定义函数示例代码使用方法 二、使用外部语言 Python 创建自定义函数安装 PL/Python 扩展示例代码使用方法 三、使用外部语言 C 创建自定义函数编写 C 代码编译为共享库在 PostgreSQL 中注册函数注意事项 总结 PostgreSQL 是一个强大的…

【Java开发指南 | 第十七篇】Java 方法

读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 简介语法实例构造方法 简介 Java中的方法是用来执行特定任务的一组语句,可以重复使用。它们包含在类或对象中,并通过调用来执行。 举个例子,println() 是一个方法&#xff…

论文阅读:BEVBert: Multimodal Map Pre-training for Language-guided Navigation

BEVBert:语言引导导航的多模态地图预训练 摘要 现存的问题:目前大多数现有的预训练方法都采用离散的全景图来学习视觉-文本关联。这要求模型隐式关联全景图中不完整、重复的观察结果,这可能会损害智能体的空间理解。 本文解决方案&#xf…

Android开发:应用百度智能云中的身份证识别OCR实现获取个人信息的功能

百度智能云: 百度智能云是百度提供的公有云平台,于2015年正式开放运营。该平台秉承“用科技力量推动社会创新”的愿景,致力于将百度在云计算、大数据、人工智能的技术能力向社会输出。 百度智能云为金融、城市、医疗、客服与营销、能源、制造…

【漏洞复现】泛微e-cology ProcessOverRequestByXml接口存在任意文件读取漏洞

漏洞描述 泛微e-cology依托全新的设计理念,全新的管理思想。 为中大型组织创建全新的高效协同办公环境。 智能语音办公,简化软件操作界面。 身份认证、电子签名、电子签章、数据存证让合同全程数字化。泛微e-cology ProcessOverRequestByXml接口存在任意文件读取漏洞 免责声…

怎么看自己是不是公网IP?

当我们需要进行网络连接或者网络配置的时候,经常会遇到需要知道自己是否拥有公网IP的情况。公网IP是全球唯一的IP地址,在互联网上可直接访问和被访问,而私有IP则是在本地网络中使用,无法从互联网上直接访问。我们将介绍如何查看自…

Java - 阿里巴巴命名规范

文章目录 前言一、编程规约(一) 命名风格(二) 常量定义(三) 代码格式(四) OOP 规约(五) 日期时间(六) 集合处理(七) 并发处理(八) 控制语句(九) 注释规约(十) 前后端规约(十一) 其他 二、异常日志(一) 错误码(二) 异常处理(三) 日志规约 三、单元测试四、安全规约五、MySQL 数据…

C# winform s7.net expected 22 bytes.”

S7.Net.PlcException:“Received 12 bytes: 32-02-00-00-00-00-00-00-00-00-81-04, expected 22 bytes.” 原因是博图的连接机制未勾选

【Java框架】Spring框架(二)——Spring基本核心(AOP)

目录 面向切面编程AOPAOP的目标:让我们可以“专心做事”专心做事专心做事解决方案1.0专心做事解决方案2.0蓝图 AOP应用场景AOP原理AOP相关术语术语理解 AOP案例实现前置/后置/异常/最终增强的配置实现1.依赖2.业务类3.日志类4.配置切入点表达式匹配规则举例 环绕增强…

Spring AOP (二)

本篇将介绍Spring AOP的相关原理。 一、代理模式 Spring 在实现AOP时使用了代理模式这种设计模式,什么是代理模式呢我们来了解一下。 代理模式可以理解为当我们需要调用某个类的方法时,在我们与这个目标类之间增加一个代理类,我们要使用目标…

vue2响应式 VS vue3响应式

Vue2响应式 存在问题: 新增属性,删除属性,界面不会更新。 直接通过下标修改数组界面不会自动更新。 Vue2使用object.defineProperty来劫持数据是否发生改变,如下: 能监测到获取和修改属性: 新增的属性…

【C++打怪之路】-- C++开篇

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ &…

【C语言】深入解析选择排序算法

一、算法原理二、算法性能分析三、C语言实现示例四、总结 一、算法原理 选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是不断地选择剩余元素中的最小(或最大)元素,放到已排序的序列的末尾&#xff…