使用 AI 预测客户订单
解决方案创意
本文介绍解决方案思路。 云架构师可以使用本指南来帮助可视化此体系结构的典型实现的主要组件。 使用本文作为一个起点,设计一个架构良好的解决方案,该解决方案符合工作负荷的特定要求。
本文介绍了商品经销商如何使用 AI 和机器学习来预测特定 SKU(库存单位)客户未来的订单数量。 通过使用“下一订单预测”(NOF),分销商可以为客户提供产品建议和建议最佳数量。 本文基于许多模型机器学习体系结构
建筑
下载此体系结构的 PowerPoint 文件。
数据流
数据源
若要预测将来的订单,你需要有关特定商店各种 SKU 的客户购买历史记录的综合数据,包括有关首选项和购买行为的信息。 此类信息通常从订单、商品和客户数据库获取。 还需要考虑天气、假日和事件等外部因素。 此数据通常从第三方源获取。
若要创建订单预测模型,请在包含多个关键变量的架构中使用数据:
- 日期和时间
- 客户商店位置
- 商品 SKU
- 已排序数量
- 每单位价格
- 与天气相关的功能、假日、事件和其他外部因素
通过分析此数据,你可以深入了解客户行为,并针对客户的下一订单提供明智的 SKU 和数量建议。
摄入
数据引入是将数据从各种源传输到指定目标的过程。 此过程涉及为每个数据源和目标目标使用特定的连接器。
Azure 数据工厂提供可用于从各种源(包括数据库、文件系统和云服务)中提取数据的连接器。 这些连接器由Microsoft或第三方供应商创建,旨在有效使用多个数据源。 例如,可以将 SAP 连接器 用于各种 SAP 数据引入方案。 可以使用 Snowflake 连接器 从 Snowflake 复制数据。
暂存区域
临时区域充当源和目标之间的临时存储位置。 此暂存区域的主要目的是在将数据加载到目标之前,以统一和结构化的格式维护数据,同时进行转换或质量检查。
一致的数据格式对于准确的分析和建模至关重要。 如果在暂存区域中合并和准备数据,Azure 机器学习可以更高效地处理数据。
机器学习模型训练
模型训练是一个机器学习过程,涉及使用算法从数据中学习模式,在本例中,选择能够准确预测客户的下一订单的模型。
在此解决方案中,Azure 机器学习 用于管理整个机器学习项目生命周期,包括训练模型、部署模型和管理机器学习操作(MLOps)。
ParallelRunStep 用于并行处理大量数据,并创建可预测每个客户存储和商品 SKU 组合的下一个订单的模型。 可以通过将数据集划分为较小的部分并在多个虚拟机上同时处理它们来缩短处理时间。 可以使用 Azure 机器学习计算群集来完成跨多个节点的工作负荷分布。
准备好数据后,Azure 机器学习可以使用 ParallelRunStep 和一系列预测模型(包括指数平滑、弹性网和先知)启动并行模型训练过程。 每个节点或计算实例开始生成模型,因此该过程更高效、更快。
机器学习模型推理
模型推理是一个过程,它使用经过训练的机器学习模型为以前看不到的数据点生成预测。 在此解决方案中,它预测客户可能购买的商品 SKU 数量。
Azure 机器学习提供模型注册表用于存储和版本控制训练的模型。 模型注册表可以帮助你组织和跟踪训练的模型,确保它们随时可供部署。
部署经过训练的机器学习模型使模型能够处理用于推理的新数据。 建议对部署目标使用 Azure 托管终结点。 终结点可实现轻松的可伸缩性、性能优化和高可用性。
在此用例中,可通过两种方法在 托管终结点上部署模型。 第一个选项是在自己的托管终结点上部署每个模型,如下图所示。 第二个选项是将多个模型捆绑到单个模型中,并将其部署到单个托管终结点上。 后一种方法更高效,提供了一种更简单的方法,用于同时部署和管理多个模型。
分析工作负荷
模型的输出存储在分析系统中,例如 Azure Synapse Analytics、Azure Data Lake 或 Azure SQL 数据库,其中还会收集和存储输入数据。 此阶段有助于使用新数据重新训练模型的预测结果,以提高其准确性。
最终用户使用
若要直观向客户呈现评分模型,可以使用 Azure 应用服务、Power BI 仪表板或 Power Apps 的 Web 应用功能。 这些工具可以直观且引人入胜的方式以图形方式呈现 SKU 的建议和预测数量。
客户会向建议的 SKU 和预测数量发出警报,以便他们可以主动下订单。 这些建议可以帮助简化订购过程,减少库存的可能性,并提高客户满意度。 如果使用 Power BI 仪表板或 Power Apps,则可以为客户提供无缝高效的订购体验。
组件
- Azure Synapse Analytics 是一种企业分析服务,可加快跨数据仓库和大数据系统的见解时间。 Azure Synapse 将 SQL 技术与其他 Azure 服务(例如 Power BI、Azure Cosmos DB 和 Azure 机器学习)连接起来。
- 数据工厂 是一种基于云的数据集成服务,可自动执行数据移动和转换。
- Data Lake Storage 是一种无限的数据存储服务,用于采用各种形状和格式的住房数据。 它提供与 Azure 中的分析工具的轻松集成。 此解决方案使用本地数据存储来训练机器学习数据,并使用高级数据缓存来训练机器学习模型。
-
Azure 机器学习 是一种企业级机器学习服务,可为各种机器学习计算目标提供更轻松的模型开发和部署。 它为所有技能级别的用户提供低代码设计器、自动化机器学习和支持各种集成开发环境的托管 Jupyter Notebook 环境。
- Azure 机器学习计算群集 是托管计算结构,可用于轻松创建单节点或多节点计算资源。
- Azure 机器学习终结点 是客户端可以调用的 HTTPS 终结点,以接收已训练模型的推理(评分)输出。 终结点提供稳定的评分 URI,通过密钥和令牌身份验证进行身份验证。
- Azure 机器学习管道 是完成机器学习任务的独立可执行工作流。 管道可帮助你标准化生成机器学习模型的最佳做法,并提高模型构建效率。
- SQL 数据库 是针对云构建的始终up-to关系数据库服务。
- Power BI 提供业务分析和直观沉浸式和交互式见解。 它提供了一组丰富的连接器,用于各种数据源、轻松转换功能和复杂的可视化效果。
- Power Apps 是一套应用、服务和连接器,以及一个数据平台,为生成自定义应用提供快速开发环境。 可以使用 Power Apps 快速生成连接到数据的业务应用。 数据可以存储在基础数据平台(Microsoft Dataverse)或各种联机和本地数据源(如 SharePoint、Microsoft 365、Dynamics 365 和 SQL Server)中。
- Web 应用程序 使用 Azure 中托管的 ASP.NET Core 构建,比传统替代方法具有竞争优势。 ASP.NET Core 针对新式 Web 应用程序开发实践和云托管方案进行优化。
选择
Azure 机器学习在此解决方案中提供数据建模和部署。 或者,可以使用 Azure Databricks 通过代码优先方法生成解决方案。 若要为方案选择最佳技术,请考虑团队的偏好和专业知识。 如果你更喜欢用户友好的图形界面,则 Azure 机器学习是一个不错的选择。 Azure Databricks 非常适合希望实现更多自定义的代码优先方法的灵活性的开发人员。
还可以使用 Azure Databricks 而不是 Azure Synapse 来浏览和操作此解决方案中的数据。 这两个选项都提供强大的数据浏览和操作工具。 Azure Synapse 提供了一个统一的工作区,其中包括使连接和集成来自各种源(Azure 和第三方)的数据更容易的功能。 Azure Databricks 主要提供数据处理和分析。
Azure Synapse 包含一个 SQL 引擎,可用于使用 SQL 语法查询和操作数据。 Azure Databricks 使用基于笔记本的接口,支持使用 Python、R、Scala 和 SQL。
Power BI 是一种常用的可视化工具。 Grafana 是另一个可行的选择。 主要区别在于 Grafana 是开源的,而 Power BI 是Microsoft提供的 SaaS 产品。 如果你优先考虑自定义和使用开源工具,Grafana 是更好的选择。 如果你优先考虑与其他Microsoft产品以及产品支持的更无缝集成,Power BI 是更好的选择。
可以将多个模型捆绑成单个模型,而不是为每个模型使用终结点,以便部署到单个托管终结点。 用于部署的捆绑模型称为 模型业务流程。 使用此方法的潜在缺点包括复杂性增加、模型之间的潜在冲突,以及单个终结点发生故障时停机的风险增加。
方案详细信息
商品分销行业一直努力深入了解客户行为和购买模式,这使得难以提供个性化产品建议、提高客户满意度并推动销售。 通过使用 AI 和机器学习,商品分销商正在改变行业。
他们采用“下一订单预测”(NOF),这是一种方法,用于根据客户购买模式推荐产品和数量。 此方法通过合并订单和降低运输和物流成本来帮助客户受益。 它还允许分销商与普通客户建立智能合同。 这些合同使分销商能够定期主动推荐产品和数量,管理库存,影响制造效率,节省资金,促进可持续性。 例如,通过实施准确的预测,易腐物品的分销商可以管理最佳库存水平,从而避免将多余的库存倾倒到垃圾填埋场。
NOF 使用 AI 和机器学习算法来分析客户订单,并为未来的订单提出建议。 本文中所述的体系结构通过使用并行处理在各个 SKU 和存储级别启用预测,将 NOF 提升到另一个级别。 这种组合使企业能够预测特定商店对特定产品的需求。 通过使用此方法,你可以为客户提供满足其需求的个性化建议,并超出预期。
潜在的用例
NOF 可供需要预测客户需求和优化库存管理的组织使用。 下面是一些特定的用例:
- 电子商务。 在线零售商可以根据客户购买历史记录、浏览行为和首选项预测客户需求并推荐产品。 这些预测可以改善客户体验,增加销售额,并降低物流和仓储成本。
- 款待。 酒店和餐馆可以预测客户对菜单项、饮料和其他产品的需求。 这样做可以帮助他们优化库存,减少食物浪费,并提高盈利能力。
- 医疗。 医院和诊所可以预测患者对医疗用品、设备和药物的需求。 这些预测可以帮助他们减少库存库存,避免积压,并优化采购流程。
- 制造业。 制造商可以预测产品和原材料的需求,优化库存水平,并提高供应链复原能力。
- 能源。 能源公司可以预测需求并优化能源发电、传输和分配。 NOF 可以帮助他们减少碳足迹并提高可持续性。
考虑
这些注意事项实现 Azure Well-Architected 框架的支柱,这是一组指导原则,可用于提高工作负荷的质量。 有关详细信息,请参阅 azure Well-Architected Framework
已选择此解决方案中的技术进行可伸缩性、可用性和成本优化。
安全
安全性提供针对故意攻击和滥用宝贵数据和系统的保证。 有关详细信息,请参阅 安全支柱概述。
此方案的组件内置了改进的安全性。 可以使用Microsoft Entra 身份验证或基于角色的访问控制来管理权限。 考虑实施 Azure 机器学习最佳做法,实现企业安全性 以建立适当的安全级别。
Azure Synapse 提供企业级安全功能,提供组件隔离来帮助保护数据、提高网络安全并提高威胁防护。 在安全漏洞的情况下,组件隔离可以最大程度地减少暴露。 Azure Synapse 还支持数据模糊处理来帮助保护敏感数据。
Data Lake 提供改进的数据保护、数据掩码和改进的威胁防护。 有关详细信息,请参阅 Data Lake 安全。
有关此体系结构的安全性的详细信息,请参阅以下资源:
- 将专用 Azure 服务部署到虚拟网络
- 为 Azure 机器学习
企业安全性和治理
卓越运营
卓越运营涵盖部署应用程序并使其在生产环境中运行的运营流程。 可观测性、监视和诊断设置是在此支柱下强调的三个重要注意事项。
可观测性 是指了解系统数据流运行方式的能力。 监视 是一段时间内跟踪系统性能的持续过程。 可以监视 CPU 使用率、网络流量和响应时间等指标。 诊断设置 是可用于捕获诊断信息的配置选项。
有关详细信息,请参阅 卓越运营支柱概述。
遵循 MLOps 指南 管理可跨多个工作区缩放的端到端机器学习生命周期。 在将解决方案部署到生产环境之前,请确保它支持持续推理,并重新训练周期和自动重新部署模型。
下面是需要考虑的一些资源:
性能效率
性能效率是工作负荷的缩放能力,以满足用户以高效方式满足它的需求。 有关详细信息,请参阅 性能效率支柱概述。
此体系结构中的大多数组件都可以根据分析活动级别进行纵向扩展和缩减。 Azure Synapse 提供可伸缩性和高性能,可以在低级别的活动期间减少或暂停。
可以根据模型训练所需的数据和计算资源量缩放 azure 机器学习 。 可以根据预期的负载和评分服务缩放部署和计算资源。
负载测试是确保机器学习模型性能效率的重要步骤。 此测试涉及模拟对模型的大量请求,以度量吞吐量、响应时间和资源利用率等指标。 负载测试可帮助你识别可能影响模型在生产环境中性能的瓶颈和问题。
有关设计可缩放解决方案的详细信息,请参阅 性能效率清单。
贡献
本文由Microsoft维护。 它最初由以下参与者编写。
主体作者:
- Manasa Ramalinga |首席云解决方案架构师 - 美国客户成功
其他参与者:
- 米克·阿尔伯特 |技术编写器
- 奥斯卡·希马库罗·基扬 |高级云解决方案架构师 - 美国客户成功
若要查看非公共LinkedIn配置文件,请登录到LinkedIn。
后续步骤
- 多个模型解决方案加速器
- 什么是 Azure 机器学习?
- 使用 MLflow 和 Azure 机器学习 跟踪机器学习模型
- Azure 数据工厂文档
- 什么是 Azure Synapse Analytics?
- 什么是 Azure SQL 数据库?
- 什么是 Power BI?
- 欢迎使用 Azure 流分析
相关资源
- 使用 Azure 机器学习 大规模
许多模型机器学习 - 机器学习操作