FLINT: Efficiently Leveraging High Bandwidth Flash for Capacity-Scalable LLM Inference Acceleration
FLINT 是一种工作负载驱动的基质,它通过引入硬件突发缓冲控制器、幻影平面刷新机制和只读 FTL,来克服延迟、关键路径干扰和管理开销挑战,从而加速高带宽闪存(HBF)上容量可扩展的 LLM 推理。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
人工智能的世界目前正处于向物理极限冲刺的过程中。最先进的语言模型——那些能够编写代码、起草故事并解决复杂问题的系统——已经变得如此庞大,以至于它们不再能容纳在运行这些模型的计算机处理器所连接的标准内存芯片中。想象一下,试图把一个拥有十亿本书的图书馆装进一个只能装下几十本书的书包里;这就是这些模型所驱动的硬件目前的现状。为了让这些系统正常工作,工程师们被迫将模型拆分到许多独立的计算机中,这是一种昂贵、缓慢且耗能的解决方案,因为这些计算机必须不断进行通信以共享负载。一种被称为高带宽闪存(high-bandwidth flash)的新技术提供了一种方法,可以将这些庞大的“图书馆”直接存储在处理器旁边,在极小的封装内提供数个太字节(terabytes)的空间。然而,这种新存储器的读取速度远慢于处理器自身的内存,从而产生了一个瓶颈,导致计算机大部分时间都在等待数据的到达。
华为和苏黎世联邦理工学院的研究人员设计了一个名为 FLINT 的系统来解决这个等待问题。他们在最近的一项研究中详细介绍了这项工作,该研究提出了一种方法,使这种高容量闪存能够运行得足够快,以跟上处理器的需求,而无需像之前的设计那样需要复杂的预设调度方案。FLINT 不再通过猜测处理器下一步需要什么数据,而是实时观察处理器,并根据发生的请求来组织数据。通过将这些请求进行分组,并更高效地利用存储芯片的内部缓冲区,该系统可以实现几乎匹配处理器自身内存速度的数据流传输。团队使用六种不同的超大规模语言模型(包括目前存在的最庞大、最复杂的模型之一)对该系统进行了模拟。结果表明,这种方法允许单个计算机封装处理以往需要数十台机器才能完成的任务,同时消耗更少的能量并提供更快的处理速度。
问题的核心在于这些模型的构建方式。为了进行推理(即模型生成响应的过程),计算机必须不断访问模型的权重(weights),这些权重本质上是定义其知识的数十亿个数字。过去,这些权重足够小,可以完全放入直接连接在处理器上的高速内存中。现在,随着包含数千亿甚至数万亿个参数的模型出现,权重已经超出了那种高速内存的容量。替代方案是使用固态硬盘(SSD),它们体积大且价格便宜,但速度太慢;或者使用多个处理器,但这会引入同步工作时的延迟。高带宽闪存被提议作为一种折中方案:这是一种存储技术,它能像处理器一样封装在微小的空间内,并提供海量容量,但其读取速度仍然过慢,无法在不造成停顿的情况下直接供处理器使用。
以往使用这种闪存存储的尝试依赖于一种类似于图书管理员猜测读者下一步需要哪本书的方法。系统会尝试预测模型的下一层,并在处理器请求这些权重之前就开始抓取它们。研究人员发现,这种“猜谜游戏”失败得很惨。由于模型非常复杂,且其行为会根据具体问题的不同而变化,预测往往是错误的。系统会抓取处理器尚未需要的数据,从而填满了有限的缓冲区空间,迫使系统丢弃实际上需要的数据。这导致处理器大部分时间都在等待正确的数据被重新抓取,从而浪费了闪存的高速性能。
FLINT 通过消除这种猜测改变了这一方法。它不再是让图书管理员去猜,而是像一个高效的交通指挥官一样实时观察车辆的流动。当处理器请求特定数据时,FLINT 不仅仅抓取那单一的一块数据。它会观察来自处理器的请求流并将其进行分组。如果处理器请求的几块数据恰好存储在闪存芯片的同一物理区域,FLINT 会将它们捆绑成一个大型请求。这使得闪存芯片可以一次性读取大量数据,充分利用其全速性能。系统随后将这些数据保存在芯片的内部缓冲区中,准备在需要时准确地交给处理器。这种动态分组意味着系统永远不会在抓取不需要的数据上浪费时间,并能保持数据管道的充盈与流动。
闪存存储面临的另一个主要障碍是它需要维护。随着时间的推移,读取数据的过程会导致芯片内部的电荷发生退化,从而导致错误。为了修复这个问题,芯片必须定期暂停并将数据重写到新的位置。在之前的设计中,这种维护必须在处理器尝试读取数据时进行,导致系统长时间冻结。研究人员通过创建一个“幻影平面”(phantom plane)系统解决了这个问题。他们在芯片中添加了一小部分额外的空间作为备用通道。当芯片的一个部分需要维护时,系统会在后台悄悄地将数据复制到这个备用通道中,而绝不会中断向处理器传输数据的主流程。这确保了维护工作永远不会干扰处理器的运作,即使在芯片老化时也能保持系统平稳运行。
该团队还简化了系统将处理器的请求转换为芯片上物理位置的过程。标准存储系统旨在处理不断的写入和重写,这需要复杂的映射和繁重的机制来管理。由于语言模型的权重是一次性写入且永不更改的,FLINT 使用了一种更简单、更轻量级的映射,专门针对读取进行了优化。这种复杂性的降低意味着系统可以近乎瞬时地转换请求,消除了另一层延迟。
当研究人员在详细的模拟中测试这些想法时,结果令人瞩目。他们将新系统与三种其他设置进行了对比:使用低速固态硬盘的标准系统、使用多个处理器协作的高速内存系统,以及之前尝试使用闪存存储的系统。FLINT 系统解码文本(即生成模型输出的过程)的速度比使用固态硬盘的系统快达 1,205 倍。与依赖多处理器协同工作的系统相比,FLINT 平均速度提高了两倍以上。或许最重要的一点是,它在实现这些性能的同时使用了更少的计算机。对于小批量的请求,配备 FLINT 的单台计算机可以完成以往需要四到八台计算机才能完成的工作,而且能耗显著降低。
研究还调查了系统的使用寿命。由于闪存存储在不断被读取,研究人员担心芯片会过快磨损。他们发现,其维护系统(在错误发生前重写数据)能将存储寿命延长至数年,即使在高强度使用下也是如此。该系统在六种不同的模型(从稠密模型到通过切换不同专家来解决问题的复杂模型)上进行了测试,表现均十分出色。研究人员指出,虽然该系统为芯片增加了少量的物理空间,但与带来的巨大速度和容量增益相比,这种成本是可以忽略不计的。
这项工作表明,人工智能的局限性不仅在于模型的智能程度,还在于我们如何移动围绕它们的数据。通过重新思考存储如何与处理器进行交互,研究人员证明了构建既具有海量容量又具有高速性能的系统是可能的。FLINT 系统将一种曾被认为无法用于实时使用的技术,转变为下一代人工智能的实用解决方案,使得强大的模型可以在单台机器上运行,而不是需要整个数据中心。研究结果表明,通过正确的工程设计,可以克服内存的物理约束,为未来更强大、更高效的 AI 系统打开大门。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。