机器学习任务的组件适配方法和装置与流程
未命名
07-14
阅读:109
评论:0
1.本公开总体说来涉及人工智能领域,更具体地讲,涉及一种机器学习任务的组件适配方法和装置。
背景技术:
2.在大数据、新基建、aiot(ai+iot,人工智能物联网)和5g(5th generation mobile communication technology,第五代移动通信技术)的大背景下,ai(artificial intelligence,人工智能)推动各行各业更加高速高效地向前发展。与此同时,在cncf(cloud native computing foundation,云原生计算基金会)和asf(apache software foundation,apache软件基金会)的主导下涌现了大量围绕着ai的组件,例如airflow、kubeflow、mlflow和datahub等。为了更好地利用各个社区的组件,融入社区的生态,同时保证上层产品的平民化交互体验不变,需要一种适配能力,用以整合各个社区的组件,并且消化各个组件的复杂度和高昂的学习成本,从而向上层产品提供一致的、统一的api(application programming interface,应用程序接口),在满足产品需求和使用组件的同时,又不固定于使用某一个特定的组件。
技术实现要素:
3.本公开提供一种机器学习任务的组件适配方法和装置,用于至少解决上述问题,也可不解决上述问题。
4.根据本公开的一方面,提供一种机器学习任务的组件适配方法,所述组件包括原生算子,所述组件适配方法包括:识别所述原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持所述第一协议;当所述底层计算引擎不支持所述第一协议时,将所述第一协议转换为所述底层计算引擎支持的第二协议;基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务。
5.可选地,将所述第一协议转换为所述底层计算引擎支持的第二协议,包括:基于预先制定的统一协议标准,将所述第一协议转换为所述底层计算引擎支持的第二协议。
6.可选地,所述组件还包括元数据,所述组件适配方法还包括:识别所述元数据,并判断所述元数据是否支持所述原生算子;当所述元数据不支持所述原生算子时,对所述元数据进行解析,以获取所述元数据对应的原始数据的数据信息。
7.可选地,基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务,包括:基于所述第二协议和所述数据信息,使所述原生算子结合所述元数据运行于所述底层计算引擎,以执行所述机器学习任务。
8.可选地,所述数据信息包括访问地址和访问令牌,所述访问地址和访问令牌用于访问所述原始数据。
9.可选地,基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务,包括:基于身份识别与访问管理能力,在所述原生算子对接所述底层计算
引擎时进行认证授权。
10.根据本公开的另一方面,提供一种机器学习任务的组件适配装置,所述组件包括原生算子,所述组件适配装置包括:协议识别单元,被配置为:识别所述原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持所述第一协议;协议转换单元,被配置为:当所述底层计算引擎不支持所述第一协议时,将所述第一协议转换为所述底层计算引擎支持的第二协议;算子运行单元,被配置为:基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务。
11.可选地,所述协议转换单元被配置为:基于预先制定的统一协议标准,将所述第一协议转换为所述底层计算引擎支持的第二协议。
12.可选地,所述组件还包括元数据,所述组件适配装置还包括:元数据处理单元,被配置为:识别所述元数据,并判断所述元数据是否支持所述原生算子;当所述元数据不支持所述原生算子时,对所述元数据进行解析,以获取所述元数据对应的原始数据的数据信息。
13.可选地,所述算子运行单元被配置为:基于所述第二协议和所述数据信息,使所述原生算子结合所述元数据运行于所述底层计算引擎,以执行所述机器学习任务。
14.可选地,所述数据信息包括访问地址和访问令牌,所述访问地址和访问令牌用于访问所述原始数据。
15.可选地,所述算子运行单元还被配置为:基于身份识别与访问管理能力,在所述原生算子对接所述底层计算引擎时进行认证授权。
16.根据本公开的另一方面,提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的机器学习任务的组件适配方法。
17.根据本公开的另一方面,提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的机器学习任务的组件适配方法。
18.根据本公开示例性实施例的机器学习任务的组件适配方法和装置,可以整合各种自建的、社区的或者企业端客户的组件,在满足产品需求和使用组件的同时,又不固定于使用某一个特定的组件,降低了各个组件的复杂度和学习成本,提高了机器学习任务的部署效率和执行效率。
19.将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
20.通过结合附图,从实施例的下面描述中,本公开这些和/或其它方面及优点将会变得清楚,并且更易于理解,其中:
21.图1a、图1b、图1c、图1d和图1e是示出机器学习任务的应用演示图。
22.图2是示出根据本公开示例性实施例的机器学习任务的组件适配方法的流程图;
23.图3是示出根据本公开另一示例性实施例的机器学习任务的组件适配方法的流程图;
24.图4是示出根据本公开示例性实施例的机器学习任务的组件适配装置的框图;
25.图5是示出根据本公开示例性实施例的组件适配架构的演示图;
具体实施方式
26.提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本发明的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本发明的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
27.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
28.图1a、图1b、图1c、图1d和图1e是示出机器学习任务的应用演示图。
29.如图所示的机器学习任务包括数据阶段、模型阶段、服务阶段和监控阶段,上述多个阶段基于openmlstudio平台来实现。首先,需要对接元数据(metadata),为模型训练提供样本数据,元数据可以是自建的元数据、各个社区的元数据、或者企业端客户的元数据等。这里,可以在元数据服务的控制面板(dashboard)中查找、发现并订阅需要的数据(图中未示出)。然后,参照图1a,可在openmlstudio用户界面左侧菜单树按照业务需求选择相应的数据。然后,参照图1b,可在选择相应的数据后,选择数据对应的算子。然后,参照图1c,可根据选择的数据和算子,按照训练策略拖拽构建需要的dag(directed acyclic graph,有向无环图)。然后,参照图1d,可模型训练完成以后,将模型托管到模型仓库,通过测试和验证的模型,将模型部署起来提供模型服务(model serving)的能力。然后,参照图1e,在统一收集的算子的业务日志的基础上,可通过监控数据漂移算子和模型漂移算子,对其他算子的服务质量进行实时监测。可基于上述过程,执行回归任务、分类任务、聚类任务或者降维任务等各种机器学习任务。可以看出,在执行机器学习任务的实际应用中,涉及到了各种算子等组件的对接服务。
30.根据本公开示例性实施例的机器学习任务的组件适配方法和装置,可以整合各种自建的、社区的或者企业端客户的组件,在满足产品需求和使用组件的同时,又不固定于使用某一个特定的组件,降低了各个组件的复杂度和学习成本。
31.下面参照图2至图5详细描述根据本公开示例性实施例的机器学习任务的组件适配方法和装置。
32.图2是示出根据本公开示例性实施例的机器学习任务的组件适配方法的流程图。这里,组件可包括原生算子。作为示例,原生算子可以是airflow、argo-workflow或者kubeflow等组件生态中的算子。
33.参照图2,在步骤s201中,可识别原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持第一协议。作为示例,当原生算子是airflow组件生态中的算子时,第一协议可以是airflow的协议,然后可以判断机器学习任务的底层计算引擎是否支持airflow的协议。
34.接下来,在步骤s202中,当底层计算引擎不支持第一协议时,可将第一协议转换为
底层计算引擎支持的第二协议。作为示例,当原生算子是airflow组件生态中的算子,而底层计算引擎是基于argo-workflow的计算引擎时,可将原生算子所使用的airflow的协议转换为底层计算引擎支持的argo-workflow的协议。
35.根据本公开的示例性实施例,可基于预先制定的统一协议标准,将第一协议转换为底层计算引擎支持的第二协议。这里,可对各种业务进行充分抽象和提炼,预先制定出统一协议标准作为协议转换的框架,通过该框架进行协议转换可以提高效率。作为示例,预先制定的统一协议标准可作为各种现有协议的底层标准,使各种现有协议可基于统一协议标准进行相互转换,对于后续新的协议,可适应性地调整统一协议标准,使新的协议可基于统一协议标准转换为各种现有协议;另外,统一协议标准还可作为各种现有协议的底层协议与各种现有协议之间相互转换,使后续新的协议可先转换为统一协议标准再转换为其他的现有协议,从而使新的协议转换为其他协议的时候改动量小并且扩展性好。
36.接下来,在步骤s203中,可基于第二协议,使原生算子运行于底层计算引擎,以执行机器学习任务。这里,通过将原生算子所使用的第一协议转换为底层计算引擎支持的第二协议,可使原生算子适配底层计算引擎,从而成功运行于底层计算引擎上。
37.根据本公开的示例性实施例,当底层计算引擎支持第一协议时,原生算子可直接运行于底层计算引擎。下面参照图3详细描述根据本公开另一示例性实施例的机器学习任务的组件适配方法。
38.图3是示出根据本公开另一示例性实施例的机器学习任务的组件适配方法的流程图。这里,组件还包括元数据。作为示例,元数据可以是datahub,amundsen或者atlas等元数据。
39.参照图3,在步骤s301中,可识别原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持第一协议。
40.接下来,在步骤s302中,当底层计算引擎不支持第一协议时,可将第一协议转换为底层计算引擎支持的第二协议。
41.接下来,在步骤s303中,可识别元数据,并判断元数据是否支持原生算子。
42.接下来,在步骤s304中,当元数据不支持原生算子时,可对元数据进行解析,以获取元数据对应的原始数据(rawdata)的数据信息。这里,数据信息可包括访问地址(address)和访问令牌(token),访问地址和访问令牌可用于访问原始数据,换言之,可基于访问地址和访问令牌定位并获取原始数据,从而为原生算子提供数据支持。
43.接下来,在步骤s305中,可基于第二协议和数据信息,使原生算子结合元数据运行于底层计算引擎,以执行机器学习任务。这里,通过将原生算子所使用的第一协议转换为底层计算引擎支持的第二协议,可使原生算子适配底层计算引擎,并且通过解析出元数据对应的原始数据的数据信息,可为原生算子运行于底层计算引擎时提供数据支持。
44.本公开的示例性实施例,还可基于身份识别与访问管理(identity and access management,iam)能力,在原生算子对接底层计算引擎时进行认证授权。通过自动适配iam能力的方式,可以使原生算子自身不需要实现iam能力,提高了原生算子的兼容性。
45.根据本公开示例性实施例的机器学习任务的组件适配方法和装置,可以整合各种自建的、社区的或者企业端客户的组件,在满足产品需求和使用组件的同时,又不固定于使用某一个特定的组件,降低了各个组件的复杂度和学习成本,提高了机器学习任务的部署
效率和执行效率。
46.图4是示出根据本公开示例性实施例的机器学习任务的组件适配装置的框图。这里,组件可包括原生算子。如上所述,原生算子可以是airflow、argo-workflow或者kubeflow等组件生态中的算子。根据本公开示例性实施例的机器学习任务的组件适配装置可以在具有足够运算能力的计算装置中实现。
47.参照图4,根据本公开示例性实施例的机器学习任务的组件适配装置400可包括协议识别单元410、协议转换单元420和算子运行单元430。
48.协议识别单元410可识别原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持所述第一协议。
49.当所述底层计算引擎不支持所述第一协议时,协议转换单元420可将第一协议转换为底层计算引擎支持的第二协议。
50.算子运行单元430可基于第二协议,使原生算子运行于底层计算引擎,以执行机器学习任务。
51.根据本公开示例性实施例,协议转换单元420可基于预先制定的统一协议标准,将第一协议转换为底层计算引擎支持的第二协议。
52.如上所述,组件还可包括元数据,组件适配装置还可包括元数据处理单元(未示出)。元数据处理单元可识别元数据,并判断元数据是否支持原生算子;当元数据不支持原生算子时,元数据处理单元可对元数据进行解析,以获取元数据对应的原始数据的数据信息。
53.在此基础上,算子运行单元430可基于第二协议和数据信息,使原生算子结合元数据运行于底层计算引擎,以执行机器学习任务。这里,数据信息可包括访问地址和访问令牌,访问地址和访问令牌可用于访问原始数据。
54.算子运行单元430还可基于身份识别与访问管理能力,在原生算子对接底层计算引擎时进行认证授权。
55.根据本公开示例性实施例的机器学习任务的组件适配方法和装置,可以整合各种自建的、社区的或者企业端客户的组件,在满足产品需求和使用组件的同时,又不固定于使用某一个特定的组件,降低了各个组件的复杂度和学习成本,提高了机器学习任务的部署效率和执行效率。下面参照图5详细描述根据本公开示例性实施例的组件适配架构。
56.图5是示出根据本公开示例性实施例的组件适配架构的演示图。
57.参照图5,可以将适配器(adapter)作为组件适配架构的核心,以提供一种适配能力。以openmlstudio平台结合适配器为例,如上所述,基于openmlstudio平台执行机器学习任务时,需要对接元数据和各种算子等组件。可通过适配器整合airflow或kubeflow等组件生态的算子,使原生算子可以直接通过适配器运行于底层计算引擎。这里,如图5所示,底层计算引擎可以但不限于是kubernetes计算集群中基于airflow、argo-workflow或者kubeflow等的计算引擎。具体地讲,可通过适配器实现对原生算子所使用的第一协议的识别(recognition)和转换(transform),并且,可通过适配器识别元数据,并判断是否需要处理元数据,即判断是否需要在理解元数据的语义的基础上计算元数据对应的原始数据的address和token等数据信息。另外,还可通过适配器自动适配iam能力,使原生算子自身不需要实现iam能力,以及还可通过适配器提供预先制定的统一协议标准作为协议转换的框
架,通过该框架进行协议转换可以提高效率。
58.以上已参照图2至图5描述了根据本公开示例性实施例的机器学习任务的组件适配方法和装置。
59.图4所示出的机器学习任务的组件适配装置中的各个单元可被配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,各个单元可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,各个单元所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
60.此外,参照图2所描述的机器学习任务的组件适配方法可通过记录在计算机可读存储介质上的程序(或指令)来实现。例如,根据本公开的示例性实施例,可提供存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本公开的机器学习任务的组件适配方法。
61.上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图2进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
62.应注意,根据本公开示例性实施例的机器学习任务的组件适配装置中的各个单元可完全依赖计算机程序的运行来实现相应的功能,即,各个单元在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
63.另一方面,图4所示的各个单元也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
64.例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当计算机可执行指令集合被处理器执行时,执行根据本公开示例性实施例的机器学习任务的组件适配方法。
65.具体说来,计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,计算装置可以是pc计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
66.这里,计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
67.在计算装置中,处理器可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
68.根据本公开示例性实施例的机器学习任务的组件适配方法中所描述的某些操作
可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
69.处理器可运行存储在存储部件之一中的指令或代码,其中,存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
70.存储部件可与处理器集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
71.此外,计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
72.根据本公开示例性实施例的机器学习任务的组件适配方法可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
73.因此,参照图2所描述的机器学习任务的组件适配方法可通过包括至少一个计算装置和至少一个存储指令的存储装置的系统来实现。
74.根据本公开的示例性实施例,至少一个计算装置是根据本公开示例性实施例的用于执行机器学习任务的组件适配方法的计算装置,存储装置中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个计算装置执行时,执行参照图2所描述的机器学习任务的组件适配方法。
75.以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。
技术特征:
1.一种机器学习任务的组件适配方法,其中,所述组件包括原生算子,所述组件适配方法包括:识别所述原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持所述第一协议;当所述底层计算引擎不支持所述第一协议时,将所述第一协议转换为所述底层计算引擎支持的第二协议;基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务。2.如权利要求1所述的组件适配方法,其中,将所述第一协议转换为所述底层计算引擎支持的第二协议,包括:基于预先制定的统一协议标准,将所述第一协议转换为所述底层计算引擎支持的第二协议。3.如权利要求1所述的组件适配方法,其中,所述组件还包括元数据,所述组件适配方法还包括:识别所述元数据,并判断所述元数据是否支持所述原生算子;当所述元数据不支持所述原生算子时,对所述元数据进行解析,以获取所述元数据对应的原始数据的数据信息。4.如权利要求3所述的组件适配方法,其中,基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务,包括:基于所述第二协议和所述数据信息,使所述原生算子结合所述元数据运行于所述底层计算引擎,以执行所述机器学习任务。5.如权利要求3所述的组件适配方法,其中,所述数据信息包括访问地址和访问令牌,所述访问地址和访问令牌用于访问所述原始数据。6.如权利要求1或4所述的组件适配方法,其中,基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务,包括:基于身份识别与访问管理能力,在所述原生算子对接所述底层计算引擎时进行认证授权。7.一种机器学习任务的组件适配装置,其中,所述组件包括原生算子,所述组件适配装置包括:协议识别单元,被配置为:识别所述原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持所述第一协议;协议转换单元,被配置为:当所述底层计算引擎不支持所述第一协议时,将所述第一协议转换为所述底层计算引擎支持的第二协议;算子运行单元,被配置为:基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务。8.如权利要求7所述的组件适配装置,其中,所述协议转换单元被配置为:基于预先制定的统一协议标准,将所述第一协议转换为所述底层计算引擎支持的第二协议。9.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的机器学习任
务的组件适配方法。10.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的机器学习任务的组件适配方法。
技术总结
公开一种机器学习任务的组件适配方法和装置,所述组件包括原生算子,所述组件适配方法包括:识别所述原生算子所使用的第一协议,并判断机器学习任务的底层计算引擎是否支持所述第一协议;当所述底层计算引擎不支持所述第一协议时,将所述第一协议转换为所述底层计算引擎支持的第二协议;基于所述第二协议,使所述原生算子运行于所述底层计算引擎,以执行所述机器学习任务。该组件适配方法能够降低各个组件的复杂度和学习成本,从而提高机器学习任务的部署效率和执行效率。任务的部署效率和执行效率。任务的部署效率和执行效率。
技术研发人员:马浩 郭春清 王妮 张钰 付豪 石光川
受保护的技术使用者:第四范式(北京)技术有限公司
技术研发日:2021.12.31
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
