Meta Llama 3 简介

news2025/1/13 13:56:27

文章目录

    • 要点
    • 我们对 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.coloradmin.cn/o/1609238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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

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

jeecgflow之camunda工作流-并行网关

引言 书接上回,继续三国流程系列教程。 本文主要讲解并行网关。 并行网关允许流程中的多个任务同时执行,从而提高流程的执行效率。 并行网关会忽视序列流上的条件设置。 并行网关分为两部分。 Fork: 用于任务开始 Join:用于任务结束 体验文章demo演示站…

HarmonyOS-静态库(SDK)的创建和使用

文章目录 一、静态库(SDK)二、创建静态库1.新建静态库模块2. 开发静态库内容3. 编译静态库 三、使用静态库1. 配置项目依赖2. 在应用中使用静态库3. 注意事项 四、打包错误1. library引用本地har包错误 一、静态库(SDK) 在Harmon…

美团财务科技Java后端一面:面向对象、类加载过程、全限定类名相同的类是否可以同时被加载

更多大厂面试内容可见 -> http://11come.cn 美团财务科技Java后端一面:面向对象、类加载过程、全限定类名相同的类是否可以同时被加载 如何理解面向对象? 面向对象 是具有对象概念的编程范式,面向对象将程序实现分为了一个个独立的对象&…

Vue.js------Vue组件基础

能够理解Vue组件概念和作用能够掌握封装创建组件能力能够使用组件之间通信能够完成todo案例 一.Vue组件创建和使用 1.折叠面板-实现多个 创建一个文件夹demo 具体步骤请参考vue.js---vue基础 ⚫ 解决方案: 采用vue提供的单.vue文件-组件方式来封装一套然后复用 在component…

Hadoop的安装及配置

8.下面我们开始安装配置Hadoop 1)首先下载hadoop-2.7.2的jar包 并添加到我们的jtxy1的/root/目录下 2)yum install在线安装软件 yum install net-tools //支持ifconfig yum install vim //支持vim yum install glibc.i686 --java命令不好使 3&am…

人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)

2 方法Approach 我们的基本预训练方法,包括模型、数据和训练,与GPT-2中描述的过程相似,只是模型规模、数据集规模和多样性,以及训练时长有所扩大,相对简单直接。 我们使用的上下文学习也与GPT-2相似,但在…

Web程序设计-实验03 JavaScript语言基础

题目 【实验主题】 素数问题求解。计算(判断) 1~100中哪些是素数、哪些是合数。 素数也称为质数,是只能被1及其自身整除的自然数。与素数相对应的是合数,合数可以被分解为若干个素数的乘积,这些素数称为这个合数的质…

即席查询笔记

文章目录 一、Kylin4.x1、Kylin概述1.1 定义1.2 Kylin 架构1.3 Kylin 特点1.4 Kylin4.0 升级 2、Kylin 环境搭建2.1 简介2.2 Spark 安装和部署2.3 Kylin 安装和部署2.4 Kylin 启动环境准备2.5 Kylin 启动和关闭 3、快速入门3.1 数据准备3.2 Kylin项目创建入门3.3 Hive 和 Kylin…

Qt Debug模式下应用程序输出界面乱码【已解决】

Qt Debug模式下应用程序输出乱码 一、问题描述二、解决方法三、相关测试 一、问题描述 源码为utf-8编码. Qt Creator在Debug模式下运行程序,下方应用程序输出界面显示乱码. 但正常运行无乱码: 二、解决方法 尝试修改文件编码、执行编码无果… 可参考…

架构师系列-搜索引擎ElasticSearch(十)- 索引别名及重建

索引别名 别名,有点类似数据库的视图,别名一般都会和一些过滤条件相结合,可以做到即使是同一个索引上,让不同人看到不同的数据。 别名的作用 在开发中,一般随着业务需求的迭代,较老的业务逻辑就要面临更新…

小型燃气站3D可视化:打造安全高效的燃气新时代

随着科技的不断进步,越来越多的行业开始融入3D可视化技术,燃气行业也不例外。 小型燃气站作为城市燃气供应的重要节点,其安全性和运行效率至关重要。传统的燃气站管理方式往往依赖于人工巡检和纸质记录,这种方式不仅效率低下&…

JVM 讲解 (主要类加载其以及流程和机制(双亲委派))

JVM有什么用? 说白了,就是我们编写 Java 代码,编译 Java 代码,目的不是让它在 Linux、Windows 或者 MacOS 上跑,而是在 JVM 上跑。(保证只要有JVM这个东西,就可以跨平台使用Java) 可以把JVM想象…

事务的传播行为介绍和事务失效

常用的就下图介绍的这两种,REQUIRED 支持当前事务,如果不存在,就新建一个,EQUIRES_NEW 如果有事务存在,挂起当前事务,创建一个新的事务 同一个service中必须用代理对象调用,否则失效

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

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

软考高级架构师:项目配置管理中产品配置例题

题目 项目配置管理中,产品配置是指一个产品在其生命周期各个阶段所产生的各种形 式和各种版本的文档、计算机程序、部件及数据的集合。该集合中的每一个元素 称为该产品配置中的 一个配置项, ( )不属于产品组成部分工作成果的配置项。 A需求文档 B设计文…

Redis中的事务(二)

事务 事务的实现 执行事务 当一个处于事务状态的客户端向服务器发送EXEC命令时,这个EXEC命令将立即被服务器执行,服务器会遍历这个客户端的事务队列,执行队列中保存的所有命令,最后将执行命令所得的结果全部返回给客户端。 例…

3、MYSQL-一条sql如何在MYSQL中执行的

MySQL的内部组件结构 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函…

MIMO(多天线)通信的四种译码算法

目录 一. 介绍 二. 极大似然译码 三. 破零译码算法 四. 最小均方误差算法 五. 球形译码 一. 介绍 发射天线数记为Mt,接收天线数记为Mr。由此发射信号x为向量: 接受信号y为向量: 信道H为矩阵: 利用n代表噪声向量,…

【若依前后端分离】温湿度仪表盘

示例&#xff1a; 代码&#xff1a; TemperatureAndHumidity.vue组件 //温湿度仪表盘 <template><div><!-- 在这里放置你的图表组件 --><div ref"echarts" style"width: 100%; height: 400px;"></div></div> </t…