Azure Databricks 中的模型服务

本文介绍 Azure Databricks 模型服务,包括其优点和限制。

什么是模型服务?

Databricks 模型服务为部署、治理和查询 AI 模型提供统一的接口。 你提供的每个模型都可用作 REST API,可以集成到 Web 或客户端应用程序中。

模型服务提供高度可用的低延迟服务来部署模型。 该服务会自动纵向扩展或纵向缩减以满足需求变化,节省基础结构成本,同时优化延迟性能。 此功能使用无服务器计算。 有关更多详细信息,请参阅模型服务定价页

模型服务支持服务:

  • 自定义模型。 这些是打包为 MLflow 格式的 Python 模型。 可以在 Unity 目录或工作区模型注册表中注册它们。 示例包括 scikit-learn、XGBoost、PyTorch 和 Hugging Face 转换器模型。
  • 基础模型 API 提供的最先进的开放模型。 这些模型是支持优化推理的特选基础模型体系结构。 可通过“按令牌付费”定价立即使用基本模型(如 Llama-2-70B-chat、BGE-Large 和 Mistral-7B),而需要性能保证和微调模型变体的工作负载可以使用“预配的吞吐量”进行部署。
  • 外部模型。 这些模型托管在 Databricks 外部。 可以集中管理为外部模型提供服务的终结点,客户可以为其建立速率限制和访问控制。 示例包括 OpenAI 的 GPT-4、Anthropic 的 Claude 等基础模型。

注意

可以使用 AI 操场与受支持的大语言模型进行交互。 AI 操场是一种类似聊天的环境,可在其中测试、提示和比较 LLM。 此功能在 Azure Databricks 工作区中可用。

模型服务为 CRUD 和查询任务提供了统一的 REST API 和 MLflow 部署 API。 此外,它还提供单个 UI 来管理所有模型及其各自的服务终结点。 你还可以使用 AI 函数直接通过 SQL 来访问模型,以便轻松集成到分析工作流中。

有关如何在 Azure Databricks 上提供自定义模型的介绍性教程,请参阅教程:部署和查询自定义模型

有关如何在 Databricks 上查询基础模型的入门教程,请参阅开始在 Databricks 上查询 LLM

为什么使用模型服务?

  • 部署和查询任何模型:模型服务提供统一接口,以便你管理一个位置中的所有模型,并使用单个 API 对其进行查询,无论它们是托管在 Databricks 上还是外部。 此方法简化了跨各种云和提供商在生产环境中试验、自定义和部署模型的过程。

  • 使用专用数据安全地自定义模型:模型服务基于 Data Intelligence 平台构建,通过与 Databricks 功能存储Databricks 矢量搜索的本机集成简化了功能集成和嵌入模型。 为了提高准确性和上下文理解,可以使用专有数据对模型进行微调,并在模型服务上毫不费力地部署模型。

  • 治理和监视模型:可以通过服务 UI 在一个位置集中管理所有模型终结点,包括外部托管的终结点。 你可以管理权限,跟踪和设置使用限制,以及监视所有类型的模型的质量。 这使你能够民主化对你的组织中的 SaaS 和开放 LLM 的访问,同时确保实施适当的防护措施。

  • 通过优化的推理和快速缩放来降低成本:Databricks 实现了一系列优化,以确保为大型模型获得最佳吞吐量和延迟。 该终结点会自动纵向扩展或纵向缩减以满足需求变化,节省基础结构成本,同时优化延迟性能。

  • 为模型服务带来可靠性和安全性:模型服务专为高可用性、低延迟的生产使用而设计,每秒可支持超过 25K 个查询,开销延迟小于 50 毫秒。 服务工作负荷受多层安全保护,确保为最敏感的任务提供安全可靠的环境。

要求

为工作区启用模型服务

无需执行其他步骤即可在工作区中启用模型服务。

限制和地区可用性

Databricks 模型服务施加了默认限制,以确保可靠的性能。 请参阅模型服务限制和区域。 如需对这些限制或不受支持区域中的端点进行反馈,请联系 Databricks 帐户团队。

模型服务中的数据保护

Databricks 非常重视数据安全。 Databricks 了解你使用 Databricks 模型服务进行分析的数据的重要性,并实施以下安全控制来保护你的数据。

  • 客户对模型服务发出的每个请求都经过逻辑隔离、身份验证和授权。
  • Databricks 模型服务会加密所有静态数据 (AES-256) 和传输中数据 (TLS 1.2+)。

对于所有付费帐户,Databricks 模型服务不会使用提交给服务的用户输入或服务的输出来训练任何模型或改进任何 Databrickss 服务。

对于 Databricks 基础模型 API,在提供服务的过程中,Databricks 可能会暂时处理和存储输入和输出,以防止、检测和缓解滥用或有害使用。 你的输入和输出与其他客户的输入和输出相隔离,在与你的工作区相同的区域中存储最多三十 (30) 天,并且只能用于检测和响应安全或滥用问题。

其他资源