【LLMOps】vllm加速机制及推理不一致根因剖析

介绍

当前大模型主流推理方式包括:vllm、tgi、原生transformer

回顾

目前主流大模型都是由transformer演变过来,transformer核心是attention,参考《Attention is All You Need》 ,attention核心则是3个矩阵:Query、Key、Value。

一句话解释attention:Query是当前单词查询矩阵,Key是被查询单词的索引矩阵,Value是被查询单词的结果矩阵。

参考:https://zhuanlan.zhihu.com/p/624531147?utm_id=0https://zhuanlan.zhihu.com/p/104393915

vllm加速原理

 参考文章:https://blog.vllm.ai/2023/06/20/vllm.html

在vllm中有个观念:大模型的推理性能瓶颈是内存(In vLLM, we identify that the performance of LLM serving is bottlenecked by memory),因此vllm致力于优化内存,内存优化的越好,其支持的并发度越高。

核心技术:PageAttention

在PageAttention使用之前,大模型的推理内存是连续的,这就导致碎片化的内存是无法利用的。

PageAttention理念来源于操作系统的虚拟内存,核心手段是对显存进行分块+索引;

 

另外,该方式提高显存的复用性。例如相同的prompt可以存放到单独的内存块中,不需要再重复生成。

 

模型并行

vllm支持模型并行,参考Megatron-LM’s tensor parallel algorithm 

其核心思路是同时将模型分层,每个层分配到不同的显卡(竖切);再将一个Tensor划分成多个分配到不同的显卡(横切)

最终实现多卡之间并行推理。

参考文章:https://blog.csdn.net/qinduohao333/article/details/131617757https://zhuanlan.zhihu.com/p/622212228?utm_id=0

 

推理不一致

未完待续

 

posted @ 2023-12-18 11:15  周周周文阳  阅读(1756)  评论(0编辑  收藏  举报