浅析vllm执行流程

哥们先求个职,有在招AI编译/推理框架base长三角的求私聊,本人有2年半的MLIR/LLVM开发经验。
有点弃更,感觉有很多很好的文章了,我写不出新意,目前还在搓算子,刷cuda for leetcode。全栈必须全栈,榨干每一滴

一、什么是vllm

vllm是现在非常流行的推理引擎,核心是利用类似操作系统的分页机制管理多batch推理,vllm对显存资源进行了高效利用。另外游凯超博士也着重介绍过CUDAGraph在vllm的使用,可以减少一部分cpu和gpu交互的开销,要求是静态的,一般decode阶段都会用。
游凯超在知乎分享了很多vllm相关的文章,也是vllm的核心开发者

二、vllm的执行流程

1、编译vllm的debug版本

这里我使用的Python版本是3.12,是用conda创建的虚拟环境

复制conda create --name vllm python=3.12

*可能要升级cuda版本和驱动,先nvcc --version查看,ubuntu20.04升级到CUDA Toolkit 12.8可以使用如下命令,更多系统以及版本见cuda-toolkit-archive

复制# 可能要卸载旧版本
# sudo apt remove nvidia-cuda-toolkit

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
# 升级后还需要`path`和`LD_LIBRARY_PATH`环境变量的修改
echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

#驱动版本太低的也需要更新
sudo apt-get install -y cuda-drivers

升级后可以一把编过去

复制pip install -e .

2、程序执行入口

只能暂时浅尝辄止得了解下,不同架构的gpu路径完全不同
我目前的体验就是 1.降低峰值内存 2.预热把不同输入弄进来,动静结合 3.减少开销 4.通信模型,mesh贪心or求解

参考

Vincent Zhu 关于使用vLLM加速推理的原理的回答

posted @   暴力都不会的蒟蒻  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示