做了个项目,代码还在改,发出来是想听听各位的看法。
项目作用
我手头有几张不同型号的显卡,平时大部分时间都是闲着。想跑大模型,结果单张显存放不下,就想着能不能把它们拼起来用。
项目叫 织云 Loom,做的事情不复杂:就是把几张显卡在内网里连起来,变成一台机器跑大模型,对外接口兼容 OpenAI 的格式。如果某张卡突然挂了,服务也不会断。
仓库: https://gitee.com/NorthGod_BFDG/LoomNode
与其它项目的区别
我没在跟 vLLM 比。vLLM 解决的是确定硬件上怎么把模型跑快,做得很好,我们也经常看它的代码。和我想解决的问题不太一样:几张型号不同的卡,可能随时掉线,这种情况下怎么稳定把服务撑住。关注点不同,不冲突。
踩过的坑
一开始我是想做公网的。想法挺简单,把不同地方的卡凑一起用。跨省推理我确实跑通过,当时觉得这事有戏。
后来才发现不行。
公网上跨省的延迟是物理层面的,代码怎么都消不掉。这个延迟到了推理流水线里会被放大,我连着改了好几个晚上,能试的优化都试了,没用。最后认了,公网这条线整个砍掉,回到内网。
这个决定当时很难,但现在回头看是对的。
Token 生成速度
数字是我自己测的,不同阶段跑的,不是统一基准,各位看个大概就行:
- 单卡 5090 ,跑 80 亿参数模型,高并发情况大概 1850 tokens/秒。这个数我们测下来跟 vLLM 差不多;
- 同一张卡,开 int4 量化,把 300 亿参数模型塞进去,207 tokens/秒。同配置 128K 长上下文也能跑;
- 容错:跑的时候我把主力节点直接杀了,大概 6.7 秒 切到备用,请求没丢。
现在能用吗
还不能。源码没发,文档先公开了。发这个帖子就是想问问:你们觉得这东西有用吗?在你的场景下,最需要它解决什么问题?
请给我讲讲大家的需求,或者纯粹的评价一下项目——好话坏话都直说。我会认真考虑大家的问题的。
如果这个方向你踩过坑、或者刚好也在折腾类似的玩意—— 评论区说说你现在是怎么处理的,我都会认真回。