AI玩转推理 - QwQ与Xinference应对逻辑挑战
应用概述
Xinference 是一个性能强大的推理框架,支持大语言模型(LLM),语音识别模型,多模态模型等各种模型的推理。
QwQ-32B-Preview是由Qwen团队最新发布的实验性研究模型,专注于增强 AI 推理能力,在数学和编程领域有着优异的表现。
本文中我们将介绍如何在弹性容器集群
中用Xinference
作为推理框架,探索QwQ-32B-Preview
对复杂问题的推理效果。
准备工作
本次部署会用到Docker和Kubernetes,请准备好Docker环境,并确保本地有可用的Kubernestes客户端工具kubectl。 Docker环境安装请参考文档,kubectl安装请参考文档。
部署前需要先开通弹性容器集群
并准备好Xinference的官方镜像,请跟随下面的步骤,完成前期准备工作。
资源准备
QwQ-32B-Preview模型的参数规模为320亿,模型文件大小约为62G。因此,在部署前,请确保申请的资源满足下表中的最低要求。
配置项 | 最低配置 | 推荐配置 |
---|---|---|
GPU | H800 * 1 | H800 * 2 |
CPU | 16核 | 32核 |
内存 | 64GB | 128GB |
磁盘 | 100GB | 500GB |
开通弹性容器集群
请参考弹性容器集群的入门文档,完成集群的开通并了解基本的使用方法【了解更多】。成功后,得到kubeconfig文件、弹性容器集群的信息、对象存储和Harbor仓库的相关信息。
需要先设置环境变量,export KUBECONFIG=kubeconfig文件路径,才能够执行kubectl命令
镜像准备
在开始部署前,需要先拉取Xinference官方镜像,然后推送到弹性容器集群
的Harbor仓库中。
docker pull registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference:v0.16.3
登录自己的镜像仓库,将Xinference官方镜像推送过去。
用户名密码:查看开通镜像仓库时的通知短信
镜像仓库访问地址:参考镜像仓库的使用
镜像仓库访问地址:由 镜像仓库访问域名/项目 组成
1. docker login 镜像仓库访问域名 -u 用户名 -p 密码
2. docker tag registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference:v0.16.3 镜像仓库访问地址/xinference:v0.16.3
3. docker push 镜像仓库访问地址/xinference:v0.16.3
XInference
Xinference有单点与集群两种部署模式,本文中采用单点模式。
服务部署
部署XInference需要以下资源,请点击此处获取配置文件,按照下文中的操作,完成相关资源的配置更改与安装。
文件名 | 描述 |
---|---|
xinference-secret.yaml | 镜像仓库的密钥,需要替换base64编 码,参考创建密钥 |
xinference-svc.yaml | Xinference的网络配置,用于暴露Xinference的服务,供外部访问 |
xinference.yaml | Xinference服务的核心配置文件,用于启动服务,需要替换为你自己的镜像 |
xinference.yaml
中的关键参数如下:
参数名 | 描述 |
---|---|
env.XINFERENCE_MODEL_SRC | Xinference的模型源,示例中设置为 modelscope |
env.XINFERENCE_HOME | Xinference的模型文件存储目录,示例中设置为 /data |
Secret
完成前面步骤中的docker login
操作之后,对docker的config.json
文件中的内容进行base64编码,并将编码后的内容保存到xinference-secret.yaml
文件中。
cat ~/.docker/config.json | base64 -w 0