支持不同显存显卡的推理加速框架

212 天前
 whyorwhynot

搞到了 4 张 a100 显卡,两张 80GB 显存的,两张 40GB 显存的,准备跑 Qwen1.5-110B-Chat 非量化版本的。 可是 vllm 等推理加速框架没办法手动配置各张卡的显存占用,只能平均分配,导致受限于显存容量最低的显卡,ollama 可以按比例分配显存,但是其依赖的 llama.cpp 貌似多张卡是串行推理的,也没有实现 paged attention ,速度相比 vllm 慢很多。 现在有什么推理加速库可以像原始 transformers 库一样,通过配置 max_memory={0: "75GIB", 1: "75GIB",2:"38GIB",3:"38GIB"}等方式,充分利用不同大小显存的卡吗。

975 次点击
所在节点    Local LLM
4 条回复
MeePawn666
212 天前
Tensor-rt 不行吗,印象中是可以的
whyorwhynot
211 天前
@MeePawn666 第一次用 TensorRT-LLM ,运行起来有些复杂啊,convert_checkpoint.py 转换模型设置--tp_size 4 的时候,生成的 4 个 rank*.safetensors 看起来大小是相同的,用 mpirun 简单跑了跑小模型,看到日志里面显示 Rank 0 is using GPU 0 ,Rank 1 is using GPU 1 ,推测显存占用还应该是平均分配啊
Djaron
206 天前
vllm 不是可以设置显存利用率吗?
whyorwhynot
205 天前
@Djaron
实际用下来是按照显存最低的那张卡的显存*利用率为实际每张卡使用的显存

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1043507

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX