Extend Inference Runtimes
目录
Introduction
本文档将逐步指导您如何添加新的推理运行时,以服务于大语言模型(LLM)或其他模型类型,如“图像分类”、“目标检测”、“文本分类”等。
Alauda AI 内置了“vLLM”推理引擎,通过“自定义推理运行时”,您可以引入更多推理引擎,例如 Seldon MLServer、 Triton inference server 等。
通过引入自定义运行时,您可以扩展平台对更多模型类型和 GPU 类型的支持,并针对特定场景优化性能,以满足更广泛的业务需求。
本节将演示如何通过自定义 XInfernece 推理运行时扩展当前 AI 平台,实现 LLM 部署并提供“OpenAI 兼容 API”。
Scenarios
当您遇到以下任一情况时,建议扩展 AI 平台推理服务运行时:
- 支持新模型类型:您的模型当前默认推理运行时
vLLM不原生支持。 - 兼容其他类型 GPU:需要在配备 AMD 或华为昇腾等 GPU 的硬件上执行 LLM 推理。
- 特定场景性能优化:某些推理场景下,新运行时(如 Xinference)可能比现有运行时提供更优的性能或资源利用率。
- 自定义推理逻辑:需要引入自定义推理逻辑或依赖库,且难以在现有默认运行时中实现。
Prerequisites
开始之前,请确保满足以下条件:
- 您的 ACP 集群已部署且正常运行。
- AI 平台版本为1.3 或更高。
- 已准备好所需的推理运行时镜像。例如,Xinference 运行时镜像可能为
xprobe/xinference:v1.2.2(GPU)或xprobe/xinference:v1.2.2-cpu(CPU)。 - 拥有集群管理员权限(用于创建 CRD 实例)。
Steps
创建推理运行时资源
您需要根据目标硬件环境(GPU/CPU/NPU)创建对应的推理运行时资源。
-
准备运行时 YAML 配置文件:
根据您要添加的运行时类型(例如 Xinference)及目标硬件环境,准备相应的 YAML 配置文件。以下是 Xinference 运行时在不同硬件环境下的示例:
- GPU 运行时示例
- 提示:请务必将
image字段替换为您实际准备的运行时镜像路径。您也可以修改annotations.cpaas.io/display-name字段来自定义 AI 平台 UI 中运行时的显示名称。
- 提示:请务必将
-
应用 YAML 文件创建资源:
在具有集群管理员权限的终端执行以下命令,应用您的 YAML 文件以创建推理运行时资源:
TIP- 重要提示:请**结合上述示例,根据您的实际环境和推理需求创建/配置运行时。**示例仅供参考,您需调整镜像、资源
limits和requests等参数,确保运行时与您的模型及硬件环境兼容且高效运行。 - 注意:只有在运行时资源创建完成后,才能在推理服务发布页面使用此自定义运行时!
- 重要提示:请**结合上述示例,根据您的实际环境和推理需求创建/配置运行时。**示例仅供参考,您需调整镜像、资源
发布 Xinference 推理服务并选择运行时
Xinference 推理运行时资源创建成功后,您可以在 AI 平台发布 LLM 推理服务时选择并配置该运行时。
-
配置模型的推理框架:
确保在即将发布的模型仓库模型详情页,通过“文件管理”元数据编辑功能选择了合适的框架。此处选择的框架参数值必须与您创建推理服务运行时时
supportedModelFormats字段中包含的值匹配。请确保模型框架参数值在推理运行时的supportedModelFormats列表中。 -
进入推理服务发布页面:
登录 AI 平台,进入“推理服务”或“模型部署”模块,点击“发布推理服务”。
-
选择 Xinference 运行时:
在推理服务创建向导中,找到“运行时”或“推理框架”选项,从下拉菜单或列表中选择您在步骤 1 中创建的 Xinference 运行时(如“Xinference CPU 运行时”或“Xinference GPU 运行时(CUDA)”)。
-
设置环境变量: Xinference 运行时需要特定环境变量才能正常工作。在推理服务配置页面,找到“环境变量”或“更多设置”部分,添加以下环境变量:
-
环境变量参数说明
-
示例:
- 变量名:
MODEL_FAMILY - 变量值:
llama(如果您使用的是 Llama 系列模型,详见文档。或者您可以运行xinference registrations -t LLM列出所有支持的模型家族。)
- 变量名:
-