摘要
基于Transformer的语言模型的推理从提示处理步骤开始。在此步骤中,模型生成第一个输出标记并存储用于未来生成步骤的KV缓存。此提示处理步骤可能在计算上很昂贵,对于边缘设备上的数十亿参数模型,当提示长度或批次大小增加时,可能需要10秒或更长时间。这通过在模型的输出中引入显着的延迟来降低用户体验。为了减少生成第一个输出(称为“首个标记时间”,即TTFT)所花费的时间,我们引入了一种名为KV预测的新方法。在我们的方法中,使用一个小型的辅助模型来处理提示并生成基模型使用的KV缓存的近似值。然后,此近似的KV缓存与基模型一起用于自回归生成,而无需再次查询辅助模型。我们证明,与基线相比,我们的方法产生了帕累托最优的效率-精度权衡。在TriviaQA上,我们在各种TTFT FLOPs预算范围内展示了相对精度改进,范围为15%-50%。我们还展示了在固定TTFT FLOPs预算下,HumanEval python代码完成的精度提高了高达30%。此外,我们在Apple M2 Pro CPU上对模型进行了基准测试,并证明了我们对FLOPs的改进转化为硬件上的TTFT加速。我们发布了我们的代码:https://github.com/apple/corenet/tree/main/projects/kv-prediction。