你是否也曾被大模型推理的"三座大山"压得喘不过气?
1. 速度慢:给AI发个"你好",它好像被问出走马灯了,要不是看推理还在继续,我都想问一句它是不是还在。
2. 显存怪兽:一只比全参微调小一点的怪兽,跑一个5B的模型,显存一下子吃掉20G,我甚至怀疑了一下是不是驱动没更新。
3. CPU摸鱼:逐个检查,导致不会一下子把请求处理完。
那么为了解决这个问题,我去西天请vLLM老祖了。
vLLM闪亮登场
你可以看到遍地的部署vLLM教程,可能会觉得过程十分繁琐,但是今天的教程有点不一样。不需要复杂的代码和指令,只需要一个配置,就可以轻松让vLLM动起来。
准备工作
打开我们公司自建的AI云平台,其中有一个AI训练营功能(名字比较朴实无华,但是内有乾坤)
展示军火库!
不仅有以前的LLaMA-Factory,还有这次我们所需要的vLLM。藏在最后的Dify下次再和大家分享,今天的主角还是vLLM。
创建实例
创建vLLM的前提当然还是新建一个实例了。打开算力市场,对着特价区猛猛薅。
这里选择一卡就好,因为我准备运行的是一个1.5B的小模型(也就是之前训练出来的那个,感兴趣的可以看看之前的训练篇章)。
配置vLLM任务
创建完成之后就可以进入vLLM中创建推理了。
这里创建完成之后,就可以直接进入右上角的OPEN WEB UI中看看效果了。那么来创建一个新的vLLM任务吧!
这里内置了一些模型可以供大家选择,但我还是坚定不移地选择自己的模型!
注意:不要忘记填写`--served-model-name`,不然会报错。
检查启动状态
这里可以查看一手日志,看看是否真的启动成功了(都是踩过的坑啊!)。千万不要被外表欺骗了,一定要去日志中看看内在。
如果没有报错,那差不多就是成功启动了。接下来只需要打开OPEN WEB UI,愉快地和AI展开聊天,体验飞一般的速度。(有报错解决不了的话可以联系我哦)
配置Open WebUI
我们注册完成之后,点击右上角,进入管理员面板。
在设置中找到OpenAI API,填入指定的IP地址即可,后面的key随便写写就行。
注意:是http,不是https!!!
保存设置,刷新一下,你就可以看到模型已经悄然上线了。
测试效果
我们来提问一下,看看是不是自己带出来的模型。
看来是没被我绕晕,是我带出来的模型没错了,速度也是快得可怕。
总结
那么这就是vLLM的全部内容了,是不是很简单呢?欢迎大家来平台体验一下!
附言:
vLLM那点"黑科技"
PagedAttention,到底是个啥玩意儿?
PagedAttention是vLLM的核心技术之一,专门解决大模型推理过程中的内存管理问题。传统的Attention机制在处理序列时会预先分配固定大小的显存空间,无论实际需要多少,都会"包场"式地占用内存资源,这就像在电影院里不管来几个人都要包下整个影厅一样浪费。而PagedAttention采用了类似操作系统虚拟内存的思想,将显存划分成一个个固定大小的页面(pages),按需分配和回收,只在需要的时候申请空间,大大提高了内存利用率。
连续批处理:服务员的自我修养
传统的大模型推理服务就像是高档餐厅中的服务员,一次只会服务一桌客人,要等这一桌客人用餐完,才会去服务下一桌,这样就会导致效率十分低下。而vLLM就像是一个超级服务员,可以同时服务多桌客人,左右开弓,好是威风!实现了真正的多请求并发处理,减少了资源的浪费,用了他,你就能成功的压榨显卡了.