【人工智能】结合代码通俗讲解 Transformer 推理性能优化技术:KV Cache
禅与计算机程序设计艺术 2024-08-21 11:31:04 阅读 75
目录
0. 引言
1. KV Cache是啥?
2. 背景
3. 原理
4. 实现细节
5. 总结
在解码器推理加速的时候,由于解码过程是一个token一个token的生成,如果每一次解码都从输入开始拼接好解码的token,生成输入数据,然后预测下一个token,那么会有非常多的重复计算。
为了解决这个问题,Transformers利用缓存的方式,把之前的计算结果缓存起来,下一次解码的时候直接利用缓存的结果,这样就可以大大加快解码的速度。
为了能更好的理解缓存的方案,我画了两种模型结构图,一种是Decoder模型结构(利用causal mask的self-attention),另一种是Encoder-Decoder结构(利用cross-attention)。下面两个图说明了这两种结构中哪些部分是能够被缓存的。对于causal mask self attention来讲,前面已经计算出的key和value都可以缓存起来。对于Encoder-Decoder结构的cross-attention来讲,Encoder的输出作为key和value都可以缓存起来。
0. 引言
做大模型性能优化的一定对KV Cache不陌生,那么我们对这个技术了解到什么程度呢?请尝试回答如下问题:
KV Cache节省了
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。