本文介绍如何在您的模型服务端点上使用快速部署。 快速部署极大地降低了部署时间,并使模型服务环境与模型训练环境相同。
注释
Express 部署以前称为无服务器优化部署。
什么是快速部署?
快速部署通过在模型注册期间于无服务器笔记本环境中打包和暂存模型工件,实现了更快的端点部署,并确保训练环境与服务环境保持一致。
这不同于非快速部署,其中模型项目和环境在部署时打包到容器中。 在这种情况下,服务环境可能与模型训练期间使用的环境不匹配。
Requirements
快速部署终结点的要求与模型服务终结点相同(请参阅 要求)。 此外:
- 模型必须是自定义模型(而不是 FMAPI)
- 必须使用版本 3 或 4 在无服务器笔记本中记录和注册模型
- 必须记录模型并将其注册到
mlflow>=3.1 - 该模型必须在 Unity 目录中注册,并使用 CPU 或 GPU 计算提供
- 模型的最大环境大小为 1GB
注释
若要使用快捷部署在 GPU 算力上提供自定义 LLM,请参阅通过自定义模型服务提供自定义 LLM。
使用快速部署功能
记录和注册模型时,请使用无服务器笔记本和客户端 3 或 4 以及 mlflow>=3.1。
若要调整无服务器环境的客户端版本,请参阅 “配置无服务器环境”。
然后,在注册模型时,将参数设置为所需的 env_pack 值。
import mlflow
from mlflow.utils.env_pack import EnvPackConfig
mlflow.register_model(
model_info.model_uri,
model_name,
env_pack=EnvPackConfig(name="databricks_model_serving")
)
添加 env_pack 参数将使功能在模型注册期间打包和暂存模型工件及无服务器笔记本环境,以便在部署期间进行使用的准备。 与不注册env_pack模型时相比,这可能需要额外的时间。
EnvPackConfig 具有一个参数 install_dependencies (True 默认情况下),用于确定模型依赖项是否安装在当前环境中,以确认环境是否有效。 如果要跳过该步骤,请将值设置为 False。
注释
如果没有 Internet 访问的工作区中的终结点,或者对自定义库具有依赖项的终结点,如果 install_dependencies 设置为 True,则可能会失败。 在这些情况下,设置 install_dependencies 为 False.
还可以用EnvPackConfig(...)来替换"databricks_model_serving",作为简写形式。 这等效于 EnvPackConfig(name="databricks_model_serving", install_dependencies = True)。
注册模型完成后,可以在 模型服务中部署模型。 请注意,部署时间会缩短,事件日志不再指示容器生成。