流水线并行性(Pipeline Parallelism):PipeRAG允许同时进行检索和生成过程,从而减少整体生成时间。 灵活的检索间隔(Flexible Retrieval Intervals):通过调整检索间隔,PipeRAG能够最大化流水线并行性的效率。 -
性能模型(Performance Model):PipeRAG使用性能模型自动平衡检索质量和延迟,根据生成状态和底层硬件动态调整检索搜索空间。 PipeRAG的算法-系统协同设计:基于三个以性能为中心的观察(O1∼O3),PipeRAG结合了一个系统感知算法,该算法集成了管道并行性(S1)和灵活的检索间隔(S2),以及一个由性能模型指导的算法感知检索系统(S3)。
O1:硬件效率低下,因为检索(Retrieval)和推理(Inference)之间的依赖关系导致硬件资源未被充分利用。 O2:随着序列长度的增加,每个新生成的token所需的推理时间也在增加,这主要是由于Transformer神经网络中的注意力机制。 O3:检索过程中,特别是在近似最近邻搜索中,存在搜索质量和搜索延迟之间的权衡。
S1:流水线并行性(Pipeline Parallelism):通过允许检索和推理并行执行,减少了硬件资源的空闲时间,提高了硬件利用率。 S2:灵活的检索间隔(Flexible Retrieval Intervals):通过调整检索间隔,优化了流水线并行性的效率。 S3:性能模型驱动的检索(Performance-Model-Driven Retrievals):使用性能模型动态调整检索搜索空间,以在不增加生成延迟的情况下,最大化检索质量。
在生成过程中,PipeRAG使用稍微陈旧的查询窗口(stale query window)来预取数据库中的内容,而不是依赖于最新的生成上下文。 一旦检索到内容,这些内容会通过推理系统进行处理,同时检索系统会继续并行地预取下一批内容。 通过这种方式,PipeRAG实现了检索和推理的重叠执行,从而减少了整体的生成延迟。
PipeRAG 在延迟-困惑度(较低的延迟和困惑度更佳)上显著优于 RETRO
性能驱动的检索(S3)能够在显著降低困惑度的同时,实现与非检索模型相当的延迟。括号内的数值表示与没有检索的基线模型相比的差异(较低的延迟和困惑度更佳)
PipeRAG: Fast Retrieval-Augmented Generation via Algorithm-System Co-designhttps://arxiv.org/abs/2403.05676
