【OpenBayes 官方教程】在模型训练中使用子域名访问服务

本教程主要为大家讲解 OpenBayes 上如何在模型训练中使用子域名访问服务,新朋友点击下方链接注册后,即可获得 4 小时 RTX 4090 + 5 小时 CPU 的免费使用时长哦!

注册链接

https://openbayes.com/console/signup?r=yuudi_nBBThttps://openbayes.com/console/signup?r=yuudi_nBBT

首先,创建一个新的「执行」,选择「读写绑定」,指向一个模型仓库,然后点击「下一步:选择算力」。

选择 3090 的算力,镜像选择 vLLM 镜像。

开始执行后,点击「打开工作空间」。

进入到 Jupyter 工作空间后,点击 JupyterLab 左侧文件夹,点击「input」,「input0」,然后可以看到所绑定的模型文件。

回到 home 目录,点击「终端」。

输入 pip list 可以看到 vLLM 0.2.7 版本已经装好了。

然后我们可以直接通过命令进行部署:我们按照 vLLM 官方的介绍启动一个 openai 兼容的 api serve,模型路径为 input0 ,可以对照右侧「概况」栏下的数据集路径,然后我们要为模型输入一个名称(教程示例为 yi ),运行 trust-remote-code 代码,启动脚本。

可以看到它默认使用的是 8000 端口。

我们新建一个终端,输入 nvidia-smi ,可以看到模型已经加载到了显卡里。

我们通过一个 curl 命令来进行测试,可以看到这个模型里面有一个叫做「yi」的模型了。到目前为止,模型已经部署成功了,但这个模型部署只能在容器内部访问,并不能暴露到公网上。而 OpenBayes 的模型训练功能会默认把容器内的 8080 端口暴露出来,并提供一个子域名。

我们将端口改为 8080 ,然后 host 指向 0.0.0.0,我们再执行。

可以看到模型一已经指向 8080 端口了,然后我们打开右侧导航栏中的「API地址」下的链接。

可以看到列出了当前模型的信息,证明我们容器内的 8080 端口已经暴露到公网上了。

使用这个功能需要先进行实名认证,否则无法看到「API地址」下的链接。

虽然通过这个方式,我们可以直接将这个 api server 暴露到了公网上,但是由于它没有一个界面,我们并不方便进行调试和测试。下面我将介绍怎样通过一个 gradio 的脚本对已经创建的 openai 兼容服务进行一个简单的测试。

首先,我们将端口换回 8000,再次启动,然后我们借鉴 vLLM 官方的一个脚本,可以直接把 vLLM 的代码下载下来。

在它的 example 目录下有一个 gradio_openai_chatbot_webserver 的一个脚本,这个脚本就可以直接调用我们刚创建的 server 。

我们先安装依赖,一定要安装 gradio3.41 版本。

然后再安装 openai。

安装好之后,启动这个脚本,通过 -h 命令可以看到里面的参数。

model-url 我们要给一个完整的前缀,指向 v1,模型名字为刚才指定的「yi」,port 指向 8080,host 还是0.0.0.0,这样这个 gradio 就启动起来了。

我们再次打开之前的子域名,就可以看到一个 ChatBot 的界面。

我们进行一个测试,可以看到它在不停地说话,而且重复一样的话,是因为这个模型的 Stop word 有点问题,我们打开刚才的脚本,对这个进行一个调整。

我们找到这个 stop-token-ids 的参数,并把它加上,输入 7 作为 stop word。

我们刷新之前的页面,可以看到能够正常使用了。

为了让大家更好地理解,OpenBaye贝式计算也为大家录制了详细的视频教程,可以点击下方链接查看,快速上手OpenBayes平台!https://www.bilibili.com/video/BV15C4y1k7K2/?spm_id_from=333.337.search-card.all.clickhttps://www.bilibili.com/video/BV15C4y1k7K2/?spm_id_from=333.337.search-card.all.click

相关推荐
云盾安全防护11 分钟前
WAF能够解决数据库被渗透的问题吗?
网络·数据库
胖哥真不错37 分钟前
基于MATLAB的朴素贝叶斯NB的数据分类预测方法应用
人工智能·机器学习·matlab·分类·数据挖掘·数据分类预测·朴素贝叶斯nb
运维栈记1 小时前
CPython的全局解释器锁-GIL即将成为历史
java·开发语言·数据库
未来并未来1 小时前
深入理解 Redis 集群化看门狗机制:原理、实践与风险
数据库·redis·缓存
yBmZlQzJ1 小时前
第5天 | openGauss中一个用户可以访问多个数据库
数据库·opengauss
摸鱼仙人~1 小时前
代理式变革:AI驱动的产品开发与DevOps战略指南
运维·人工智能·devops
赵英英俊1 小时前
Pythonday17
人工智能·机器学习
Morning的呀1 小时前
Class9简洁实现
pytorch·深度学习·机器学习
Greener_Pat1 小时前
【论文蒸馏】Recent Advances in Speech Language Models: A Survey
人工智能·语言模型·audiolm
lilyssh1 小时前
在分布式系统中,如何保证缓存与数据库的数据一致性?
数据库·缓存