在ModelScope容器里配环境可以吗?
在ModelScope容器中配置环境是完全可行的,并且可以通过多种方式实现,具体取决于您的需求和部署场景。以下是详细的步骤和说明,帮助您在ModelScope容器中完成环境配置:
在开始配置之前,请确保满足以下前提条件: - 硬件要求:需要具备GPU节点的ACK集群(Pro版),且GPU显存需为16GB及以上。 - 驱动版本:建议使用525版本的NVIDIA驱动,可以通过为GPU节点池添加标签ack.aliyun.com/nvidia-driver-version:525.105.17来指定驱动版本。 - 工具安装:确保已安装最新版Arena客户端,用于管理和部署推理服务。
执行部署命令
使用Arena工具部署一个自定义类型的推理服务,示例如下:
arena serve custom \
-name=modelscope \
-version=v1 \
-gpus=1 \
-replicas=1 \
-restful-port=8000 \
-readiness-probe-action="tcpSocket" \
-readiness-probe-action-option="port: 8000" \
-readiness-probe-option="initialDelaySeconds: 30" \
-readiness-probe-option="periodSeconds: 30" \
-image=kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/quick-deploy-llm:v1 \
"MODEL_ID=qwen/Qwen1.5-4B-Chat python3 server.py"
参数说明: - -name:指定推理服务名称。 - -version:指定推理服务版本。 - -gpus:指定单个推理服务副本需要使用的GPU卡数。 - -replicas:指定推理服务副本数。 - -restful-port:指定推理服务对外暴露的端口。 - -image:指定推理服务的镜像地址。 - MODEL_ID:指定要下载的ModelScope模型ID。
重要提示:
- ModelScope模型会下载到容器内,因此GPU节点磁盘空间至少需要预留30 GB。 - 如果需要修改模型,可以通过环境变量DASHSCOPE_API_KEY配置ModelScope SDK Token信息。
验证服务状态
执行以下命令查看推理服务的详细信息:
arena serve get modelscope
输出结果中,Available字段显示为1时,表示服务已成功部署并处于健康运行状态。
建立端口转发
在本地与推理服务之间建立端口转发,以便进行测试:
kubectl port-forward svc/modelscope-v1 8000:8000
发送推理请求
使用curl命令向推理服务发送一条模型推理请求:
curl -XPOST http://localhost:8000/generate \
-H "Content-Type: application/json" \
-d '{"text_input": "什么是人工智能?人工智能是", "parameters": {"stream": false, "temperature": 0.9, "seed": 10}}'
预期输出:
{"model_name":"/root/.cache/modelscope/hub/qwen/Qwen1___5-4B-Chat","text_output":"什么是人工智能?人工智能是研究如何使计算机和机器模仿人类的智能行为来实现自主思考"}
如果不再使用已创建的资源,可以执行以下命令删除推理服务:
arena serve del modelscope
通过上述步骤,您可以在ModelScope容器中成功配置环境并部署推理服务。无论是普通Pipeline模型还是大语言对话模型,都可以根据需求灵活调整配置参数。如果您需要进一步优化性能或扩展功能,可以结合阿里云的其他产品(如ACK、PAI等)进行深度集成。
ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352