模型存储
要部署模型,首先必须将其存储到 Alauda AI 支持的存储类型中。支持的存储类型包括:
- S3 对象存储:最常用的模式。它通过 Storage Initializer(InitContainer)在主容器启动前下载数据。
- Persistent Volume Claim (PVC):通过 Storage Initializer 在主容器启动前挂载存储在持久卷上的数据。
- Open Container Initiative (OCI) containers:在 KServe 中也称为 modelcars。此方法利用容器运行时的分层缓存能力,通过 Sidecar 实现秒级加载。
如果你想在 UI 中管理可复用的项目级 S3、URI 或 OCI 端点,请参阅使用连接。
目录
使用 S3 对象存储作为模型存储身份验证配置S3 密钥配置参数部署 Inference Service使用 OCI containers 作为模型存储使用 PVC 作为模型存储将模型文件上传到 PVC前提条件操作步骤验证下一步部署 Inference Service使用 S3 对象存储作为模型存储
这是最常用的模式。它通过带有特定 S3 配置参数注解的 Secret 实现凭证管理。
身份验证配置
建议为每个项目单独创建 ServiceAccount 和 Secret。
S3 密钥配置参数
- 将
YOUR_BASE64_ENCODED_ACCESS_KEY替换为你实际的 Base64 编码 AWS access key ID。 - 将
YOUR_BASE64_ENCODED_SECRET_KEY替换为你实际的 Base64 编码 AWS secret access key。 - 将
your_s3_service_ip:your_s3_port替换为 S3 服务的实际 IP 地址和端口。 - 如果你的 S3 服务使用 HTTPS,则将
serving.kserve.io/s3-usehttps设置为 "1";如果使用 HTTP,则设置为 "0"。
部署 Inference Service
- 将
Qwen2.5-0.5B-Instruct替换为你的实际模型名称。 aml.cpaas.io/runtime-type: vllm指定了代码运行时类型。有关自定义推理运行时的更多信息,请参阅扩展 Inference Runtimes。- 将
aml-vllm-0.11.2-cpu替换为你平台中已安装的运行时名称(对应一个 ClusterServingRuntime CRD 实例)。 storageUri: s3://models/Qwen2.5-0.5B-Instruct指定模型存储所在的 S3 bucket URI。serviceAccountName: sa-models指定具有访问 S3 凭证 Secret 权限的 service account。
使用 OCI containers 作为模型存储
除了将模型存储在 S3 bucket 或 PVC 中之外,你还可以将模型存储在 Open Container Initiative (OCI) containers 中。在 KServe 中,从 OCI containers 部署模型也称为 modelcars。这种方法非常适合离线环境以及企业内部注册表,例如 Quay 或 Harbor。
有关使用 OCI containers 打包和部署模型的详细说明,请参阅使用 KServe Modelcar 进行模型存储。
使用 PVC 作为模型存储
将模型文件上传到 PVC
在部署模型时,你可以从已存在的 Persistent Volume Claim (PVC) 中提供模型服务,模型文件就存储在其中。你可以在从运行中的 workbench 访问的 IDE 中,将本地模型文件上传到 PVC。
前提条件
-
你可以访问 Alauda AI 监控面板。
-
你可以访问一个具有运行中 workbench 的项目。
-
你已创建 Persistent Volume Claim (PVC)。
-
workbench 已挂载到该 persistent volume(PVC)。
有关创建 workbench 并挂载 PVC 的说明,请参阅创建 Workbench。
-
你的本地机器上已保存模型文件。
操作步骤
按照以下步骤,将模型文件上传到 workbench 中的 PVC:
-
在 Alauda AI 监控面板中,单击 Workbench 进入 workbench 列表页。
-
找到正在运行的 workbench 实例,并单击 Connect 按钮进入 workbench。
-
在 workbench IDE 中,导航到文件浏览器:
- 在 JupyterLab 中,这是左侧边栏中的 Files 选项卡。
- 在 code-server 中,这是左侧边栏中的 Explorer 视图。
-
在文件浏览器中,导航到 home 目录。该目录表示你已挂载 PVC 的根目录。
注意 你在此文件夹中创建或上传的任何文件或文件夹都会持久保存在 PVC 中。
-
可选:创建一个新文件夹来组织模型:
- 在文件浏览器中,右键单击 home 目录并选择 New Folder。
- 为文件夹命名,例如 models。
- 双击新的 models 文件夹进入其中。
-
将模型文件上传到当前文件夹:
- 使用 JupyterLab:
- 单击文件浏览器工具栏中的 Upload 按钮。
- 在文件选择对话框中,浏览并从本地计算机中选择模型文件。单击 Open。
- 等待上传完成。
- 使用 code-server:
- 直接从本地文件管理器拖动模型文件,并将其放入 code-server 中目标文件夹的文件浏览器窗格。
- 等待上传过程完成。
- 使用 JupyterLab:
验证
确认你的文件已出现在你上传时所在路径的文件浏览器中。
下一步
从 PVC 部署模型时,将 storageUri 设置为 pvc://<pvc-name>/<optional-path> 格式。例如:
pvc://model-pvc— 从 PVC 根目录加载。pvc://model-pvc/models/Qwen2.5-0.5B-Instruct— 从特定子目录加载。
部署 Inference Service
- 将
Qwen2.5-0.5B-Instruct替换为你的实际模型名称。 aml.cpaas.io/runtime-type: vllm指定了代码运行时类型。有关自定义推理运行时的更多信息,请参阅扩展 Inference Runtimes。- 将
aml-vllm-0.11.2-cpu替换为你平台中已安装的运行时名称(对应一个 ClusterServingRuntime CRD 实例)。 storageUri: pvc://model-pvc指定模型存储所在的 PVC 名称。