【大模型LLM基础】自回归推理生成的原理以及什么是KV Cache?

LLM自回归推理文本生成原理

看到一篇最清晰的讲解,把两阶段(Prefill和Decode)的计算过程和维度变化写得很明白。读完这段文字应该就对LLM的生成过程有一个把握了。
原文:LLM Inference Unveiled: Survey and Roofline Model Insights [arXiv 2024.3]

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

哪里存在KV Cache?

KV cache发生在多个token生成的步骤中,并且只发生在decoder中(例如,decoder-only模型,如 GPT,或在encoder-decoder模型,如T5的decoder部分),BERT这样的encoder模型不是生成式模型(而是判别性模型),因此没有KV cache。

以下动图是GPT-2以自回归形式生成文本的动态图:
在这里插入图片描述
下图是Attention的标准计算方式:
在这里插入图片描述

什么是KV Cache?

通过缓存以前的键(Key)和值(Value),我们可以只关注计算新token的注意力。
如下图,每当来一个新的token q n e w q_{new} qnew时,计算得到新的 k n e w k_{new} knew v n e w v_{new} vnew,并将其拼接(concat)到缓存的

猜你喜欢

转载自blog.csdn.net/qq_16763983/article/details/137021855
今日推荐