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,一经查实,立即删除!

相关文章

力扣刷题录——链表

一、移除链表元素 移除链表元素 法一:不使用虚拟头节点 ListNode* removeElements(ListNode* head, int val) {//若删除头节点while(head!NULL&&head->valval)//连续删除头节点的条件{headhead->next;} //删除其他节点(先判断是不是空链…

【Qt 关于信号和槽 的参数类型和参数顺序关系】

前言:信号的参数类型和参数顺序一定要严格要求并且指明(特别是当同一信号会发出不同参数类型和顺序的信号时),槽会根据参数类型和参数顺序进行匹配相应的槽函数,期间槽函数的自动类型匹配也可以生效。 信号定义&#x…

运行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! 🎉 开篇:告别孤单,同城圈子等你来探索! 在这个快节奏的城市生活中,你是否常常感到孤独,渴望找到一群志同道合的朋友&#…

发现洗白的公开伎俩

利益方把事件A和事件B放在一起,事件A和事件B有明显逻辑冲突,故意把A和B在一起炒大。一段时间就有人利用逻辑冲突来故意辟谣,把事件真实全部否定,达到舆论上既没有做A或其相关事项,也没有做B或其相关事项的目的&#xf…

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

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

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

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

Conda的守护神:包兼容性测试全指南

Conda的守护神:包兼容性测试全指南 在软件开发中,确保不同软件包之间的兼容性是维护项目稳定性的关键。Conda,作为广泛使用的包管理器和环境管理器,提供了强大的工具来测试包的兼容性。本文将深入探讨如何在Conda中使用包兼容性测…

使用 Java 监听和处理 POST 请求

各类学习教程下载合集 ​​https://pan.quark.cn/s/874c74e8040e​​ 在现代 Web 开发中,监听和处理 HTTP POST 请求是常见的任务之一。无论是构建 RESTful API 还是处理表单提交,Java 都提供了强大的工具和库来实现这一功能。本文将介绍如何使用 Java…

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

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

RHEL8.6配置yum仓库

记录通过Linux安装ISO挂载yum仓库,由于没有在线仓库只能挂载iso的软件仓库 [rootlocalhost /]# yum install libicu 正在更新 Subscription Management 软件仓库。 无法读取客户身份本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。错误&…

遇到 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…

md,感觉enable_if的推导过程又迷糊了。这次好像又清晰了一些

通过这几个例子&#xff0c;暂时有个结论&#xff1a; 基本就是&#xff1a;由泛型版本定下参数列表里的参数&#xff0c; 编译成功&#xff1a;template<bool _Test, class _Ty void> struct enable_if123;template<class _Ty> struct enable_if123<true, _T…

微信小游戏之 三消(一)

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

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

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

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

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

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

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

追问试面试系列:JVM运行时数据区

hi 欢迎来到追问试面试系列之JVM运行时数据区,在面试中出现频率非常高,并且其中还存在一些误导性的面试,一定要注意。 什么误导性呢?面试中,有的面试官本来是想问JVM运行时数据区,不过提问时难免有些让你觉得很不爽。比如:你说说java内存模型,还比如说说JVM内存模型,…

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

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

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

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