欢迎访问深圳敏捷云计算科技有限公司!

甲骨文云在网络边缘近距离部署机器学习模型:实现高效率与低延迟

2024-01-15 原创文章

在许多行业中,机器学习的作用越来越重要。机器学习模型由数据科学家构建和训练,用于基于操作数据提供预测或评分——例如,用于提高流程效率、检测和应对问题或异常,或评估关键绩效指标(KPI)和质量指标。

数据科学家通过处理大量数据集构建和训练他们的模型,这些数据集由聚合的历史操作数据组成,并且通常依赖于强大的计算资源来开发他们的模型。部署后,模型运行时实时消耗操作数据,并生成可以用来微调操作流程和解决异常的评分或预测。有时,您会希望在网络边缘部署模型运行时,通常是由于以下原因:

  • 模型需要的数据量超过远程站点与中心位置之间的带宽所能容纳。
  • 远程站点与中心位置之间的连接不稳定。
  • 您对于将数据输入模型运行时、让其生成评分或预测,并对该评分或预测采取行动的过程有非常低的延迟要求。
  • 这种部署方式在试图集中管理这些运行时时可能会引入挑战。例如,Oracle云基础设施(OCI)数据科学只能自动部署模型到Oracle云。这种架构解决了这些挑战。

架构

这种架构是在数据源和生产系统附近部署机器学习模型的基础。它在此图中描述:



该架构的工作原理如下:

1.生产过程生成数据,这些数据被流式传输到Oracle云上的流媒体服务。流媒体服务触发一个功能来处理传入的流。这个功能在将传入的数据存储到自主数据仓库(ADW)之前,可能会对其进行处理或转换。

2.数据科学家定期基于ADW中的数据重建机器学习(ML)模型。当这些模型经测试并证实优于旧模型时,它们被保存以供部署(例如,以ONNX格式),并被推送到对象存储中,使其可供后续获取。为确保正确的模型被传送到正确的地点,建议为每个本地站点设置单独的对象存储桶。因为模型目录在OCI外部无法访问,且Oracle数据科学只能部署到Oracle云,所以不使用Oracle数据科学存储模型在模型目录中,然后作为模型部署的正常过程。

3.本地站点定期检查并获取ML模型的更新,方法是检查特定的对象存储桶。当有新模型可用时,本地站点获取、部署并开始使用它们。

4.在生产中,生产数据传递给ML运行时,以生成评分、预测、警报等。

请注意,存在多种打包和部署模型的方法。例如,数据科学可以触发一个功能(未显示),将模型及其调用的网络服务作为容器打包,该容器可以存储在容器注册表中(未显示),从那里可以由运行在本地站点的Kubernetes获取(未显示)。由于我们不知道特定用例可能存在的具体可能性和限制,因此这种架构展示了一种更基本的方法。这种架构包含以下组件:

本地站点

一个或多个远程生产站点通过站点到站点的VPN连接到Oracle云。这些站点可能是制造设施,需要对来自生产过程的数据流进行低延迟的机器学习。

生产机械

在每个远程站点,运行着一个或多个生产系统、质量控制系统、MES、SCADA系统等,它们生成生产数据和/或物联网流。这些系统的数据被送到ML运行时,根据ML模型对数据的响应来进行评分、预测或发出警报。

ML执行环境

在每个远程站点,都有一个机器学习执行环境在运行。其核心是ML运行时,比如ONNX运行时,可能作为网络服务运行,并向物联网网关提供评分和预测功能。ML执行环境的确切配置将取决于具体的本地情况和需求。

租户

当您注册OCI时,Oracle会在Oracle云中为您设置一个安全且独立的分区,称为租户。您可以在您的租户内创建、组织和管理您在Oracle云中的资源。一个租户通常与一家公司或组织相对应。通常,一家公司将有一个租户,并在该租户内反映其组织结构。一个租户通常与一个订阅相关联,一个订阅通常只有一个租户。

虚拟云网络(VCN)和子网

VCN是您在Oracle云基础设施区域中设置的可自定义的软件定义网络。与传统的数据中心网络一样,VCN让您完全控制您的网络环境。VCN可以有多个不重叠的CIDR块,您可以在创建VCN后更改它们。您可以将VCN分割成子网,这些子网可以范围到一个区域或一个可用性域。每个子网包括一个连续的地址范围,不与VCN中的其他子网重叠。您可以在创建后更改子网的大小。子网可以是公共的或私有的。

服务网关

服务网关提供从VCN到其他服务(如Oracle云基础设施对象存储)的访问。从VCN到Oracle服务的流量通过Oracle网络结构传输,不经过互联网。在这种架构中,服务网关通过VPN提供与Oracle云服务的本地对等访问。

对象存储

对象存储提供了对大量结构化和非结构化数据的快速访问,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地在互联网上或云平台内直接存储并检索数据。您可以无缝地扩展存储,而不会遇到性能或服务可靠性下降的问题。对于您需要快速、立即且频繁访问的“热”存储,使用标准存储。对于您长时间保留并很少或极少访问的“冷”存储,使用归档存储。在这种架构中,对象存储用于存储数据科学家生产的模型和相关脚本的更新。

自主数据仓库

Oracle自主数据仓库是一种自驾、自保护、自修复的数据库服务,专为数据仓库工作负载优化。您无需配置或管理任何硬件,或安装任何软件。Oracle云基础设施负责创建数据库,以及备份、修补、升级和调优数据库。在这种架构中,ADW存储原始(或处理过的)生产站点物联网数据,供数据科学家后续处理。

站点到站点VPN

站点到站点VPN提供了您的本地网络与Oracle云基础设施中的VCN之间的IPSec VPN连接。IPSec协议套件在数据包从源传输到目的地之前加密IP流量,并在流量到达时解密。

函数

Oracle函数是一个完全托管的、多租户的、高度可扩展的、按需的函数即服务(FaaS)平台。它由Fn项目开源引擎驱动。函数允许您部署代码,并直接调用它或响应事件触发它。Oracle函数使用托管在Oracle云基础设施注册表中的Docker容器。在这种架构中,函数被用来通过围绕JDBC连接器构建的函数,将流式数据存储在ADW中。

流式处理

Oracle云基础设施流式处理提供了一个完全托管的、可扩展的、持久的存储解决方案,用于摄取连续的、大量的数据流,您可以实时消费和处理这些数据。您可以使用流式处理来摄取大量数据,例如应用程序日志、操作遥测、网页点击流数据;或其他数据持续和顺序地在发布-订阅消息模型中产生和处理的用例。在这种架构中,流式处理用于将生产数据的流路由到ADW以持久化。也可以在流处理过程中引入这些数据的处理和丰富,但这里未显示。

Oracle数据科学

Oracle数据科学是一个完全托管的平台,供数据科学团队使用Python和开源工具构建、训练、部署和管理机器学习模型。它包括MLOps功能,如自动化管道、模型部署和模型监控;然而,这些功能限于Oracle云上的模型部署,在这种架构中不使用。在这种架构中,数据科学家使用Oracle数据科学有效分析数据,构建模型,并创建这些模型的可部署版本,例如以ONNX形式。

Oracle服务网络

Oracle服务网络(OSN)是Oracle云基础设施中保留给Oracle服务的概念网络。这些服务具有您可以通过互联网访问的公共IP地址。Oracle云外的主机可以使用Oracle云基础设施FastConnect或VPN Connect私下访问OSN。您的VCN中的主机可以通过服务网关私下访问OSN。

建议

当在网络边缘部署机器学习模型时,可以使用以下建议作为起点。您的需求可能与这里描述的架构不同。

VCN

需要一个附加了DRG和服务网关的VCN,以将远程站点(通过站点到站点VPN连接)的流量路由到服务网络中运行的服务。这个VCN需要在其路由表中有一个条目,以将所有流向所选Oracle云区域服务的流量通过服务网关路由。在这种架构中,远程站点与服务网络之间的所有流量都是由远程站点向服务网络的请求触发的。

安全

使用Oracle云卫士主动监控和维护您在Oracle云基础设施中的资源的安全。云卫士使用您可以定义的检测器配方来检查您的资源是否存在安全弱点,并监控操作员和用户的高风险活动。当检测到任何错误配置或不安全活动时,云卫士会推荐纠正措施,并协助执行这些措施,这是基于您可以定义的响应者配方。

云卫士

克隆并定制Oracle提供的默认配方,以创建自定义的检测器和响应者配方。这些配方使您能够指定哪种类型的安全违规会生成警告,以及允许对它们执行哪些操作。例如,您可能希望检测设置为公共可见的对象存储桶。

在租户级别应用云卫士,以覆盖最广泛的范围,并减少维护多种配置的管理负担。您还可以使用托管列表功能对检测器应用特定配置。

安全区域

对于需要最大安全性的资源,Oracle推荐您使用安全区域。安全区域是与Oracle定义的基于最佳实践的安全策略配方相关联的分区。例如,安全区域中的资源必须不可从公共互联网访问,并且必须使用客户管理的密钥加密。当您在安全区域中创建和更新资源时,Oracle云基础设施会根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

网络安全组(NSG)

您可以使用NSG定义一组适用于特定VNIC的入站和出站规则。我们建议使用NSG而不是安全列表,因为NSG使您能够将VCN的子网架构与应用程序的安全要求分开。

考虑因素

在部署此参考架构时,请考虑以下几点。

性能

  • 主要的性能关注点与生产过程产生的数据量有关。
  • 机器学习执行环境,即调用机器学习运行时以响应生产数据的地方,需要被定量以处理生成的数据量。这是远程站点设置的问题,超出了这种架构的范围。
  • 生产过程产生的数据可能足够庞大,以至于用于流向OCI的带宽可能被压倒。在这种情况下,建议在本地预处理数据,以丢弃无关数据、聚合数据、压缩数据等,从而减少带宽需求。
  • 通过将ML运行时移动到数据源附近,可以减少ML的延迟。

可用性

如果远程站点与Oracle云之间的连接不稳定,那么数据可以流式传输到本地的Kafka安装,然后再流式传输到Oracle流式处理。通过这种方式,如果发生网络中断,本地Kafka安装可以缓冲数据。


开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。

如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463woshiwhw123

或者可以进入以下群组进行咨询:

微信公众号

微信技术交流社群: