Llama 3.1 405B 详解

2024 年 7 月 23 日星期二,Meta 宣布推出 Llama 3.1,这是其Llama 系列大型语言模型 (LLM)的最新版本。虽然只是对 Llama 3 模型进行小幅更新,但它特别引入了Llama 3.1 405B——一个 4050 亿参数的模型,这是迄今为止世界上最大的开源 LLM,超过了 NVIDIA 的Nemotron-4-340B-Instruct。

实验评估表明,它在各种任务上均可与GPT-4GPT-4oClaude 3.5 Sonnet等领先模型相媲美。

然而,由于Mistral和Falcon等竞争对手选择较小的模型,人们开始质疑大型开放权重 LLM 在当前环境下的相关性,本文就llama各项特性进行探讨,供各位读者参考。

什么是 Llama 3.1 405B?

Llama 3.1 是 Llama 3( 2024 年 4 月发布)的点更新,Llama 3.1 405B 是该模型的旗舰版本,顾名思义,它拥有 4050 亿个参数。

来源:Meta AI

Llama3的多模态能力:图像、视频和语音的融合

为了赋予Llama3多模态能力,Meta采用了组合方法,引入了图像、视频和语音编码器。具体过程包括:

1.多模态编码器预训练:分别对图像和语音编码器进行训练,学习视觉和语音信号的表示。

2.视觉适配器训练:将图像编码器融入预训练的语言模型,实现图像表示与语言表示的对齐。在此基础上,训练视频适配器,实现跨帧信息聚合。

3.语音适配器训练:将语音编码器整合到模型中,实现高质量的语音理解。

多语言能力

从 Llama 3 到 Llama 3.1 的主要更新是更好的非英语支持。Llama 3 的训练数据 95% 是英语,因此在其他语言中表现不佳。3.1 更新提供了对德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语的支持。

更长的上下文窗口

Llama 3 模型的上下文窗口(一次可以推理的文本量)为 8k 个标记(约 6k 个单词)。Llama 3.1 将其提升至更现代的 128k,这解决了 Llama 家族的一个重要弱点,对于企业用例(如总结长文档、从大型代码库生成涉及上下文的代码或扩展支持聊天机器人对话),可以存储数百页文本的长上下文窗口。

Llama3的成功秘诀:高质量数据/规模性/简洁性

Llama3的卓越表现源于三大核心要素:

1.高质量数据:15T tokens的高质量多语言数据。

2.规模性:8B、70B、405B的模型矩阵,通过大模型提升小模型的质量,实现同类最佳效果。

3.简洁性:选择Transformer架构而非MoE架构,采用相对简单的后训练程序,如SFT、RS和DPO,而非复杂的强化学习算法。

此外,报告还分享了Llama3在多模态集成方面的初步实验,展现了其在图像、视频和语音处理方面的潜力。

开放模型许可协议

Llama 3.1 模型可根据 Meta 的定制开放模型许可协议获得,允许研究人员、开发人员和企业自由地将该模型用于研究和商业应用。Meta 还扩大了许可证,允许开发人员利用 Llama 模型(包括 405B 模型)的输出来增强其他模型。这意味着任何人都可以利用该模型的功能来推进他们的工作,创建新的应用程序并探索人工智能的可能性,构建更加完善的开源生态。

Llama 3.1 405B 如何工作?

本节介绍 Llama 3.1 405B 的工作技术细节,包括其架构、训练过程、数据准备、计算要求和优化技术。

调整后的 Transformer 架构

Llama 3.1 405B 基于标准解码器专用Transformer 架构构建,在核心结构保持一致的同时,Meta 进行了细微调整,以增强模型在训练过程中的稳定性和性能。值得注意的是,Meta 有意排除了混合专家 (MoE) 架构,优先考虑训练过程中的稳定性和可扩展性。

来源:Meta AI

Llama 3.1 405B 首先将输入文本划分为称为标记的较小单元,然后将其转换为Token embeddings表示,然后通过多层自注意力来处理embeddings,其中模型分析不同Token之间的关系,用以了解它们在输入中的重要性和上下文。

从自注意力层收集的信息随后会通过前馈网络,该网络会进一步处理和组合相关信息,这种自注意力和前馈处理过程会重复多次,以加深模型从多个层次的信息理解。

最后,模型利用这些信息逐个生成响应Token,在先前输出的基础上创建连贯且相关的文本。这一迭代过程称为自回归解码,它使模型能够对输入提示生成流畅且符合语境的响应。

多阶段训练过程

开发 Llama 3.1 405B 涉及一个多阶段的训练过程。最初,该模型在包含数万亿个标记的庞大而多样的数据集上进行了预训练,通过接触大量文本,该模型可以从遇到的模式和结构中学习语法、事实和推理能力。

在预训练之后,模型会经过多轮监督微调 (SFT) 和直接偏好优化 (DPO)。SFT 涉及对特定任务和数据集进行训练并提供人工反馈,从而引导模型产生所需的输出。

而 DPO 则侧重于根据从人类评估者那里收集到的偏好来改进模型的响应,迭代过程逐步增强了模型遵循指令的能力,提高了响应质量,并确保安全。

数据质量和数量

Meta 声称非常重视训练数据的质量和数量,对于 Llama 3.1 405B,涉及严格的数据准备过程,包括广泛的过滤和清理,以提高数据集的整体质量。不过405B 模型本身用于生成合成数据进行数据增强,然后将其纳入训练过程以进一步完善模型的功能。

计算规模

训练像 Llama 3.1 405B 这样庞大而复杂的模型需要大量的计算能力。

具体来说,Meta 使用了 16,000 多个 NVIDIA 最强大的 GPU(H100)来高效地训练这个模型。他们还对整个训练基础设施进行了重大改进,以确保其可以处理庞大的项目规模,从而使模型能够有效地学习和改进。

推理量化

为了使 Llama 3.1 405B 在实际应用中更具可用性,Meta 应用量化压缩技术,通过将模型的权重从 16 位精度 (BF16) 转换为 8 位精度 (FP8),保留了必要的细节,同时减小了文件大小,便于部署应用。

同样,量化简化了模型的内部计算,使其在单个服务器上的运行速度更快、效率更高,使其他人能够更轻松、更经济高效地利用该模型的功能。

Llama 3.1 405B 应用

Llama 3.1 405B 由于其开源特性和强大的功能而提供了各种潜在的应用。

合成数据生成

该模型能够生成与人类语言极为相似的文本,可用于创建大量合成数据。这些合成数据对于训练其他语言模型、增强数据增强技术(使现有数据更加多样化)以及为各种应用开发真实的模拟非常有价值。

模型蒸馏

405B 模型中嵌入的知识可以通过“提炼”的过程转移到更小、更高效的模型中。

可以将模型蒸馏视为向学生(较小的 AI 模型)传授专家(较大的 Llama 3.1 405B 模型)的知识。此过程允许较小的模型学习和执行任务,而不需要与较大的模型相同程度的复杂性或计算资源。

这使得在智能手机或笔记本电脑等设备上运行高级 AI 功能成为可能,同时使用模型蒸馏的另一个例子是 OpenAI 的GPT-4o mini,它是 GPT-4o 的蒸馏版本。

研究与实验

Llama 3.1 405B 是一种有价值的研究工具,使科学家和开发人员能够探索自然语言处理和人工智能的新领域,保持开放性、鼓励实验和协作,从这个角度来看,开源模型具备更广阔的应用场景。

Llama 3.1 405B 安全性

Meta 声称非常重视 Llama 3.1 型号的安全性。

来源:Meta AI

在发布 Llama 3.1 405B 之前,他们进行了广泛的“对抗”演习。在这些演习中,内部和外部专家扮演对手,试图找到让模型以有害或不适当的方式进行响应,有助于识别模型行为中的潜在风险或漏洞。

除了部署前测试外,Llama 3.1 405B 还经过了安全微调。此过程涉及诸如人类反馈强化学习 (RLHF)之类的技术,其中模型学习使其响应与人类价值观和偏好保持一致,有助于减轻有害或有偏见的输出,使模型在实际使用中更安全、更可靠。

Meta 还推出了Llama Guard 3,一种新的多语言安全模型,旨在过滤和标记由 Llama 3.1 405B 生成的有害或不当内容,额外的保护层有助于确保模型的输出符合道德和安全准则。

来源:Meta AI

另一个安全功能是Prompt Guard ,目的是防止提示注入攻击。攻击涉及将恶意指令插入用户提示中以操纵模型的行为。Prompt Guard 会过滤掉此类指令,保护模型免受潜在的滥用。

来源:Meta AI

此外,Meta 还加入了Code Shield ,该功能专注于 Llama 3.1 405B 生成的代码的安全性。Code Shield 在推理过程中实时过滤不安全的代码建议,并为七种编程语言提供安全的命令执行保护,平均延迟时间为 200 毫秒,有助于降低生成可能被利用或构成安全威胁的代码的风险。

来源:Meta AI

Llama 3.1 405B 基准测试

Meta 已在 150 多个不同的基准数据集上对 Llama 3.1 405B 进行了严格的评估。这些基准涵盖了广泛的语言任务和技能,从常识和推理到编码、数学和多语言能力。

来源:Meta AI

Llama 3.1 405B 在许多基准测试中的表现都堪比 GPT-4、GPT-4o 和 Claude 3.5 Sonnet 等领先的闭源模型。值得注意的是,它在推理任务中表现出色,在 ARC Challenge 上获得了 96.9 分,在 GSM8K 上获得了 96.8 分。在代码生成方面也表现出色,在 HumanEval 基准测试中获得了 89.0 分。

除了自动基准测试之外,Meta AI 还进行了大量的人工评估,以评估 Llama 3.1 405B 在现实场景中的表现。

来源:Meta AI

虽然 Llama 3.1 405B 在这些评估中具有竞争力,但它的表现并不总是优于其他模型。它的表现与 GPT-4-0125-Preview(OpenAI 于 2024 年初发布的预览版 GPT-4 模型)和 Claude 3.5 Sonnet 相当,获胜和失败的评估百分比大致相同,略微落后于 GPT-4o,仅赢得了 19.1% 的比较。

Llama3.1 405B 登上 LMSys Chatbot Arena 排行榜,该排行榜是通过用户盲投构建的性能衡量标准。在此之前,OpenAI GPT-4、Anthropic Claude 3和 Google Gemini 等版本交替占据榜首。目前,GPT-4o 占据榜首,但规模较小的 Claude 3.5 Sonnet 占据第二位,而即将推出的 Claude 3.5 Opus 很可能会占据第一的位置。这意味着高端市场的竞争非常激烈,同时我们也期待 Llama 3.1 405B的后续表现。

如何使用 Llama 3.1 405B?

目前可以通过两个主要渠道访问 Llama 3.1 405B:

  1. 直接从 Meta 下载:模型权重可以直接从 Meta 的官方 Llama 网站下载:llama.meta.com
  2. Hugging Face:Llama 3.1 405B 也可在Hugging Face平台上使用,该平台是共享和访问机器学习模型的流行中心。
  3. Google Vertex Al和Amazon Bedrock都已经上线,可以在线体验。

Llama 3.1 系列模型

虽然 Llama 3.1 405B 因其尺寸而引人注目,但 Llama 3.1 系列还提供其他型号,旨在满足不同的使用情况和资源限制。这些型号与 405B 版本共享先进功能,但针对特定需求进行了量身定制。

Llama 3.1 70B:多功能

Llama 3.1 70B 型号在性能和效率之间取得了平衡,具备广泛应用的潜力,在长文本摘要、创建多语言对话代理和提供编码帮助等任务方面表现出色。虽然比 405B 型号小,但它在各种基准测试中仍能与其他类似尺寸的开放式和封闭式型号竞争,其尺寸减小也使其更易于在标准硬件上部署和管理。

来源:Meta AI

Llama 3.1 8B:轻便高效

Llama 3.1 8B 型号优先考虑速度和低资源消耗,非常适合这些因素至关重要的场景,例如部署在边缘设备、移动平台或计算资源有限的环境中,即使尺寸较小,它在各种任务中的表现也比类似尺寸的模型更具竞争力(见上表)。

所有 Llama 3.1 型号均具有共享增强功能

所有 Llama 3.1 型号都具有几项关键改进:

  • 扩展上下文窗口(128K 个token):上下文窗口(表示模型可以一次处理的文本量)已增加到 128,000 个token,使模型能够处理更长的输入,并在扩展对话或文档中保持上下文。
  • 多语言支持:所有型号现在都支持八种语言:英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语,更广泛的语言支持将其适用范围扩大到全球受众。
  • 改进的工具使用和推理:模型的工具使用和推理能力得到了增强,使其更加通用,能够更好地处理复杂的任务。
  • 增强安全性:所有 Llama 3.1 型号都经过了严格的安全测试和微调,以降低潜在风险并促进负责任的 AI 使用。这包括努力减少偏见和有害输出。

大型 LLM 与小型 LLM:争论

Llama 3.1 405B 虽然规模令人印象深刻,但也引发了关于当前人工智能领域语言模型最佳规模的讨论。正如前文所述,Mistral 和 Falcon 等竞争对手选择了较小的模型,称它们提供了更实用、更易于访问的方式。这些较小的模型通常需要较少的计算资源,因此更容易部署和微调以完成特定任务。

然而,Llama 3.1 405B 等大型模型的支持者认为,模型庞大规模使其能够捕捉更深、更广的知识,从而在更广泛的任务上表现出色。这些大型模型有可能成为“基础模型”,在此基础上通过提炼可以构建出更小、更专业的模型。

大型和小型 LLM 之间的争论最终归结为能力和实用性之间的权衡,虽然较大的模型提供了更大的高级性能潜力,但它们也带来了更高的计算需求和能耗。另一方面,较小的模型可能会牺牲一些性能来提高可访问性和易于部署性。

Meta 发布的 Llama 3.1 405B 以及 70B 和 8B 等较小型号,通过提供一系列型号尺寸,它们满足了 AI 社区内不同的需求和偏好。大型和小型 LLM 之间的选择将取决于具体用例、可用资源和所需的性能特征。个人认为,这两种方法很可能会共存,每种方法都会在多样化的 AI 应用领域中找到自己的位置。

总结

Llama 3.1系列的发布,特别是405B模型,代表了对开源大型语言模型领域的显著贡献。虽然它的性能可能无法始终超越所有封闭模型,但它的功能以及 Meta 对透明度和协作的承诺为人工智能发展提供了一条新的道路。其次,多种模型尺寸和共享增强功能的可用性扩大了研究人员、开发人员和组织的潜在应用范围。通过公开分享这项技术,Meta 正在营造一种协作环境,从而加速该领域的进步。

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

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

相关文章

运行ruoyi

nacos 数据库配置 修改nacos/conf/application.properties 单机版运行 startup.cmd -m standalone redis 运行后端 运行gateway,auth,modules/system模块 可能遇到的问题:端口正在使用 解决 netstat -ano | findstr 9200 taskkill -pid 18284 -f

JAVA同城圈子达人交友系统源码支持微信小程序+公众号+H5+APP

🌈 同城圈子达人交友系统,遇见志同道合的TA! 🎉 开篇:告别孤单,同城圈子等你来探索! 在这个快节奏的城市生活中,你是否常常感到孤独,渴望找到一群志同道合的朋友&#…

Elasticsearch基础(六):使用Kibana Lens进行数据可视化

文章目录 使用Kibana Lens进行数据可视化 一、进入Kibana Lens 二、基础可视化 1、指标可视化 2、垂直堆积条形图 3、表格 三、高级可视化 1、多图层和索引 2、子桶 3、树状图 使用Kibana Lens进行数据可视化 一、进入Kibana Lens 在Kibana主页,单击页面…

【资料分享】2024钉钉杯大数据挑战赛A题思路解析+代码演示

2024第三届钉钉杯大学生大数据挑战赛今天已经开赛,【A题】思路解析代码,资料预览:

【JAVA学习笔记】找不到依赖项 ‘org.springframework.boot:spring-boot-starter-web:3.0.5‘

如果环境都是跟着教程配的话,并且上网搜了一圈询问gpt都没发现对应长得像的错误,那么试试**刷新一下Maven项目**,可能问题就自己解决了。如果这样解决不了再查到底是什么地方没有配置对。(我第一次遇到这个问题的时候搜了半天都不…

遇到 chunk of umi not found 处理办法

1、删除 以下文件 (1)node_modules 其中快速删除node_modules方法可参考:rimraf快速删除node_modules方法-CSDN博客文章浏览阅读258次。rimraf快速删除node_modules方法https://blog.csdn.net/2401_85955297/article/details/140566245?spm…

微信小游戏之 三消(一)

首先设定一下 单个 方块 cell 类: 类定义和属性 init 方法 用于初始化方块,接收游戏实例、数据、宽度、道具类型和位置。 onWarning 方法 设置警告精灵的帧,并播放闪烁动作,用于显示方块的警告状态。 grow 方法 根据传入的方向…

网络基础之(11)优秀学习资料

网络基础之(11)优秀学习资料 Author:Once Day Date: 2024年7月27日 漫漫长路,有人对你笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的博客-CSDN博客。 参考文档: 网络工程初学者的学习方法及成长之路(红…

【视频讲解】后端增删改查接口有什么用?

B站视频地址 B站视频地址 前言 “后端增删改查接口有什么用”,其实这句话可以拆解为下面3个问题。 接口是什么意思?后端接口是什么意思?后端接口中的增删改查接口有什么用? 1、接口 概念:接口的概念在不同的领域中…

【QT】QT 系统相关(事件、文件、多线程、网络、音视频)

一、Qt 事件 1、事件介绍 事件是应用程序内部或者外部产生的事情或者动作的统称。在 Qt 中使用一个对象来表示一个事件。所有的 Qt 事件均继承于抽象类 QEvent。事件是由系统或者 Qt 平台本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制…

昇思MindSpore学习入门-静态图高级编程技巧

如何优化编译性能 使用lazy_inline装饰器 神经网络模型的编译过程往往采用默认inline的方式,把层级的代码表达最终展开成一张扁平的计算图,一方面寻求最大的编译优化机会,另一方面也可以简化自动微分以及执行的逻辑。inline后形成的计算图包…

MySQL客户端命令一节将.sql文件导入MySQL

MySql客户端命令 直接输入SQL语句 使用MySQL客户端连接到服务器之后,可以发送SQL语句到服务器执行,并且以;和\g, \G作为结束不同的结束方式显示内容有所不同** TIPS: ;和\g结尾以表格的形式显示结果\G以行的形式显示结果 在连接到服务器之后…

跨境电商独立站:Shopify/Wordpress/店匠选哪个?

在面对不断增加的平台运营压力时,不少跨境电商的商家逐渐将注意力转向建立自己的独立站。据《中国跨境出口电商发展报告(2022)》所示,中国拥有的独立站数量在2022年已接近20万个,这表明独立站已成为卖家拓展海外市场的…

强化学习学习(一)从MDP到Actor-critic演员-评论家算法

文章目录 From Markov chains to Markov decision process (MDP):partially observed Markov decision peocess Value FunctionsQ-functionvalue functionUsing Q π Q^\pi Qπ and V π V^\pi Vπ Types of RL algorithmsExamples of algorithms Policy gradient大量有趣的数…

均匀圆形阵列原理及MATLAB仿真

均匀圆形阵列原理及MATLAB仿真 目录 前言 一、均匀圆阵原理 二、圆心不存在阵元方向图仿真 三、圆心存在阵元方向图仿真 四、MATLAB仿真代码 总结 前言 本文详细推导了均匀圆形阵列的方向图函数,对圆心不放置阵元和圆心放置阵元的均匀圆形阵列方向图都进行了仿…

MySQL-视图、存储过程和触发器

一、视图的定义和使用 视图是从一个或者几个基本表(或视图)导出的表。它与基本表不同,是一个虚表,视图只能用来查询。不能做增删改查(虚拟的表) 1.视图的作用 简化查询重写格式化数据频繁访问数据库过滤数据 2.创建视图 -- 创建视图 -- 语法…

【MATLAB APP】建立独立桌面APP

背景:已有MATLAB APP的.mlapp文件,但客户提出需要可以直接使用的exe文件。 要求:点开即用,无需下载MATLAB。使用者无法修改APP的代码。 一、环境配置 APP创建者:安装MATLAB R2023a,配置Application Compile…

创建vue3项目,以及使用示例

1.在根目录下cmd:vue create myobj(没有切换淘宝镜像记得切换,这样创建项目运行快) 2. 3.(按空格键选中,选好回撤就到下一步了) 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.然后输入执行以下两步就已经运行项目了 以…

Linux云计算 |【第二阶段】AUTOMATION-DAY4

主要内容: 部署Ansible、Ansible基础命令(Ansible ad-hoc命令格式、Ansible-doc帮助)、Ansible模块常用:脚本与命令模块、文件与账户模块、软件与服务模块、逻辑卷模块 补充:touch 除创建文件外,若再创建相…

vue3知识

目录 基础vue开发前的准备vue项目目录结构模板语法属性绑定条件渲染列表渲染通过key管理状态事件处理事件传参事件修饰符数组变化侦测计算属性Class绑定style绑定侦听器表单输入绑定模板引用组件组成组件嵌套关系组件注册方式组件传递数据Props(父传子)组件传递多种数据类型组件…