⏶110
Hogwild! 推理:通过并发注意力实现并行LLM生成
发表
由
Alistarh 提交
作者:
Gleb Rodionov,
Roman Garipov,
Alina Shutova,
George Yakushev,
Vage Egiazarian,
Anton Sinitsin,
Denis Kuznedelev,
Dan Alistarh
摘要
AI 生成总结
一种用于大型语言模型的并行推理引擎允许通过共享注意力缓存进行并发任务协作,从而在无需额外微调的情况下提高效率。大型语言模型 (LLM) 已展示出通过高级推理、长篇内容生成和工具使用来处理日益复杂的任务的能力。解决这些任务通常涉及长时间的推理计算。在人类解决问题中,一种常见的加速工作策略是协作:通过将问题分解为子任务、同时探索不同的策略等。最近的研究表明,LLM 也可以通过实施显式合作框架并行运行,例如投票机制或显式创建可以并行执行的独立子任务。然而,这些框架中的每一个可能并不适用于所有类型的任务,这可能会阻碍它们的适用性。在这项工作中,我们提出了一种不同的设计方法:我们并行运行 LLM“工作者”,允许它们通过并发更新的注意力缓存进行同步,并提示这些工作者决定如何最好地协作。我们的方法允许实例针对手头的问题提出自己的协作策略,同时“看到”彼此在并发缓存中的部分进展。我们通过 Hogwild! 推理来实现这种方法:一个并行 LLM 推理引擎,其中同一 LLM 的多个实例与同一注意力缓存并行运行,并“即时”访问彼此生成的令牌。Hogwild! 推理利用旋转位置嵌入 (RoPE) 来避免重新计算,同时提高并行硬件利用率。我们发现,现代具有推理能力的 LLM 可以开箱即用地使用共享键值缓存执行推理,而无需额外的微调。
评论
并行性取决于你的运行方式——它可以利用多个 CPU 核心或多个 GPU 等。
> 还有,这和推测性解码有些相似吗?
它与推测性解码相似之处在于它利用了同样的低效率——内存密集型推理内核。然而,这两种方法并行化的方式不同:SpecDec 在主模型的单次前向传播中生成多个连续的 token,而不改变输出。Hogwild! Inference 通过并行运行多个具有交叉注意力的思维链轨迹来改变输出的生成方式。
> 如果它们不太相似,那么合并它们将比单独使用它们带来更多好处?
有潜力将 Hogwild! Inference 与一些对批量友好的推测性解码方法(例如 Medusa 或 EAGLE v1)合并,但论文中没有此类实验。
> 这是否意味着在手机上同时使用它们至少有 2-3 倍的推理加速?
据我所知,作者从未在手机上测试过它,但它作为一个潜在方向很有趣。

我们提出了一种不同的并行 LLM 推理设计方法:我们并行运行 LLM “workers”,允许它们通过并发更新的注意力缓存进行同步,并提示这些 workers 决定如何最好地协作。我们的方法允许实例针对手头的问题提出自己的协作策略,同时在并发缓存中“看到”彼此的部分进展。我们通过 Hogwild! 推理实现了这种方法:一个并行 LLM 推理引擎,其中同一 LLM 的多个实例与相同的注意力缓存并行运行,并可以“即时”访问彼此生成的 tokens。Hogwild! 推理利用旋转位置嵌入 (RoPE) 来避免重新计算,同时提高并行硬件利用率。我们发现,现代具有推理能力的 LLM 可以开箱即用地使用共享 Key-Value 缓存执行推理,而无需额外的微调。