使用 SkyPilot 部署
SkyPilot 是一个用于在任何云上运行大型语言模型、AI 和批处理作业的框架,可实现最大化的成本节约、最高的 GPU 可用性和托管执行。
我们提供一个 SkyPilot 配置示例,用于部署我们的模型。
SkyPilot 配置
在安装 SkyPilot 后,您需要创建一个配置文件,使用我们预构建的 Docker 容器告诉 SkyPilot 如何以及在哪里部署您的推理服务器。
- Mistral-7B
- Mixtral-8X7B
- Mixtral-8X22B
resources:
cloud: ${CLOUD_PROVIDER}
accelerators: A10G:1
ports:
- 8000
run: |
docker run --gpus all -p 8000:8000 ghcr.io/mistralai/mistral-src/vllm:latest \
--host 0.0.0.0 \
--model mistralai/Mistral-7B-Instruct-v0.2 \
--tensor-parallel-size 1
resources:
cloud: ${CLOUD_PROVIDER}
accelerators: A100-80GB:2
ports:
- 8000
run: |
docker run --gpus all -p 8000:8000 ghcr.io/mistralai/mistral-src/vllm:latest \
--host 0.0.0.0 \
--model mistralai/Mixtral-8x7B-Instruct-v0.1 \
--tensor-parallel-size 2
resources:
cloud: ${CLOUD_PROVIDER}
accelerators: A100-80GB:4
ports:
- 8000
run: |
docker run --gpus all -p 8000:8000 ghcr.io/mistralai/mistral-src/vllm:latest \
--host 0.0.0.0 \
--model mistralai/Mixtral-8x22B-Instruct-v0.1 \
--tensor-parallel-size 4
设置这些环境变量后,您可以使用 sky launch
命令启动推理服务器,并指定适当的模型名称,例如 mistral-7b
。
sky launch -c mistral-7b mistral-7b-v0.1.yaml --region us-east-1
注意
以这种方式部署时,模型将对全世界开放。您必须对其进行安全保护,可以通过以下方式:仅在您的私有网络上公开(为此更改 --host
Docker 选项),在其前面添加带有身份验证机制的负载均衡器,或者正确配置您的实例网络。
测试一下!
为了方便地获取部署的 mistral-7b
集群的 IP 地址,您可以使用以下命令:
sky status --ip mistral-7b
然后您可以使用 curl 发送一个补全请求:
IP=$(sky status --ip cluster-name)
curl http://$IP:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/Mistral-7B-v0.1",
"prompt": "My favourite condiment is",
"max_tokens": 25
}'
使用配额
许多云提供商要求您明确申请访问强大的 GPU 实例。请阅读SkyPilot 的指南了解如何操作。