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

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

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

解决方案构想

本文介绍了一种解决方案构想。 云架构师可以通过本指南来帮助可视化此体系结构的典型实现的主要组件。 以本文为起点,设计一个符合工作负荷特定要求的架构合理的解决方案。

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

体系结构

体系结构示意图显示 Azure Databricks 如何与数据存储服务协同工作,以优化和分析数据并使其可用于其他服务。

该图包含三个灰色矩形:一个标记为“进程”,一个标记为“服务”,一个标记为“存储”。 “进程”和“服务”矩形在图的上部彼此相邻。 服务矩形包含一个带有机器学习和 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。 该航空公司还使用机器学习来开发预测模型。 通过识别公司数据中的模式,这些模型可以改善日常运营。