英伟达Llama-3.1-Nemotron-Ultra-253B-v1语言模型论文快读:FFN Fusion

news2025/4/15 2:07:52

FFN Fusion: Rethinking Sequential Computation in Large Language Models

代表模型:Llama-3.1-Nemotron-Ultra-253B-v1

1. 摘要

本文介绍了一种名为 FFN Fusion 的架构优化技术,旨在通过识别和利用自然并行化机会来减少大型语言模型(LLMs)中的顺序计算。研究发现,移除特定注意力层后剩余的前馈网络(FFN)层序列通常可以并行化,且对准确性影响最小。通过将这些序列转换为并行操作,显著降低了推理延迟,同时保留了模型行为。作者将这种技术应用于 Llama-3.1-405B-Instruct,创建了一个名为 Llama-Nemotron-Ultra-253B-Base 的高效模型,该模型在推理延迟上实现了 1.71 倍的速度提升,每令牌成本降低了 35 倍,同时在多个基准测试中保持了强大的性能。

2. 引言

大型语言模型(LLMs)已成为变革性技术,但其计算需求已成为部署成本和资源需求的根本瓶颈。现有的优化技术如量化、剪枝和专家混合(MoE)各自面临挑战。本文提出 FFN Fusion,通过识别 FFN 层中的计算独立性模式,实现多 GPU 上的并行执行,提高硬件利用率。

3. 预备知识

Transformer 基础

LLMs 通常基于 Transformer 架构,由一系列顺序块组成,每个块包含注意力层和 FFN 层。FFN 层使用 SwiGLU 模块,定义为:
其中,σ 是 SiLU 激活函数,

Puzzle 框架

Puzzle 是一种神经架构搜索(NAS)框架,通过剪枝或重新配置每个 Transformer 块来优化训练后的 LLM 的推理效率。Puzzle 通常会移除许多注意力层,留下连续的 FFN 层序列。

4. FFN Fusion 方法

关键洞察

FFN Fusion 的核心思想是,移除注意力层后,连续的 FFN 层序列可以被并行化。具体来说,多个顺序 FFN 层可以融合成一个更宽的层,从而实现简单的并行执行。

理论基础

定理 3.1 表明,多个 FFN 函数的和等价于一个单一的 FFN 函数,其权重矩阵是原始 FFN 权重矩阵的拼接。这使得多个 FFN 层可以融合为一个更宽的层。

效率动机与分析

LLMs 的设计通常是顺序块,随着模型规模的增大,块的大小和数量增加。通过减少计算图的深度,可以减少同步时间,提高硬件利用率。

块依赖分析

通过计算块之间的依赖关系,识别出适合并行化的 FFN 序列。依赖矩阵 M 的构造基于块 j 在移除块 i 后的贡献变化,量化块之间的依赖关系。

5. 大规模模型的 FFN Fusion 应用

从 Llama-405B 到 Ultra-253B-Base

通过 Puzzle 搜索结果,作者从 Llama-405B 派生出一个 253B 参数的基线模型,该模型移除了许多注意力层,留下 50 个连续的 FFN 层块。应用 FFN Fusion 后,这些层被融合为更少的层,显著减少了模型深度。

额外训练

为了恢复性能,作者使用知识蒸馏(KD)对融合后的模型进行微调。结果显示,融合后的模型在 MMLU 和 MT-Bench 等基准测试中的性能得到了恢复甚至提升。

效率提升

Ultra-253B-Base 在推理延迟上实现了 1.71 倍的速度提升,每令牌成本降低了 35 倍,同时在多个基准测试中匹配或超过了原始 Llama-405B 的性能。

6. 额外的实验研究

FFN Fusion 在 70B 规模模型中的应用

作者在 Llama-3.1-70B-Instruct 的派生模型上应用 FFN Fusion,结果表明,随着融合强度的增加,模型深度减少,准确性略有下降,但通过知识蒸馏可以恢复性能。

移除 FFN 层与 FFN Fusion 的比较

与直接移除 FFN 层相比,FFN Fusion 在保持模型质量方面具有明显优势。移除 FFN 层会导致显著的准确性下降,而融合则通过保留所有参数在一个并行模块中,最小化了性能损失。

FFN 序列中最后一层的敏感性

实验表明,融合 FFN 序列中的最后一层往往会导致更大的准确性下降,因此通常选择跳过这些层以实现高效的融合。

融合可解释性

通过分析层输入和输出之间的关系,作者解释了 FFN Fusion 的可行性,并指出融合区域的层间依赖性较低,使得融合对模型行为的影响较小。

7. 块并行化

方法

作者扩展了块依赖分析,识别出适合并行化的完整 Transformer 块序列。通过贪心算法选择依赖性较低的块序列进行并行化。

结果

实验结果表明,完整块并行化比 FFN Fusion 更具挑战性,因为完整块之间的依赖性更强。尽管如此,某些块序列仍然可以并行化,从而提高推理吞吐量。

8. 结论

FFN Fusion 是一种有效的优化技术,可以显著减少 LLMs 的顺序计算,提高推理效率。通过在不同规模的模型上进行广泛实验,作者证明了 FFN Fusion 的有效性,并指出了未来研究方向,包括模型可解释性、新架构设计和扩展到 MoE 模型等。

整理

技术关系图:

在这里插入图片描述

核心技术表

技术名称描述优势应用场景
FFN Fusion通过识别 FFN 层中的计算独立性模式,将多个顺序 FFN 层融合为一个更宽的层,实现并行化。显著降低推理延迟,减少模型深度,提高硬件利用率,保持模型性能。优化大型语言模型(LLMs),特别是在移除注意力层后的 FFN 序列。
Puzzle 框架一种神经架构搜索(NAS)方法,用于优化推理效率,通过剪枝或重新配置 Transformer 块。移除冗余的注意力层,生成适合 FFN Fusion 的模型结构。作为 FFN Fusion 的前置步骤,优化模型架构。
注意力剪枝移除模型中的注意力层,减少模型深度,生成连续的 FFN 层序列。降低计算复杂度,提高硬件利用率,为 FFN Fusion 提供基础。为 FFN Fusion 提供连续的 FFN 层序列。
块依赖分析通过量化块之间的依赖关系,识别适合并行化的区域。提供模型中适合并行化的区域的可视化和量化依据。模型架构优化,识别适合 FFN Fusion 或完整块并行化的区域。
知识蒸馏(KD)使用知识蒸馏从原始模型中恢复或提升融合后的模型性能。提高模型准确性,尤其是在融合或剪枝后。模型微调,特别是在应用 FFN Fusion 后恢复性能。
完整块并行化尝试将完整的 Transformer 块(包含注意力和 FFN)并行化。进一步提高推理吞吐量,特别是在大规模模型部署中。大规模模型部署,探索更高的并行化潜力。

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

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

相关文章

云曦月末断网考核复现

Web 先看一个BUUCTF中的文件一个上传题 [BUUCTF] 2020新生赛 Upload 打开后是一个文件上传页面 随便上传一个txt一句话木马后出现js弹窗,提示只能上传图片格式文件 说明有前端验证。我的做法是把一句话改为.jpg格式, 然后上传 访问发现虽然上传成功了…

Flutter常用组件实践

Flutter常用组件实践 1、MaterialApp 和 Center(组件居中)2、Scaffold3、Container(容器)4、BoxDecoration(装饰器)5、Column(纵向布局)及Icon(图标)6、Column/Row(横向/横向布局)+CloseButton/BackButton/IconButton(简单按钮)7、Expanded和Flexible8、Stack和Po…

0.机器学习基础

0.人工智能概述: (1)必备三要素: 数据算法计算力 CPU、GPU、TPUGPU和CPU对比: GPU主要适合计算密集型任务;CPU主要适合I/O密集型任务; 【笔试问题】什么类型程序适合在GPU上运行&#xff1…

系统与网络安全------网络通信原理(4)

资料整理于网络资料、书本资料、AI,仅供个人学习参考。 网络层解析 IP 网络层概述 位于OSI模型第三层作用 定义网络设备的逻辑地址,俗称网络层地址(如IP地址) 在不同的网段之间选择最佳数据转发路径 协议 IP协议 IP数据包…

Java基础 4.12

1.方法的重载(OverLoad) 基本介绍 Java中允许同一个类,多个同名方法的存在,但要求形参列表不一致! 如 System.out.println(); out是PrintStream类型 重载的好处 减轻了起名的麻烦减轻了记名的麻烦 2.重载的快速入…

XILINX DDR3专题---(1)IP核时钟框架介绍

1.什么是Reference Clock,这个时钟一定是200MHz吗? 2.为什么APP_DATA是128bit,怎么算出来的? 3.APP :MEM的比值一定是1:4吗? 4.NO BUFFER是什么意思? 5.什么情况下Reference Clock的时钟源可…

clickhouse注入手法总结

clickhouse 遇到一题clickhouse注入相关的,没有见过,于是来学习clickhouse的使用,并总结相关注入手法。 环境搭建 直接在docker运行 docker pull clickhouse/clickhouse-server docker run -d --name some-clickhouse-server --ulimit n…

React 组件样式

在这里插入图片描述 分为行内和css文件控制 行内 通过CSS中类名文件控制

利用 pyecharts 实现地图的数据可视化——第七次人口普查数据的2d、3d展示(关键词:2d 、3d 、map、 geo、涟漪点)

参考文档:链接: link_pyecharts 官方文档 1、map() 传入省份全称,date_pair 是列表套列表 [ [ ],[ ] … ] 2、geo() 传入省份简称,date_pair 是列表套元组 [ ( ),( ) … ] 1、准备数据 population_data:简称经纬度 population_da…

解决 Elasticsearch 分页查询性能瓶颈——从10分钟到秒级的优化实践

大家好,我是铭毅天下,一名专注于 Elasticsearch (以下简称ES)技术栈的技术爱好者。 今天我们来聊聊球友提出的一个实际问题: ES分页查询性能很差,使用from/size方式检索居然需要10分钟! 这是一个…

记录IBM服务器检测到备份GPT损坏警告排查解决过程

服务器设备:IBM x3550 M4 Server IMM默认IP地址:192.168.70.125 用户名:USERID 密码:PASSW0RD(注意是零0) 操作系统:Windows Hyper-V Server 2016 IMM Web System Status Warning&#xff1…

毫米波测试套装速递!高效赋能5G/6G、新材料及智能超表面(RIS)研发

德思特(Tesight)作为全球领先的测试测量解决方案提供商,始终致力于为前沿技术研发提供高精度、高效率的测试工具。 针对毫米波技术在高频通信、智能超表面(RIS)、新材料等领域的快速应用需求,我们推出毫米…

Linux中卸载宝塔面板

输入命令 wget http://download.bt.cn/install/bt-uninstall.sh 执行脚本命令 sh bt-uninstall.sh 根据自己的情况选择1还是2 卸载完成校验 bt 这样我们的宝塔面板就卸载完了

无人机的振动与噪声控制技术!

一、振动控制技术要点 1. 振动源分析 气动振动:旋翼桨叶涡脱落(如叶尖涡干涉)、动态失速(Dynamic Stall)引发的周期性气动激振力(频率与转速相关)。 机械振动:电机偏心、传动轴不…

【蓝桥杯】第十六届蓝桥杯 JAVA B组记录

试题 A: 逃离高塔 很简单,签到题,但是需要注意精度,用int会有溢出风险 答案:202 package lanqiao.t1;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWrit…

OSPF的接口网络类型【复习篇】

OSPF在不同网络环境下默认的不同工作方式 [a3]display ospf interface g 0/0/0 # 查看ospf接口的网络类型网络类型OSPF接口的网络类型(工作方式)计时器BMA(以太网)broadcast ,需要DR/BDR的选举hello:10s…

python+requests接口自动化测试框架实例教程

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行…

2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组

记录刷题的过程、感悟、题解。 希望能帮到,那些与我一同前行的,来自远方的朋友😉 大纲: 1、空间-(题解)-字节单位转换 2、卡片-(题解)-可以不用当组合来写,思维题 3、直…

智能资源管理机制-重传机制

一、发送端资源管理的核心机制 1. 滑动窗口(Sliding Window) 这是TCP协议的核心优化设计: 窗口动态滑动:发送端不需要保留所有已发送的分组,只需维护一个"发送窗口"窗口大小:由接收方通告的接…

设计模式 --- 原型模式

原型模式是创建型模式的一种,是在一个原型的基础上,建立一致的复制对象的方式。这个原型通常是我们在应用程序生命周期中需要创建多次的一个典型对象。为了避免初始化新对象潜在的性能开销,我们可以使用原型模式来建立一个非常类似于复印机的…