你好,这里是网络技术联盟站,我是瑞哥。
阿里通义千问确实牛逼,最近恰好我在研究AI,就在琢磨着能不能我自己搭一套属于自己的通义千问。
今天瑞哥就手把手、保姆级的教大家如何快速搭建通义千问web在线服务。只要跟着我的文章步骤,可以很负责任的告诉您,除去安装镜像的等待时间,15分钟就搞定了!
有人会问没有那么大的显卡怎么办?其实除了单显卡满足需求,大模型领域更多的是选择用多卡并行计算,满足性能需求的同时可以大大降低成本,这里可以用到大语言模型推理引擎DeepGPU-LLM。DeepGPU-LLM是阿里云开发的一款基于GPU云服务器的大语言模型(LLM)推理引擎,旨在优化大语言模型在GPU上的推理过程。DeepGPU-LLM通过优化和并行计算技术,为用户提供高性能、低延迟的大模型推理服务。它具有易用性和广泛适用性,能够满足各种大语言模型的推理需求。
下面瑞哥就带大家基于deepgpu-llm和fastchat快速搭建通义千问web在线服务。
一、创建GPU实例
1.1 访问购买页面
浏览器输入以下网址,进入阿里云ECS购买页面:
https://ecs-buy.aliyun.com/ecs
1.2 付费类型、可用区、规格
【付费类型】选择“按量付费”,【地域】我这里选择“南京”,大家可以根据自己的需要进行选择,【可用区】选择“南京 可用区 A|默认交换机”:
【实例】建议使用“ecs.gn6i-c24g1.12xlarge”,可以在实例搜索框中搜索,这个示例拥有两个NVIDIA T4 GPU,性能很好:
1.3 选择镜像
在【镜像】选择模块,“云市场镜像”中搜索“deepgpu-llm”:
在弹出的【镜像目录】中,选择“预装deepgpu-llm的ubuntu 22.04系统 24.3”:
1.4 默认配置
【存储】和【带宽和安全组】模块使用默认配置:
1.5 设置密码
在【管理设置】模块中,我个人倾向于自定义密码,大家可以根据自己的习惯进行设置:
1.6 下单并访问实例控制台
然后可以直接点击【确认下单】的按钮:
实例创建成功后,可以点击到控制台:
可以看到我们刚刚购买的实例了:
复制实例列表中的公网IP,我们准备使用SSH工具进行远程访问:
这里我使用的SSH工具是MobaXterm,大家也可以根据自己的喜好进行选择:
这里可以看到,成功登入:
- 这里需要输入的root密码就是【1.5 设置密码】中设置的密码
- 服务器想要成功SSH,需要开放22端口,这个在购买服务器的时候,【1.4 默认配置】检查一下安全组即可。
二、搭建通义千问web在线服务
2.1 前置检查:GPU状态
输入以下命令:
nvidia-smi
从输出信息来看,可以看到两个T4 GPU一切正常。
2.2 下载通义千问模型
首先安装好git大文件存储工具:
apt install -y git-lfs
Git LFS 的工作原理是用一个小的文本指针文件替换仓库中的大文件,这个指针文件包含了如何从远程服务器获取实际的大文件的信息。这样做的好处是,它允许开发者使用 Git 进行版本控制,而不会受到大文件带来的困扰。当您克隆一个使用了 Git LFS 的仓库时,您只会获得小的指针文件,而不是实际的大文件,直到您明确地检出(checkout)这些大文件。
下面创建一个用来存放镜像的目录:
mkdir -p deepgpu/models
切到这个目录:
cd deepgpu/models/
然后打开modelscope官网:
https://modelscope.cn/
搜索模型“qwen/Qwen1.5-4B-Chat”:
git-lfs clone https://modelscope.cn/qwen/Qwen1.5-4B-Chat.git
模型比较大,这里需要等待一段时间。
2.3 检查deepgpu-llm和transformers安装状态
在等待的时间,可以检查一下deepgpu-llm和transformers安装状态,需要另开一个SSH会话:
pip list | grep deepgpu
pip list | grep transformers
可以清晰的看到deepgpu和transformers都成功安装!
2.4 安装基于deepgpu-llm的fastchat
先安装几个特定版本的Python库:Jinja2(一个用于渲染HTML模板的库)、Plotly(一个用于创建交互式图表的库)、Pydantic(用于数据验证和设置管理的库)以及Gradio(一个可以快速构建和分享机器学习模型用户界面的库)。
pip3 install jinja2==3.1.2 plotly pydantic==1.10.13 gradio==3.50.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
升级Python的包管理工具setuptools、wheel和pip:
pip3 install --upgrade setuptools wheel pip -i https://pypi.tuna.tsinghua.edu.cn/simple
安装fschat:
pip3 install https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/fschat_deepgpu-0.2.31%2Bpt2.1-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple --use-pep517
2.5 配置环境变量
export DEEPGPU_CB=True
2.6 启动fastchat控制器
python3.10 -m fastchat.serve.controller --host localhost --port 21001
看到下面的截图就代表启动成功:
安装到这里,我们再去看下镜像的下载已经成功了:
2.7 启动基于deepgpu-llm加速的qwen1.5-4b模型worker
CUDA_VISIBLE_DEVICES=0 python3.10 -m fastchat.serve.model_worker --model-names qwen-4b-deepgpu --model-path /root/deepgpu/models/Qwen1.5-4B-Chat --worker http://localhost:21002 --controller-address http://localhost:21001 --host localhost --port 21002
看到下面截图就代表启动成功了:
2.8 启动基于transformers框架的qwen1.5-4b模型worker
再启动一个SSH会话,输入命令:
CUDA_VISIBLE_DEVICES=1 python3.10 -m fastchat.serve.model_worker --model-names qwen-4b-base --model-path /root/deepgpu/models/Qwen1.5-4B-Chat --worker http://localhost:21003 --controller-address http://localhost:21001 --host localhost --port 21003
看到下面的输出就代表启动完成:
2.9 启动基于gradio的web服务
再打开一个SSH会话,输入命令:
python3.10 -m fastchat.serve.gradio_web_server_multi --controller-url http://localhost:21001 --host 0.0.0.0 --port 5001 --model-list-mode reload
看到这个信息就代表启动成功了。
至此,配置部分已经全部完成。
最后我们测试一下。
访问搭建好的通义千问web在线服务
在浏览器中输入:
http://47.122.5.157:5001/
如果大家都搭建到这里了,记得把地址换成自己的公网IP。
可是这里我们发现这个地址访问不了:
第一时间要想到这个5001的端口没有开,这里我们通过安全组开放一下:
https://ecs.console.aliyun.com/securityGroup/region/cn-nanjing
点击【手动添加】按钮,输入5001端口:
保存后,确认一下有没有添加成功:
再次访问,成功了!
我们输入一些提示词:
到这里,全部完工!
总体下来,体验感非常好,阿里云的GPU也很给力,不只是双卡,还可以4卡、8卡甚至更多,实现多机互联,搭配CFPS和OSS就能完美在云上解决大模型的所有问题!