使用 Azure Databricks 进行数据科学和机器学习
此体系结构演示如何将 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 图标的白色框,以及三个标记为“铜”、“银”和“金”的数据库表。 三条线连接处理和存储矩形,每条线的每一端都有箭头。
该解决方案存储、处理和提供数据:
数据流
存储
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。 该航空公司还使用机器学习来开发预测模型。 通过识别公司数据中的模式,这些模型可以改善日常运营。