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

使用 AI 预测客户订单

Azure 机器学习
Microsoft Fabric
Azure Data Lake
Azure SQL 数据库
Power Apps

解决方案创意

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

本文介绍了商品经销商如何使用 AI 和机器学习来预测特定库存单位(SKU)客户未来的订单数量。 分销商使用下一订单预测为客户提供产品建议和建议最佳订单数量。 本文基于 多模型机器学习体系结构中所述的概念。

建筑

显示用于预测订单的体系结构的关系图。

下载此体系结构的 PowerPoint 文件

数据流

  1. 数据源

    若要预测将来的订单,你需要有关特定商店各种 SKU 的客户购买历史记录的综合数据,包括有关首选项和购买行为的信息。 此类信息通常从订单、商品和客户数据库获取。 还需要考虑天气、假日和事件等外部因素。 此数据通常是从合作伙伴源获取的。

    若要创建订单预测模型,请在包含多个关键变量的架构中使用数据:

    • 日期和时间
    • 客户商店位置
    • 商品 SKU
    • 已排序数量
    • 每单位价格
    • 与天气相关的功能、假日、事件和其他外部因素

    通过分析此数据,你可以深入了解客户行为,并针对客户的下一订单提供明智的 SKU 和数量建议。

  2. 摄入

    数据引入是将数据从各种源传输到指定目标的过程。 此过程为每个数据源和目标目标使用特定的连接器。

    Azure 数据工厂提供可用于从各种源(包括数据库、文件系统和云服务)中提取数据的连接器。 这些连接器由Microsoft或合作伙伴供应商创建,旨在有效地使用多个数据源运行。 例如,可以将 SAP 连接器 用于各种 SAP 数据引入方案。 可以使用 Snowflake 连接器 从 Snowflake 复制数据。

  3. 暂存区域

    临时区域充当源和目标之间的临时存储位置。 此暂存区域的主要目的是在将数据加载到目标之前进行转换或质量检查时,以统一和结构化的格式维护数据。

    一致的数据格式对于准确的分析和建模至关重要。 如果在暂存区域中合并和准备数据,Azure 机器学习可以更高效地处理数据。

  4. 机器学习模型训练

    模型训练是一个机器学习过程,它使用算法从数据中学习模式,在此解决方案中,选择能够准确预测客户的下一订单的模型。

    在此解决方案中,可以使用机器学习或 Fabric 数据科学来训练模型。

    • 机器学习 用于管理整个机器学习项目生命周期,包括训练模型、部署模型和管理机器学习作。

      • ParallelRunStep 用于并行处理大量数据,并创建可预测每个客户存储和商品 SKU 组合的下一个订单的模型。 可以通过将数据集划分为较小的部分并在多个虚拟机上同时处理它们来缩短处理时间。 可以使用机器学习计算群集跨多个节点分配工作负荷。

      • 准备好数据后,机器学习可以使用 ParallelRunStep 和一系列预测模型(包括指数平滑、弹性网和先知)启动并行模型训练过程。 每个节点或计算实例开始生成模型,因此该过程更高效、更快。

    • Apache Spark 是 Microsoft Fabric 的一部分,它支持使用大数据进行机器学习。 通过使用 Apache Spark,可以生成大量结构化、非结构化和快速移动数据的宝贵见解。 使用 Fabric 中的 Apache Spark 训练机器学习模型时,可以使用多个可用的开源库选项,包括 Apache Spark MLlib 和 SynapseML

  5. 机器学习模型推理

    模型推理是一个过程,它使用经过训练的机器学习模型为以前看不到的数据点生成预测。 在此解决方案中,它预测客户可能购买的商品 SKU 数量。

    • 机器学习提供用于存储和版本控制定型模型的模型注册表。 模型注册表可以帮助你组织和跟踪训练的模型,并确保它们随时可供部署使用。

      • 部署经过训练的机器学习模型使模型能够处理用于推理的新数据。 建议对部署目标使用 Azure 托管终结点。 终结点可实现轻松的可伸缩性、性能优化和高可用性。

        在此用例中,可通过两种方法在 托管终结点上部署模型。 第一个选项是在自己的托管终结点上部署每个模型,如下图所示。 第二个选项是将多个模型捆绑到单个模型中,并将其部署到单个托管终结点上。 后一种方法更高效,提供了一种更简单的方法,用于同时部署和管理多个模型。

    • Fabric 使用安全、可缩放且易于使用的在线终结点,从机器学习模型提供实时预测。 这些终结点可用作大多数 Fabric 模型的内置属性。

      • 可以使用 面向公众的 REST API 激活、配置和查询模型终结点。 可以通过使用低代码体验来激活模型终结点和预览预测,从 Fabric 接口入手。
  6. 分析工作负荷

    模型的输出存储在 OneLake、Azure Data Lake Storage 或 Azure SQL 数据库等分析系统中,其中还会收集和存储输入数据。 此阶段有助于提供客户消耗预测结果、模型监视和新数据,以便重新训练模型以提高其准确性。

  7. 客户消耗

    若要直观地将评分模型呈现给客户,可以使用 Azure 应用服务、Power BI 仪表板或 Power Apps 的 Web 应用功能。 这些平台允许你以清晰、图形格式显示 SKU 建议和预测数量。

    客户会收到建议的 SKU 和预测数量通知,以便他们可以主动下订单。 这些建议可以帮助简化订购过程,减少库存的可能性,并提高客户满意度。 如果使用 Power BI 仪表板或 Power Apps,则可以为客户提供信息丰富的订购体验。

组件

  • Fabric 是一个企业就绪的端到端分析平台。 它统一数据移动、数据处理、引入、转换、实时事件路由和报表生成。 它通过集成服务(如 Fabric 数据工程师、Azure 数据工厂、数据科学、Fabric Real-Time Intelligence、Fabric 数据仓库和 Fabric 数据库)支持这些功能。 在此体系结构中,Fabric 工作负载用于处理和转换数据,以创建端到端数据科学工作流。

    • OneLake 是适用于整个组织的单个、统一的逻辑数据湖。 每个 Fabric 租户都会自动包括 OneLake,无需管理基础结构。 在此体系结构中,OneLake 用于存储从各种源引入的数据。 它还充当训练机器学习模型的数据的存储库。 这种集中式存储系统可确保对分析过程进行高效的数据管理和访问。

    • Fabric Lakehouse 是一个数据体系结构平台,用于在单个位置存储、管理和分析结构化和非结构化数据。 它是一种灵活且可缩放的解决方案,它允许组织使用各种工具和框架来处理和分析这些数据的大量数据。 它与其他数据管理和分析工具集成,为数据工程和分析提供解决方案。 Lakehouse 将 Data Lake 的可伸缩性与数据仓库的性能和结构相结合,为数据存储、管理和分析提供统一的平台。 在此体系结构中,Fabric Lakehouse 是来自不同来源的结构化和非结构化数据的中心中心。 它有助于确保具有全面的数据集。 它还存储模型输出,以便应用程序可以轻松访问和使用预测结果。

    • 数据仓库 是 Fabric 中的数据仓库解决方案。 以湖为中心的仓库基于分布式处理引擎构建,可大规模实现行业领先的性能,同时最大程度地减少配置和管理需求。 在此体系结构中,你将使用数据仓库在分析工作负荷阶段存储转换和统一的数据,而不是依赖于 Lakehouse。 使用此 决策指南 可帮助你为 Fabric 工作负载选择数据存储。

  • Azure 数据工厂 是一种基于云的数据集成服务,可自动执行数据移动和转换。 在此体系结构中,Azure 数据工厂引入来自不同源的数据,并通过管道进行处理和分析。

  • Data Lake Storage 是一种无限的数据存储服务,用于采用各种形状和格式的住房数据。 它提供与 Azure 中的分析工具的轻松集成。 此解决方案使用本地数据存储来训练机器学习数据,并使用高级数据缓存来训练机器学习模型。

  • 机器学习 是一种企业级机器学习服务,可促进模型开发和部署到各种机器学习计算目标。 在此体系结构中,它为所有技能级别的用户提供低代码设计器、自动化机器学习以及支持各种集成开发环境的托管 Jupyter Notebook 环境。

    • 机器学习计算群集 是托管计算结构,可用于轻松创建单节点或多节点计算资源。 在此体系结构中,计算群集支持并行处理,以便为每个客户存储和商品 SKU 组合同时训练多个预测模型。

    • 机器学习终结点 是客户端可以调用的 HTTPS 终结点,以接收已训练模型的推理(评分)输出。 终结点提供稳定的评分 URI,通过密钥和令牌身份验证进行身份验证。 在此体系结构中,终结点使应用程序能够获取客户订单数量的实时预测。

    • 机器学习管道 是完成机器学习任务的独立可执行工作流。 在此体系结构中,管道可帮助你标准化生成机器学习模型的最佳做法,并提高模型构建效率。

  • SQL 数据库 是针对云构建的始终up-to关系数据库服务。 在此体系结构中,它存储结构化数据,例如订单历史记录和模型输出,以支持分析工作负荷和报告。

  • Power BI 提供业务分析和直观沉浸式和交互式见解。 在此体系结构中,Power BI 提供仪表板和报表,这些仪表板和报表提供机器学习模型生成的见解和建议。

  • Power Apps 是快速构建自定义业务应用程序的平台。 在此体系结构中,使用 Power Apps 创建显示个性化订单建议的面向用户的应用程序。 数据可以存储在基础数据平台(Microsoft Dataverse)或各种联机和本地数据源(如 SharePoint、Microsoft 365、Dynamics 365 和 SQL Server)中。

  • 使用 ASP.NET Core 构建并在 Azure 中托管的 Web 应用程序比传统替代方法具有竞争优势。 ASP.NET Core 针对新式 Web 应用程序开发实践和云托管方案进行优化。 在此体系结构中,Web 应用程序可以作为门户供用户访问预测的建议并与订购系统交互。

选择

  • 机器学习在此解决方案中提供数据建模和部署。 或者,可以使用 数据科学 体验,使用户能够构建端到端的数据科学工作流。 可以在整个数据科学过程中完成各种各样的活动。 机器学习与 Fabric 之间的选择取决于数据科学作的规模、机器学习任务的复杂性以及与已使用的其他工具和服务的集成等因素。 这两个平台都涵盖各种要求和功能,这使得它们适用于各种方案。

    还可以使用 Azure Databricks 浏览和作此解决方案中的数据。 Azure Databricks 使用基于笔记本的接口,支持使用 Python、R、Scala 和 SQL。 Azure Databricks 主要提供数据处理和分析功能。

    使用 OneLake 通过 快捷 功能将现有平台装载为服务(PaaS)存储帐户。 不会迁移或复制现有数据。 快捷方式提供对 Data Lake Storage 中的数据的直接访问。 他们还支持在用户和应用程序之间共享数据,而无需复制文件。 还可以创建其他存储系统的快捷方式,以便可以使用智能缓存分析跨云数据,从而降低出口成本,使数据更接近计算。

    Fabric 数据工厂 提供新式数据集成体验,用于从丰富的数据源引入、准备和转换数据。 它结合了 Power Query 的简单性,可以使用 200 多个本机连接器连接到本地和云中的数据源。 可以使用 Fabric 数据管道而不是 Azure 数据工厂管道进行数据集成,具体取决于几个因素。 有关详细信息,请参阅 比较 Azure 数据工厂和结构数据工厂

    Fabric 中的数据库是开发人员友好的事务数据库,例如 SQL 数据库,可帮助你在 Fabric 中创建作数据库。 使用镜像功能将数据从各种系统组合到 OneLake 中。 可以直接将现有数据资产复制到 OneLake,包括来自 SQL 数据库、Azure Cosmos DB、Azure Databricks、Snowflake 和 Fabric SQL 数据库的数据。 有关详细信息,请参阅 Fabric 中的 SQL 数据库Fabric 中的镜像

  • Power BI 是一种常用的可视化工具。 Grafana 是另一个选项。 主要区别在于 Grafana 是开源的,而 Power BI 是来自 Microsoft 的软件即服务(SaaS)产品/服务。 如果你优先考虑自定义和使用开源工具,Grafana 是更好的选择。 如果你优先考虑与其他Microsoft产品和产品支持的集成,Power BI 是更好的选择。

  • 可以将多个模型捆绑成单个模型,以便部署到单个托管终结点,而不是为每个模型使用终结点。 用于部署的捆绑模型称为 模型业务流程。 使用此方法的潜在缺点包括复杂性增加、模型之间的潜在冲突,以及单个终结点发生故障时停机的风险增加。

方案详细信息

商品分销行业历来难以深入了解客户行为和购买模式,这使得难以提供个性化产品建议、提高客户满意度并推动销售。 通过使用 AI 和机器学习,商品分销商可以转换行业。

通过采用下一订单预测,组织可以根据客户购买模式推荐产品和数量。 此方法通过合并订单和降低运输和物流成本来帮助客户受益。 它还允许分销商与普通客户建立智能合同。 这些合同使分销商能够定期主动推荐产品和数量,管理库存,影响制造效率,节省资金,促进可持续性。 例如,通过实施准确的预测,易腐物品的分销商可以管理最佳库存水平,并避免将多余的库存倾倒到垃圾填埋场。

下一订单预测使用 AI 和机器学习算法来分析客户订单,并为未来的订单提出建议。 本文中所述的体系结构通过使用并行处理在各个 SKU 和存储级别启用预测,将下一顺序预测提升到另一个级别。 这种组合使企业能够预测特定商店对特定产品的需求。 通过使用此方法,你可以为客户提供满足其需求的个性化建议,并超出预期。

潜在的用例

组织可以使用下一订单预测来预测客户需求并优化库存管理。 以下示例是一些特定的用例:

  • 电子商务: 在线零售商可以根据客户购买历史记录、浏览行为和首选项预测客户需求并推荐产品。 这些预测可以改善客户体验,增加销售额,并降低物流和仓储成本。

  • 款待: 酒店和餐馆可以预测客户对菜单项、饮料和其他产品的需求。 这些预测可以帮助他们优化库存,减少食物浪费,并提高盈利能力。

  • 医疗: 医院和诊所可以预测患者对医疗用品、设备和药物的需求。 这些预测可以帮助他们减少库存库存,避免积压,并优化采购流程。

  • 制造业: 制造商可以预测产品和原材料的需求,优化库存水平,并提高供应链复原能力。

  • 能源: 能源公司可以预测需求并优化能源发电、传输和分配。 下一订单预测可以帮助他们减少碳足迹并提高可持续性。

考虑

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改进工作负荷质量的指导原则。 有关详细信息,请参阅 Well-Architected Framework

已选择此解决方案中的技术进行可伸缩性、可用性和成本优化。

安全性

安全性提供针对故意攻击和滥用宝贵数据和系统的保证。 有关详细信息,请参阅可靠性设计审查检查表

此方案的组件内置了改进的安全性。 可以使用Microsoft Entra 身份验证或基于角色的访问控制来管理权限。 请考虑实现 企业安全性的机器学习最佳做法 ,以建立适当的安全级别。

Fabric 为整个平台提供完整的 安全 包。 Fabric 最大限度地减少了维护安全解决方案并将其传输到云的成本和责任。 通过使用 Fabric,可以访问Microsoft的专业知识和资源,使数据更安全、修补漏洞、监视威胁并遵守法规。 还可以使用 Fabric 根据要求管理、控制和审核安全设置。

Data Lake 提供改进的数据保护、数据掩码和改进的威胁防护。 有关详细信息,请参阅 Data Lake 安全

有关此体系结构的安全性的详细信息,请参阅以下资源:

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅设计卓越运营的审查清单。 可观测性、监视和诊断设置是在此支柱下突出显示的重要注意事项。

可观测性 是指了解系统数据流的工作原理。 监视 是一段时间内跟踪系统性能的持续过程。 可以监视 CPU 使用率、网络流量和响应时间等指标。 诊断设置 是可用于捕获诊断信息的配置选项。

有关详细信息,请参阅 卓越运营支柱概述

遵循 机器学习作指南 来管理可跨多个工作区缩放的端到端机器学习生命周期。 在将解决方案部署到生产环境之前,请确保它支持持续推理,并重新训练周期和自动重新部署模型。

有关详细信息,请参阅以下资源:

性能效率

性能效率是指工作负荷能够高效地缩放以满足用户需求。 有关详细信息,请参阅性能效率设计评审核对清单

此体系结构中的大多数组件都可以根据分析活动级别进行纵向扩展和缩减。 Fabric 容量指标应用旨在为 Fabric 容量提供监视功能。 使用应用监视容量消耗,并做出有关如何使用容量资源的明智决策。 例如,应用可以帮助确定何时纵向扩展容量或何时启用自动缩放。

可以根据模型训练所需的数据和计算资源量来缩放 机器学习 。 可以根据预期的负载和评分服务缩放部署和计算资源。

负载测试是确保机器学习模型性能效率的重要步骤。 此测试涉及模拟对模型的大量请求,以度量吞吐量、响应时间和资源利用率等指标。 负载测试可帮助你识别可能影响模型在生产环境中性能的瓶颈和问题。

贡献

Microsoft维护本文。 以下参与者撰写了本文。

主体作者:

其他参与者:

若要查看非公开的LinkedIn个人资料,请登录LinkedIn。

后续步骤