大模型的推理本质上是串行的,需要一个字一个字的去预测,
推理加速
1. K-V(键-值)缓存机制
K-V缓存机制的应用大大减少了Transformer模型在文本生成等序列任务中的推理时间。这一机制在许多现代NLP库中得到实现,如Hugging Face的Transformers库。其中,past_key_values参数用于存储和更新每一步生成的键(K)和值(V),以便在生成下一个标记时复用。
优势
加速推理:减少了重复计算,使模型可以更快地生成文本。
节省资源:降低了计算资源的消耗,使得模型推理对硬件的要求更低,特别是在资源受限的环境中尤为重要。
2.Flash Attention
Flash Attention是一种用于加速Transformer模型中自注意力层的技术。它的核心思想是通过高效地计算注意力分数,从而减少计算复杂度和内存使用。Flash Attention特别适用于处理长序列,因为它可以在不牺牲性能的情况下显著减少内存占用。
以下是对Flash Attention的详细介绍:
- 注意力分数的计算:在传统的自注意力机制中,注意力分数是通过计算Query和Key的点积得到的。Flash Attention采用了一种分块计算的方法,将注意力分数的计算分解为多个步骤,从而减少了一次性计算所有分数所需的内存。
- 自适应精度:Flash Attention在计算过程中使用了自适应精度。在计算注意力分数时