Pipeline-Native Transformers: Co-Designing Model Architecture and CPU Inference for Bandwidth-Efficient Autoregressive Decode
本文介绍了 cflow,一种与流水线原生 Transformer 架构协同设计的以 CPU 为核心的流式引擎,旨在克服单 Token 自回归解码中的内存带宽瓶颈,通过利用 L2 级权重分块、top-k 专家选择以及异步 I/O 重叠,在 32-vCPU 服务器上实现了高达 2.00 倍的关键路径权重带宽减少和 5.94 tokens/s 的性能。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
在人工智能的世界里,最强大的计算机程序通常被描述为拥有由数十亿个微小开关组成的“大脑”。这些开关,或者说权重,被存储在计算机的主存储器中,就像浩如烟海的图书馆书架上的书籍一样。为了做出预测或生成单个文本词汇,计算机必须从书架上取回正确的书,阅读它们,并进行计算。多年来,工程师们一直假设这些计算的速度是限制因素,认为如果他们能让处理器思考得更快,程序就会运行得更快。然而,一项新的研究表明,对于这些程序最常用的模式——逐个生成单词——这一假设是错误的。在这种特定的模式下,处理器并不是在等待它的“大脑”进行思考,而是在等待内存向它传递数据。处理器的速度如此之快,以至于它大部分时间都在闲置,盯着空荡荡的书架,等待下一本书的到来。这造成了一个瓶颈,即整个系统的速度并不取决于计算机计算的速度有多快,而是取决于它从内存书架移动数据到处理器的速度有多快。
一位名叫汤姆·波普斯基(Tom Popersky)的研究人员通过意识到这些“书籍”在书架上的标准组织方式是为另一种完全不同的计算机设计的,从而解决了这个问题。大多数现代人工智能模型都是为了在专门的图形芯片上运行而构建的,这类芯片擅长同时阅读许多本书。当这些模型在标准计算机处理器上运行时,旧的组织方式会导致处理器在书架上跳来跳去,以一种硬件无法预测的混乱顺序获取数据,从而浪费时间。波普斯基的工作提出了一个激进的解决方案:与其试图让旧模型在新的硬件上运行得更好,不如从底层开始重新设计模型和运行它的软件,使它们协同工作。他创建了一种新的方式来存储模型的数据,将其变为能够完美契合处理器即时工作空间的、整齐的小块。他还重写了模型的内部指令,使其能够以平滑、连续的线条读取这些数据块,而无需停下来等待。
这种新方法的核心是一个名为 cflow 的系统,它充当了计算机的高效图书管理员。在标准设置中,当计算机需要生成一个单词时,它通常必须加载特定部分模型的整套指令,即使它只需要其中极小的一部分。这就像是为了寻找一个事实而打开了一整部百科全书。波普斯基的系统通过将数据组织成大约只有一页大小的小型“瓦片”(tiles),并按照计算机所需的精确顺序进行存储,从而改变了这一点。当计算机请求下一块信息时,系统会立即将下一个瓦片推入到位,使处理器保持忙碌。此外,对于使用“专家混合”(mixture of experts)技术的模型——这是一种模型为每个任务选择几个专门子程序的技术——新系统仅加载该时刻所需的特定子程序,而将其余部分留在书架上。这消除了为生成的每一个单词都加载数千个未使用指令的浪费。
为了使这个系统发挥作用,研究人员不得不改变模型本身的架构。标准模型构建得像一条严格的流水线,其中一个步骤必须完全完成后,下一个步骤才能开始。这种结构迫使计算机在开始读取下一组指令之前,必须等待整个流水线完成。波普斯基重新设计了模型,允许实现“垂直流水线”,即计算机可以在完成当前步骤的同时,开始读取下一步的指令。这之所以可行,是因为模型经过了训练,可以接受来自前一步骤的略微延迟的版本的信息,这种变化在标准模型中会导致错误,但在这种新设计中却能完美运行。通过对五种不同版本的这些重新设计的模型进行训练,研究人员发现,其中一种特定的配置可以将计算机需要移动的数据量减少一半。这种数据移动量的减少直接转化为速度的提升,因为计算机等待的时间更少了,工作的时间更多了。
这种协同设计的成果在真实硬件上进行了测量,揭示了其相对于现有软件的明显优势。在标准服务器计算机上,新系统生成文本的速度接近每秒六个单词,优于在同一台机器上仅能达到约每秒四个半单词的最佳可用替代方案。这种改进不仅仅是一个理论计算;它是通过减少计算机访问内存的次数而实现的真实世界的加速。研究还测试了其他几种想法,例如使用显式指令来告诉计算机下一步该去哪里寻找数据。令人惊讶的是,测试显示这些指令并没有帮助,有时甚至减慢了系统速度,因为计算机自身的硬件已经在更好地猜测下一步需要什么。这一发现至关重要,因为它排除了一种常见的优化技术,并证实了真正的增益来自于数据的根本性重组和模型的重新设计。
研究还探讨了这些变化在模型规模扩大时如何保持效力。分析表明,虽然对于所测试的模型而言提速效果显著,但具体的收益取决于模型的规模和使用的计算机类型。对于非常大的模型,瓶颈可能会再次转移,但原则仍然不变:通过将模型的结构与计算机读取内存的方式相对齐,实现此前被认为在标准处理器上不可能实现的运行速度是可能的。这项工作证明,当前人工智能在日常计算机上的局限性并非固有的物理定律,而是可以改变的设计选择。通过将模型及其运行时视为一个统一的整体,而非两个独立的部件,我们可以创建一个能够以高效图书馆式的效率移动数据的系统,让计算机以其硬件的速度进行思考。这种方法为在没有专门芯片的设备上运行强大的人工智能提供了一条清晰的路径,使先进的智能在现实世界中变得更加普及且响应迅速。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。