当前位置: 首页 > news >正文

深度学习新突破:哈希层与阶梯注意力模型,分开考量参数与计算量提升性能

深度学习模型新突破:参数与计算量分开考量,两种新方法助力性能提升

在讨论深度学习模型能力时,通常只关注由参数数量衡量的模型大小这一指标,而运行模型所需的计算量常被忽视,因其与模型大小相关,从业者常将二者视为一体。多数情况下,每个参数每次输入仅参与一次计算,如 100 万个参数的模型处理一个输入约需 100 万次浮点运算,这适用于前馈、循环及 Transformer 模型。

我们宣布发表两种新方法,助力进一步研究此重要问题,表明应将模型计算量与大小分开考虑。其一,可在不增加计算量的情况下增大模型大小以提升性能,[第一篇论文](https://arxiv.org/abs/2106.04426)提出通过引入哈希层实现;其二,[第二篇论文](https://arxiv.org/abs/2106.04279)表明能在不增加新参数的情况下增加模型计算量来显著提升性能,其提出新的阶梯注意力模型达成此目标。综合来看,这些结果为深度学习模型带来新思考方式,要求区分参数和计算量概念,如此能设计出更适配可用资源的强大模型。

哈希层

近年来,为在语言任务取得出色成果,Transformer 模型规模不断增大,参数数量扩展到数十亿甚至数万亿。但更大模型需更多计算量,实用性降低。

让大型模型减少计算量的方法之一是采用[稀疏专家混合](https://arxiv.org/abs/1701.06538)(MoE)方法,每个专家有自己参数,仅用于输入的一小部分,输入仅被路由到部分专家,减少计算量。[近期研究](https://arxiv.org/abs/2006.16668)表明可借此高效增大 Transformer 模型规模。MoE 关键是路由机制,[我们的论文](https://arxiv.org/abs/2106.04426)提出基于输入令牌哈希的路由机制,与以往研究不同,哈希 MoE 更简单,无需学习过程或改变目标函数,字典中每个单词被分配给固定专家,可随机选择或按分布均衡分配。虽方法简单,但在一些具有挑战性的语言和对话任务中表现出色。

在 pushshift.io Reddit 语言建模任务中,我们的哈希机制优于基于学习的 [Switch](https://arxiv.org/abs/2101.03961) 基线模型,尤其在专家数量较多时。最大的 12.8 亿参数模型,特定输入仅使用 17%参数。我们进一步在更大数据集上训练 45 亿参数模型,发现哈希机制表现优于有竞争力的稀疏 MoE 模型 [BASE](https://arxiv.org/abs/2103.16716)。专家分配的自然均衡性使训练过程在集群上更高效且可扩展,实验中与 BASE 相比,每秒更新次数提高约 11%,且随专家层数量增加差异更明显。

阶梯注意力

为提升性能给 Transformer 添加更多参数是热门研究话题,但增加其计算量的研究较少,原因是标准 Transformer 架构使计算量和参数紧密关联,增加计算量困难。[我们的论文](https://arxiv.org/abs/2106.04279)引入替代架构,分离计算量和参数概念,表明增加计算量是提升性能的途径。具体提出对 Transformer 循环应用的阶梯(Staircase)和梯子(Ladder)模型。

梯子模型简单多次堆叠相同的 Transformer,使参数多次参与计算,在保持模型大小不变时增加计算量,此简单修改在语言建模和对话等实际任务中带来显著性能提升,表明增加计算量是有吸引力的研究方向。

阶梯模型和梯子模型一样堆叠 Transformer,但将每个 Transformer 向前移动多个时间步,只要有输入就能继续堆叠形成类似阶梯模型。与 Transformer 不同,其连续性使阶梯模型在时间上有循环性,对维持内部状态跟踪变化至关重要。在一些简单构造任务中,前馈模型会遇到困难,阶梯模型可轻松解决。且因每个参数计算量增加,阶梯模型在语言建模任务中也能像梯子模型一样提升性能。

为何不同时采用?

引入这两种方法后,自然会问能否结合,答案是肯定的。这两种方法带来的改进似乎相互独立,哈希层 + 梯子模型的组合相比单独使用任何一种方法都有显著性能提升。综合来看,这两种方法能对参数大小和计算量精细控制,带来改进。

总之,我们的研究探讨了计算量与参数大小问题,表明思考新方法时应区别对待二者,而非像许多标准机器学习模型那样捆绑。具体提出两种新架构,分别探索增加参数大小或计算量的权衡,并展示如何结合其思想。我们相信这种思考方式及新方法应用将为机器学习研究开辟富有成效的道路。

若想了解更多细节,请阅读[哈希层](https://arxiv.org/abs/2106.04426)和[阶梯注意力](https://arxiv.org/abs/2106.04279)的论文。代码可在[此处](https://github.com/facebookresearch/ParlAI/tree/main/projects/params_vs_compute/hash_ladder)获取。

http://www.jsqmd.com/news/702930/

相关文章:

  • SSCom串口调试助手:解决跨平台嵌入式开发的3大核心挑战
  • getaddrinfo函数里的那些“坑”:从内存泄漏到AI_FLAGS参数配置避坑指南
  • 专业的配电柜生产企业怎么收费,了解一下 - 工业推荐榜
  • 用dd命令进行磁盘性能测试和文件擦除
  • 用BurpSuite和蚁剑实战SWPUCTF Web题:文件上传、HTTP头伪造与反序列化漏洞利用
  • MoveIt!避障实战:如何优化OctoMap质量,让你的机械臂在杂乱桌面也能精准抓取?
  • 终极指南:5分钟快速掌握DamaiHelper多平台抢票脚本
  • 3分钟搞定!FanControl终极指南:告别电脑风扇噪音,实现完美静音散热平衡
  • 别再只调PI了!手把手教你用Simulink给永磁同步电机速度环搭个SMC滑膜控制器(附模型下载)
  • 分析视频监控系统,成都汉隆科技靠谱吗,性价比如何 - myqiye
  • 告别黑苹果!用VMware 16在Windows电脑上免费体验macOS Monterey 12(保姆级图文教程)
  • FigmaCN中文插件:3分钟让Figma界面变中文的终极指南
  • 还在为网页图片格式烦恼?3秒搞定图片格式转换的终极方案
  • 告别云盘臃肿!用Syncthing在Linux服务器和Windows电脑间搭建私人同步网盘(保姆级配置流程)
  • 盘点2026年超大型镁合金半固态注射成型厂家,哪家值得选 - mypinpai
  • 3步免费下载Steam创意工坊模组:WorkshopDL完整使用指南
  • LinkSwift:打破网盘限速壁垒的专业解决方案
  • RK3588混合存储架构深度解析:SPI NOR做Bootloader,PCIE SSD跑Android系统是如何工作的?
  • 2026成都全包装修公司优选清单:成都全包装修公司哪家好?这里有适合不同预算和风格的靠谱推荐! - 推荐官
  • STM32L4+MQTT+DS18B20怎么用?该怎么实现?
  • 告别抓瞎!用SIPP命令行工具5分钟搞定SIP服务器压力测试(附UAC/UAS场景文件详解)
  • Pydantic AI:用类型安全与依赖注入构建生产级AI Agent
  • 从requests-html源码看高手怎么用typing:Dict、Union、Optional的真实项目应用解析
  • SAP SD新手避坑实录:从VA01到VF01,手把手带你走通第一张销售订单
  • 石狮靠谱的公司注册代办公司,怎么判断好不好用? - 工业设备
  • 聊聊2026年福州信誉好的公司注册正规企业,费用怎么算 - 工业品网
  • CS2存储单元管理终极指南:3分钟掌握CASEMOVE智能转移工具
  • 从理论到代码:避开RLS算法在MATLAB仿真中的3个常见坑(附完整工程文件)
  • MTK SensorHub 3.0 传感器驱动移植保姆级教程:以MT6789平台为例,从原理图到log调试
  • 洛谷 P2214 [USACO14MAR] Mooo Moo S 题解