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.mzph.cn/web/1131.shtml

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

相关文章

vue实现文字转语音的组件,class类封装,实现项目介绍文字播放,不需安装任何包和插件(2024-04-17)

1、项目界面截图 2、封装class类方法(实例化调用) // 语音播报的函数 export default class SpeakVoice {constructor(vm, config) {let that thisthat._vm vmthat.config {text: 春江潮水连海平,海上明月共潮生。滟滟随波千万里&#xf…

PS-ZB转座子分析流程2-重新分析并总结

数据处理 数据质控 随机挑出九个序列进行比对,结果如下: 所有序列前面的部分序列均完全相同,怀疑是插入的转座子序列,再随机挑选9个序列进行比对,结果如下: 结果相同,使用cutadapt将该段序列修…

mybatis(5)参数处理+语句查询

参数处理&#xff0b;语句查询 1、简单单个参数2、Map参数3、实体类参数4、多参数5、Param注解6、语句查询6.1 返回一个实体类对象6.2 返回多个实体类对象 List<>6.3 返回一个Map对象6.4 返回多个Map对象 List<Map>6.5 返回一个大Map6.6 结果映射6.6.1 使用resultM…

Windows10安装配置nodejs环境

一、下载 下载地址&#xff1a;https://nodejs.cn/download/ ​ 二、安装 1、找到node-v16.17.0-x64.msi安装包, 根据默认提示安装, 过程中间的弹窗不勾选 2、安装完成后, 打开powershell(管理员身份) ​ 3、命令行输入 node -v 和 npm -v 如下图所示则nodejs安装成功 ​ 三…

JavaScript Promise与async/await

Promise与async/await 为什么要使用他们如何使用.then() 和.catch()如何将相同的代码转换成sync和Await关键字 为什么要使用他们 前面学习了JavaScript的简单类型&#xff08;例如 数字和字符串&#xff09;&#xff0c;我们的代码会按顺序从上往下执行 console.log(1111); c…

并发编程之ConcurrentHashMap源码分析

1. 主源码逻辑 final V putVal(K key, V value, boolean onlyIfAbsent) {if (key null || value null) throw new NullPointerException();// 1.计算key对应的hashint hash spread(key.hashCode());int binCount 0;// 2. 进行自旋 for (Node<K,V>[] tab table;;) {N…

PLC中连接外部现场设备和CPU的桥梁——输入/输出(I/O)模块

输入&#xff08;Input&#xff09;模块和输出&#xff08;Output&#xff09;模块简称为I/O模块&#xff0c;数字量&#xff08;Digital&#xff0c;又称为开关量&#xff09;输入模块和数字量输出模块简称为DI模块和DQ模块&#xff0c;模拟量&#xff08;Analog&#xff09;输…

Android安卓写入WIFI热点自动连接NDEF标签

本示例使用的发卡器&#xff1a;Android Linux RFID读写器NFC发卡器WEB可编程NDEF文本/网址/海报-淘宝网 (taobao.com) package com.usbreadertest;import android.os.Bundle; import android.view.MenuItem; import android.view.View; import android.widget.EditText; impo…

LabVIEW频谱感知实验平台

LabVIEW频谱感知实验平台 在当前的通信网络中&#xff0c;频谱资源的高效利用成为了研究和实践的重要方向之一。随着无线通信技术的快速发展&#xff0c;传统的固定频谱分配策略已无法满足日益增长的通信需求&#xff0c;因此&#xff0c;频谱感知技术作为认知无线电的核心组成…

Zed 捕获图像+测距

Zed 捕获图像测距 1. 导入相关库2. 相机初始化设置3. 获取中心点深度数据4. 计算中心点深度值5. 完整代码5. 实验效果 此代码基于官方代码基础上进行改写&#xff0c;主要是获取zed相机深度画面中心点的深度值&#xff0c;为yolo测距打基础。 1. 导入相关库 import pyzed.sl …

iview中基于upload源代码组件封装更为完善的上传组件

业务背景 最近接了一个用iview为基础搭建的vue项目&#xff0c;在开需求研讨会议的时候&#xff0c;我个人提了一个柑橘很合理且很常规的建议&#xff0c;upload上传文件支持同时上传多个并且可限制数量。当时想的是这不应该很正常吗&#xff0c;但是尴尬的是&#xff1a;只有…

【Proteus】蜂鸣器播放音乐

按键按一次&#xff0c;蜂鸣器响一次 &#xff0c;LCD1602同步。 #include <REGX52.H> #include <INTRINS.H>unsigned int keynum; sbit RSP3^0; //** sbit RWP3^1; //** sbit EP3^2; //** sbit buzzerP1^5; void delay(unsigned int n)//1ms {unsigned char a,…

虹科Pico汽车示波器 | 免拆诊断案例 | 2016款保时捷911 GT3 RS车发动机异响

一、故障现象 一辆2016款保时捷911 GT3 RS车&#xff0c;搭载4.0 L水平对置发动机&#xff08;型号为MA176&#xff09;&#xff0c;累计行驶里程约为4.2万km。车主反映&#xff0c;1星期前上过赛道&#xff0c;现在发动机有“哒哒”异响。 二、故障诊断 接车后试车&#xff…

51.基于SpringBoot + Vue实现的前后端分离-校园志愿者管理系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;采用SpringBoot Vue框架&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SpringBoot Vue技术的校园志愿者管理系统设计与实现管理工…

正则表达式中 “$” 并不是表示 “字符串结束”

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 作者&#xff1a;Seth Larson 译者&#xff1a;豌豆花下猫Python猫 英文&#xff1a;Regex character “$” doesnt mean “end-of-string” 转载请保留作者及译者信息&#xff01; 这篇文章写一写我最近在用 Python …

C++ 内存分区管理

一、栈区&#xff08;Stack&#xff09; 栈区用来存储函数的参数值、局部变量的值等数据。栈区是自动分配和释放的&#xff0c;函数执行时会在栈区分配空间&#xff0c;函数执行结束时会自动释放这些空间。栈区的数据是连续分配的&#xff0c;由系统自动管理。 注意事项&…

普通人赚钱途径大盘点:从搬砖到玩转智慧,财富之路任你探索

在生活的大舞台上&#xff0c;每个人都在以自己的方式演绎着赚钱的故事。作为普通人&#xff0c;我们或许没有显赫的财富背景&#xff0c;但赚钱的途径却是多种多样&#xff0c;等待我们去发掘。今天&#xff0c;就让我来为大家盘点一下普通人赚钱的常见途径&#xff0c;看看哪…

部署ELFK+zookeeper+kafka架构

目录 前言 一、环境部署 二、部署ELFK 1、ELFK ElasticSearch 集群部署 1.1 配置本地hosts文件 1.2 安装 elasticsearch-rpm 包并加载系统服务 1.3 修改 elasticsearch 主配置文件 1.4 创建数据存放路径并授权 1.5 启动elasticsearch是否成功开启 1.6 查看节点信息 …

蓝桥杯2023年第十四届省赛真题-冶炼金属

思路&#xff1a;用二分模板&#xff0c;边界r得包含所有的v&#xff0c;check分为小于&#xff0c;大于&#xff0c;等于三种情况。 #include<bits/stdc.h> using namespace std; #define int long long #define endl \n int n; const int N 1e410; int a[N],b[N];int…

【Conda基础命令】使用conda创建、查看、删除虚拟环境及可能的报错处理

文章目录 前言&#xff08;1&#xff09; 在默认路径下创建一个新的虚拟环境&#xff08;2&#xff09; 查看已有的虚拟环境&#xff08;3&#xff09; 删除已有的虚拟环境&#xff08;谨慎操作&#xff09;&#xff08;4&#xff09;激活虚拟环境&#xff08;5&#xff09;退出…