llm接口高可用工程实践(本地CPU+API模拟GPU) #174
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#174
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
实验环境准备
利用Visual Studio远程连接服务器终端
然后打开终端即可。
接口测试工具下载
这里我们还是用ChatGPTNextWeb工具测试我们的接口,通过下面的地址下载:
ChatGPTNextWeb
安装Docker(有的话可以跳过)
多端口启动大模型
代码兼容多端口启动大模型
因为要基于一份代码启动两个服务,我们需要在原有代码中加入端口参数。打开文件,作出修改:
启动GPU版本大模型
不知道为什么这里报错了啊,之前的实验都可以的,先跳过这个吧
启动CPU版本大模型
部署OneAPI
创建docker-compose.yam文件并启动服务
创建docker-compose.yml
添加内容
启动服务
进入OneAPI页面
前面的.yml文件设置了端口号为3030,故如果是本地要进入刚刚部署的OneAPI页面则为localhost+3030;如果是使用服务器部署的则为服务器ip+3030。
配置llama3-gpu
配置如下:
注意:他这里本来应该叫llama-3-chinese,主要这里是高可用测试,在后面用百度api配置的文心一言那里不能改模型的名字,只能叫ERNIE-Speed-128K,而我们的自定义模型可以随便取自己的名字,所以这里我们也假装叫ERNIE-Speed-128K。
测试一下可通:
配置llama3-gpu
这里我gpu的不知怎么跑不起来的,我试试就拿个别的模型(ERNIE-Speed-128K)假装是gpu版本看行不,反正是测试高可用嘛。
添加Token
我们需要添加一个Token用于后续测试:
注意这里与原讲义有所不同,我们不叫llama-3-chinese。
然后复制令牌,用于后续测试。
测试高可用
配置ChatGPTNextWeb
这里填入OneAPI的接口地址,这也是用OneAPI进行接口分发以及高可用的体现。
之前得到的Token的Key也输入下;
这里模型名和模型也要改。
测试可行性
这里禁用百度文心模型,只用CPU版本,看看我的CPU版本可用不,可用的话实验才能顺利进行。
发现是可用的,只是跑得慢。
双渠道高可用测试
这里解开禁用。
再问同一个问题,快速问两次。
真的是一快一慢,还真是那么回事。
GPU可用CPU不可用以及CPU可用GPU可用测试
由于我是用的文心的API模拟GPU,所以这里其实在我测试可行性的时候就已经做过这个工作了。这里试一下关CPU只用GPU的用法。
关掉CPU,假装GPU在跑。
出来的很快。
这里再试一下关GPU只用CPU的用法。
可以看到半天才蹦出来一个字。