游戏攻略

并发调用模型API时的问题与解决方案

栏目:游戏攻略 日期: 作者:游戏资讯

目前我们在公司内部的4台A10 GPU服务器上部署了ChatGLM3开源模型,并对官方默认的web_demo和api_demo进行重新设计,以支持H5和安卓两个客户端的调用。然而,我们发现了不能并发访问的问题。

在安卓与H5同时调用ChatGLM的API接口时,其中一个客户端的返回是正常的,而另一个客户端返回却是乱码(解码后是空数据),同时模型报错。报错内容与问题请看具体的 issue 。

官方回复显示了问题的根源:

我们尝试了在多卡上部署模型,比如3卡,发现可以支持3个以下的用户调用,但再多就不行了。

由于非AI相关科班出身也不是专门做这个的,因此一下子还有点棘手;后来在智谱AI开放平台的使用指南-速率限制指南一文中,发现其支持并发调用,只是说有并发数限制。因此我分析来说,应该是放出来的模型与开放平台上的模型有一定的区别,而这个区别就在于模型的并发能力。毕竟外部API调用时,最终还是调用模型内部的流式接口/非流式接口。也就是说,这个模型内部的接口并不支持并行计算。

从模型的内部来说,其是transformer神经网络结构,但其并发能力却没有这么简单,毕竟模型涉及到的计算量是巨大的。归根来说,还是transformer的并行计算能力。

LLaMA-Factory通过vllm实现了并发流式,暂时还没验证,简单看了下代码,理论上是冒得问题的。

LLaMA-Factory官方通过vllm实现了并发流式,暂时还没验证,简单看了下代码,理论上是冒得问题的。

更多详情,请见个人公众号

关键词:

相关资讯