你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Databricks 进行数据科学和机器学习

Azure Databricks
Azure Data Lake Storage
Azure Kubernetes 服务 (AKS)
Azure 机器学习

解决方案构想

本文是一种解决方案构想。 如果你希望我们在内容中扩充更多信息,例如潜在用例、备用服务、实现注意事项或定价指南,请通过提供 GitHub 反馈来告知我们。

此体系结构演示如何将 Azure Databricks、Delta Lake 和 MLflow 用于数据科学和机器学习,从而改进操作。 可通过开发、训练和部署机器学习模型来提高整体效率和客户体验。

体系结构

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

该图包含三个灰色矩形:一个标记为“进程”,一个标记为“服务”,一个标记为“存储”。 “进程”和“服务”矩形在图的上部彼此相邻。 服务矩形包含一个带有机器学习和 Azure Kubernetes 服务图标的白框。 另一个白框横跨“进程”和“服务”矩形。 它包含 Azure Databricks 和 MLflow 的图标。 一个箭头从该框指向“服务”矩形中的白色框。 “进程”矩形下方是“存储”矩形。 它包含一个带有 Data Lake Storage、Delta Lake 图标的白色框,以及三个标记为“铜”、“银”和“金”的数据库表。 三条线连接处理和存储矩形,每条线的每一端都有箭头。

下载此体系结构的 Visio 文件

该解决方案存储、处理和提供数据:

数据流

存储

Data Lake Storage 以 Delta Lake 格式存储数据。 Delta Lake 构成了数据湖的特选层。 奖牌体系结构将数据组织成三层:

  • “铜”表保存原始数据。
  • “银”表包含经过清理、筛选的数据。
  • “金”表存储可用于分析和报告的聚合数据。

进程

  • 来自各种语言、框架和库的代码准备、优化和清理原始数据 (1)。 编码可能性包括 Python、R、SQL、Spark、Pandas 和 Koalas。

  • Azure Databricks 运行数据科学工作负载。 该平台还构建和训练机器学习模型 (2)。 Azure Databricks 使用预安装的优化库。 示例包括 scikit-learn、TensorFlow、PyTorch 和 XGBoost。

  • MLflow 跟踪捕获机器学习试验、模型运行和结果 (3)。 当最佳模型准备好投入生产时,Azure Databricks 会将该模型部署到 MLflow 模型存储库。 此集中式注册表存储有关生产模型的信息。 注册表还使模型可用于其他组件:

    • Spark 和 Python 管道可以引入模型。 这些管道处理批处理工作负载或流式 ETL 流程。
    • REST API 为多种目的提供对模型的访问。 例如移动和 Web 应用程序中的测试和交互式评分。

服务

Azure Databricks 可以将模型部署到其他服务,例如机器学习和 AKS (4)。

组件

  • Azure Databricks 是一个数据分析平台。 其完全托管的 Spark 群集运行数据科学工作负载。 Azure Databricks 还使用预安装的优化库来构建和训练机器学习模型。 MLflow 与 Azure Databricks 的集成提供了一种跟踪试验、将模型存储在存储库中以及使模型可用于其他服务的方法。 Azure Databricks 提供可缩放性:

    • 单节点计算群集处理小型数据集和单模型运行。
    • 对于大型数据集,可以使用多节点计算群集或图形处理单元 (GPU) 群集。 这些群集使用 HorovodRunner 和 Hyperopt 等库和框架进行并行模型运行。
  • Data Lake Storage 是一种可缩放且安全的数据湖,适用于高性能分析工作负载。 这项服务可管理 PB 量级的信息,同时保持数百千兆的吞吐量。 数据可以具有以下特征:

    • 结构化、半结构化或非结构化。
    • 来自多个异构源,例如日志、文件和媒体。
    • 静态、来自批处理或流式处理。
  • Delta Lake 是使用开放文件格式的存储层。 此层在 Data Lake Storage 等云存储的顶层运行。 Delta Lake 针对转换和清理批处理和流式处理数据进行了优化。 该平台支持以下特性和功能:

    • 数据版本控制和回滚。
    • 原子性、一致性、隔离性和持久性 (ACID) 事务的可靠性。
    • 数据准备、模型训练和模型服务的一致标准。
    • 按时间顺序查看源数据的一致性快照。 数据科学家可以在快照上训练模型,而不是创建单独的副本。
  • MLflow 是机器学习生命周期的开源平台。 MLflow 组件可在训练和运行期间监视机器学习模型。 存储的信息包括代码、数据、配置信息和结果。 MLflow 还可存储模型并将其加载到生产环境中。 由于 MLflow 使用开放框架,因此各种服务、应用程序、框架和工具都可以使用这些模型。

  • 机器学习是一个基于云的环境,可帮助你生成、部署和管理预测分析解决方案。 使用这些模型可以预测行为、结果和趋势。

  • AKS 是高度可用、安全且完全托管的 Kubernetes 服务。 使用 AKS 可以轻松部署和管理容器化应用程序。

方案详细信息

随着组织认识到数据科学和机器学习的力量,你可以提高效率、增强客户体验并预测变化。 要在业务关键型用例中实现这些目标,需要一致且可靠的模式:

  • 跟踪试验。
  • 再现结果。
  • 将机器学习模型部署到生产中。

本文概述了一致且可靠的机器学习框架的解决方案。 Azure Databricks 构成了体系结构的核心。 存储层 Delta Lake 和机器学习平台 MLflow 也发挥着重要作用。 这些组件与 Azure Data Lake Storage、Azure 机器学习和 Azure Kubernetes 服务 (AKS) 等其他服务无缝集成。

这些服务共同为数据科学和机器学习提供了一种解决方案,其中包括:

  • 简单:开放数据湖简化了体系结构。 数据湖包含特选层 Delta Lake。 该层以开源格式提供对数据的访问。

  • 开放:该解决方案支持开源代码、开放标准和开放框架。 此方法可最大程度地减少将来更新的需求。 Azure Databricks 和机器学习本机支持 MLflow 和 Delta Lake。 这些组件共同提供行业领先的机器学习操作 (MLOps),或用于机器学习的 DevOps。 广泛的部署工具与解决方案的标准化模型格式集成。

  • 协作:数据科学和 MLOps 团队使用此解决方案协同工作。 这些团队使用 MLflow 跟踪来记录和查询试验。 团队还将模型部署到中央 MLflow 模型注册表。 然后,数据工程师在数据引入、提取-转换-加载 (ETL) 流程和流式管道中使用已部署的模型。

可能的用例

AGL 为能源预测生成的平台激发了此解决方案。 该平台为数千个并行模型提供快速且经济高效的训练、部署和生命周期管理。

除了能源供应商,该解决方案还可以使具有以下特征的组织受益:

  • 使用数据科学。
  • 生成和训练机器学习模型。
  • 在生产环境中运行机器学习模型。

示例包括以下行业中的组织:

  • 零售和电子商务。
  • 银行和财务行业。
  • 医疗保健与生命科学。
  • 汽车工业和制造业。

后续步骤

  • AGL Energy 为数千个并行模型构建了一个标准化平台。 该平台为模型提供快速且具有成本效益的培训、部署和生命周期管理。
  • Open Grid Europe (OGE) 使用人工智能模型来监视天然气管道。 OGE 使用 Azure Databricks 和 MLflow 来开发模型。
  • Scandinavian Airlines (SAS) 在协作研究阶段使用 Azure Databricks。 该航空公司还使用机器学习来开发预测模型。 通过识别公司数据中的模式,这些模型可以改善日常运营。