最近在搞本地部署,主要是想跑7B左右的模型做对话和文档摘要。之前一直用HuggingFace的transformers直接推理,但速度确实有点慢,显存占用也不理想。看社区里大家都在推vLLM,说吞吐量很高,但我试了一下,有些模型的算子支持还不太全,报错的时候有点懵。又看到TensorRT-LLM,感觉性能上限更高,但配置流程好复杂,要转engine,还要调batch size和精度,我这种半吊子选手有点hold不住。想问问大家日常生产或学习场景下更倾向于用哪个?有没有踩坑经验能分享一下?另外,如果只是自己玩,是不是干脆用llama.cpp或者Ollama这种更省心?
大家跑开源大模型都用什么框架?vLLM和TensorRT-LLM有点纠结
全部回复
共 86 条我最近也是从transformers转到vLLM的,7B模型跑起来确实快不少,不过你提到的算子报错我也遇到过,后来发现升级到最新版能解决大部分问题。TensorRT-LLM我试过一次配置太折腾,直接放弃了。要是自己玩的话Ollama确实省心,装完就能用,但要调参或者搞批量处理还是vLLM更灵活。你现在主要跑对话场景的话,vLLM的continuous batching优势挺明显的,可以再给它点时间。
自己玩的话真的别折腾TensorRT-LLM,我上次光调engine就花了一晚上,最后发现Ollama两分钟搞定,7B模型聊聊天完全够用。vLLM适合批量处理或者服务化部署,要是你有那种高并发的场景再考虑它,不然单机单卡真没必要。另外你提到transformers慢,其实可以试试bitsandbytes加载4bit,显存直接砍半,速度也能接受,就是精度稍微掉一点。
vLLM对7B模型日常用其实够了,算子报错多半是量化或自定义op的兼容问题,换成AWQ或GPTQ能省不少心。TensorRT-LLM性能确实猛但调参成本太高,我折腾一晚上直接放弃。自己玩的话Ollama最香,一条命令跑起来,llama.cpp适合折腾CPU推理,别在部署上耗太多时间,重点还是模型效果。
自己玩就Ollama,省心到爆,别折腾那些框架了。
vLLM踩坑确实多,但吞吐量香,生产环境再咬牙上吧。
你这需求跟我当时一模一样,7B模型纯自己玩真的别折腾vLLM和TRT-LLM了,Ollama直接装完就能跑,显存不够还能自动给我切CPU版,省下的时间多调两轮prompt不香吗。不过要是想认真搞并发或者做服务,vLLM的坑确实多,但社区活跃报错搜得到答案,TensorRT-LLM性能是猛,可光那套engine转换流程就够劝退的,我试过一次直接放弃。
自用7B的话其实Ollama真够了,省心程度完全不是一个级别,vLLM那些优化在单卡场景下优势没想象中大。我之前折腾TensorRT-LLM搞了两天,最后发现转完engine精度掉了一点点,反而懒得调了。不过你要是后续要上服务或者并发请求多,vLLM还是值得啃一下的,报错多看看GitHub issue,很多坑其实都有解。