一般用什么做网站首页,山东做外贸网站的公司,网页设计制作网站素材,北海网站设计公司上回说了#xff0c;全赞AI的应用里面有用到几十个大模型#xff0c;我的其他的应用比如渣渣句#xff0c;熊喵表情都会或多或少的用到一到两个大模型的推理。而众所周知#xff0c;目前大模型的推理存在两个问题#xff0c;一个是慢#xff0c;一个是贵#xff0c;慢的…上回说了全赞AI的应用里面有用到几十个大模型我的其他的应用比如渣渣句熊喵表情都会或多或少的用到一到两个大模型的推理。而众所周知目前大模型的推理存在两个问题一个是慢一个是贵慢的问题基本有赖于模型自身结构的优化才能从根本上解决我暂时未研究这一块的内容以后看看是否有推理框架能对大模型进行推理加速。本文主要讲一讲大模型推理成本的优化。
推理成本说的简单点就是用户用你的大模型画一张图你要花多少钱。这个怎么优化我首先想到的是“自建机房”的思路就是用自己闲置的带GPU的游戏主机来搭个简易的推理集群如下图所示。 家用主机是没有公网IP的所以在Api网关和家用主机之间只能靠消息队列进行通信这里如果有多台家用主机也没有关系所有的游戏机都可以监听消息队列然后率先拿到任务的机器来处理任务。这样用户用的请求就变成异步的了用户第一次请求只是告诉了系统我需要文生图然后系统返回给用户一个任务ID接下来用户需要每隔1秒钟拿着这个ID去询问我这个图画好了没有直到家用游戏主机真正的把图画好之后才结束。
这个架构我也在线上跑了几个月各种不适主要是物理上的断电机器太吵之类的后来这个机器干脆自己冒白烟了我赶紧把这个服务器停了。换成了下面这种看起来复杂很多的方案。 这个方案比较巧妙的地方是使用了各大云厂商的竞价实例来降低成本并且能规模化不管你后端用到多少个大模型都可以用极低的价格搞定推理的事情。
首先我研发了一个调度器它的功能就是根据用户的推理请求分配相应规格的机器比如用户说我要生成视频调度器一查表这个任务需要A100然后再一查分配现状发现没有A100在线上那么需要找大厂调度了于是用大厂的API问一下价格标注上我只要竞价实例发现腾讯现在没有A100的竞价实例阿里的A100只要2元/小时于是果断的对阿里说这个A100我要了开一个小时先。得先在腾讯云和阿里云华为云等各大厂商那里安排一个驻场的SpotAgent,这就是一个云服务器启动模板一旦调度器发请求给阿里云这个SpotAgent就会起起来。阿里云的SpotAgent起来后会监听消息队列它发现有个任务是文生视频于是它果断的去拉取文生视频的镜像下来开始做推理。不得不提一下COGreplicate/cog: Containers for machine learning (http://github.com)这个是专为机器学习模型开发的容器它让所有的模型都能被标准化的安装标准化的推理。用户还是老样子先发请求拿到个任务ID但是第一个用户要忍受冷启动的问题5分钟然后不停的轮询他的任务做完没有。
这个计算架构能节省50%-80%之多的GPU账单可能我这儿一公开大厂的竞价实例GPU要卖断货了。我最近还在想如何用户自己的GPU做我们的推理服务器如果这个事情能做成并且能规模化那大模型真的就可以做到免费了。