
设计一种优化复杂协调系统的新方法
协调复杂的交互系统,无论是城市中不同的交通方式,还是构成高效机器人所需的各种组件,都是软件设计师日益需要解决的重要课题。如今,麻省理工学院的研究人员开发出一种全新的方法来解决这些复杂问题,他们使用简单的图表作为工具,揭示了深度学习模型中软件优化的更佳方法。
他们说,新方法使解决这些复杂任务变得非常简单,可以简化为一张餐巾纸背面的图画。
这项新方法在《机器学习研究通讯》杂志上发表,由即将入学的博士生 Vincent Abbott 和麻省理工学院信息与决策系统实验室 (LIDS) 的 Gioele Zardini 教授撰写的一篇论文中进行了描述。
“我们设计了一种新的语言来讨论这些新系统,”扎尔迪尼说。他解释说,这种基于图表的新“语言”很大程度上基于一种叫做范畴论的东西。
这一切都与设计计算机算法的底层架构有关——这些程序最终将感知和控制正在优化的系统的各个不同部分。“这些组件是算法的不同部分,它们必须相互通信、交换信息,还要考虑能耗、内存消耗等等。” 众所周知,这种优化非常困难,因为系统某个部分的变化都可能导致其他部分的变化,进而影响其他部分,如此反复。
研究人员决定专注于特定类型的深度学习算法,这些算法目前是研究的热门课题。深度学习是大型人工智能模型的基础,包括像 ChatGPT 这样的大型语言模型和像 Midjourney 这样的图像生成模型。这些模型通过一系列“深度”矩阵乘法并穿插其他运算来处理数据。矩阵中的数字是参数,在长时间的训练过程中会更新,从而能够发现复杂的模式。模型包含数十亿个参数,这使得计算成本高昂,因此改进资源利用率和优化至关重要。
图表可以展现深度学习模型所包含的并行操作的细节,揭示算法与其所依赖的并行图形处理单元 (GPU) 硬件(由 NVIDIA 等公司提供)之间的关系。“我对此感到非常兴奋,”Zardini 说道,因为“我们似乎找到了一种能够完美描述深度学习算法的语言,它能够清晰地表示所有重要的信息,也就是你所使用的运算符”,例如能耗、内存分配以及你试图优化的任何其他参数。
深度学习领域的许多进展源于资源效率优化。最新的 DeepSeek 模型表明,一个小团队可以通过专注于资源效率以及软硬件之间的关系,与 OpenAI 和其他主要实验室的顶级模型竞争。他表示,通常情况下,在进行这些优化时,“人们需要大量的反复试验才能发现新的架构。” 例如,一个被广泛使用的优化程序 FlashAttention 的开发耗时超过四年。但有了他们开发的新框架,“我们能够以一种更正式的方式来解决这个问题。” 所有这些都通过一种精确定义的图形语言进行了可视化呈现。
但他说,用于寻找这些改进的方法“非常有限”。“我认为这表明存在一个重大差距,因为我们没有一个正式的系统方法将算法与其最佳执行联系起来,甚至没有真正理解运行它需要多少资源。” 但现在,有了他们设计的基于图表的新方法,这样的系统已经存在。
范畴论是这种方法的基础,它是一种以数学形式描述系统不同组成部分及其如何以广义、抽象的方式相互作用的方法。不同的视角可以相互关联。例如,数学公式可以与实现它们并使用资源的算法相关联,系统的描述也可以与鲁棒的“幺半弦图”相关联。这些可视化工具允许你直接操作并实验不同部分如何连接和交互。他表示,他们开发的东西相当于“强化版弦图”,它融合了更多的图形惯例和属性。
“范畴论可以被认为是抽象和组合的数学,”阿博特说。“任何组合系统都可以用范畴论来描述,组合系统之间的关系也可以被研究。”他表示,通常与函数相关的代数规则也可以用图表来表示。“然后,我们用图表实现的很多视觉技巧,都可以与代数技巧和函数联系起来。因此,它在这些不同的系统之间建立了这种对应关系。”
因此,他说:“这解决了一个非常重要的问题,那就是我们拥有这些深度学习算法,但它们作为数学模型却没有被清楚地理解。” 但通过将它们表示为图表,我们就可以正式而系统地处理它们,他说。
这样做的好处之一是,能够清晰直观地理解现实世界中并行进程是如何通过多核计算机 GPU 的并行处理来表示的。“这样一来,”Abbott 说,“图表既可以表示一个函数,又可以揭示如何在 GPU 上以最佳方式执行它。”
“注意力”算法被需要通用上下文信息的深度学习算法所使用,并且是构成大型语言模型(例如 ChatGPT)的序列化块的关键阶段。FlashAttention 是一项耗时数年开发的优化,但它却将注意力算法的速度提升了六倍。
扎尔迪尼将他们的方法应用于成熟的 FlashAttention 算法,并表示“我们能够从餐巾纸上推导出结果。” 他补充道:“好吧,也许餐巾纸很大。” 为了强调他们的新方法能够大大简化这些复杂算法的处理,他们将这项研究的正式论文命名为“餐巾纸上的 FlashAttention”。
Abbott 表示,这种方法“与现行方法相比,能够快速实现优化”。他们最初将这种方法应用于现有的 FlashAttention 算法,从而验证了其有效性,但“我们现在希望使用这种语言来自动检测改进”,Zardini 说道。Zardini 除了是 LIDS 的首席研究员外,还是 Rudge and Nancy Allen 土木与环境工程助理教授,以及数据、系统与社会研究所的附属教员。
他说,他们的计划是,最终将软件开发到“研究人员上传他们的代码,然后使用新算法自动检测哪些可以改进,哪些可以优化,并将优化版本的算法返回给用户”。
除了自动化算法优化之外,扎尔迪尼还指出,对深度学习算法与硬件资源使用关系的稳健分析,有助于实现硬件和软件的系统性协同设计。这项工作与扎尔迪尼对分类协同设计的关注相契合,分类协同设计利用范畴论的工具同时优化工程系统的各个组件。
阿博特表示:“我认为,优化深度学习模型的整个领域都尚未得到解决,这也是这些图表如此令人兴奋的原因。它们为系统地解决这个问题打开了大门。”
“这项研究的质量给我留下了深刻的印象……这篇论文中使用的深度学习算法图表的新方法可能是一个非常重要的进步,”Answers.ai 创始人兼首席执行官 Jeremy Howard(他未参与这项研究)表示。“这篇论文是我第一次看到用这样的符号来深入分析深度学习算法在实际硬件上的性能……下一步将是看看它能否在实际应用中实现性能提升。”
“这是一项执行得非常出色的理论研究,同时也力求让未入门的读者也能轻松理解——这在同类论文中并不常见,”谷歌 DeepMind 高级研究员、剑桥大学讲师 Petar Velickovic(未参与此项研究)说道。他表示,这些研究人员“显然是优秀的沟通者,我迫不及待地想看看他们接下来会有什么新发现!”
这种基于图表的新语言发布到网上后,已经引起了软件开发人员的极大关注和兴趣。一位审阅过Abbott之前介绍该图表的论文的审稿人指出:“从艺术角度来看,这些提出的神经回路图看起来很棒(就我所能判断的而言)。” “这是一项技术研究,但也很炫酷!” Zardini说道。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...