CN117610686A - 模型状态机生成方法、装置、电子设备和计算机可读介质 - Google Patents
模型状态机生成方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN117610686A CN117610686A CN202311760176.2A CN202311760176A CN117610686A CN 117610686 A CN117610686 A CN 117610686A CN 202311760176 A CN202311760176 A CN 202311760176A CN 117610686 A CN117610686 A CN 117610686A
- Authority
- CN
- China
- Prior art keywords
- state machine
- model
- state
- state machines
- machines
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000007704 transition Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 12
- 230000002093 peripheral effect Effects 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000009471 action Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开的实施例公开了模型状态机生成方法、装置、电子设备和计算机可读介质。该数据确定方法的一具体实施方式包括:基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;根据多个业务场景中每个业务场景的处理流程,确定联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成联邦学习模型的模型状态机。该实施方式与联邦学习技术有关,可以解决复杂模型状态流转问题和代码可维护性问题,有助于提升代码的维护效率。
Description
技术领域
本公开的实施例涉及联邦学习技术领域,具体涉及模型状态机生成方法、装置、电子设备和计算机可读介质。
背景技术
联邦学习通常是一种分布式机器学习技术,可以达到保护数据放隐私的目的。联邦学习模型可以在让分散的各参与方在满足不向其他参与者披露隐私数据的前提下,协作进行机器学习的模型训练。
然而,发明人发现,联邦学习模型的状态、类型、审批过程、以及其他一些维度组合时,每一种组合都可能会有不同的处理逻辑、也可能会存在共性的业务逻辑。往往涉及“多状态+多类型+多场景+多维度”的复杂模型状态的流转变更。这种情况下代码中各种if-else程序判断语句肯定是不敢想象的。这样不便于模型代码的检测、维护和修改。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了模型状态机生成方法、模型状态机生成装置、电子设备、计算机可读介质和计算机程序产品,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种模型状态机生成方法,包括:基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;根据多个业务场景中每个业务场景的处理流程,确定联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成联邦学习模型的模型状态机。
在一些实施例中,模型状态机包括模型训练状态机和模型预测状态机。
在一些实施例中,模型训练状态机包括中心化模式训练状态机和去中心化模式训练状态机;模型预测状态机包括中心化模式预测状态机和去中心化模式预测状态机。
在一些实施例中,该方法还包括:采用串行外设接口SPI机制,对模型状态机中的状态机进行调整。
在一些实施例中,采用串行外设接口SPI机制,对模型状态机中的状态机进行调整,包括:响应于确定拓展模型状态机中的状态机,将拓展状态机的调用接口的实现类写入目标配置文件中,利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
在一些实施例中,采用串行外设接口SPI机制,对模型状态机中的状态机进行调整,还包括:响应于确定调整模型状态机中的某状态机中的状态,将调整后的状态机的调用接口的实现类写入目标配置文件中,利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
在一些实施例中,该方法还包括:响应于确定运行联邦学习模型,调用模型状态机的接口,利用模型状态机协调控制联邦学习模型中各方的状态,以完成联邦学习模型的数据处理。
第二方面,本公开的一些实施例提供了一种模型状态机生成装置,包括:数量确定单元,被配置成基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;场景状态机创建单元,被配置成根据多个业务场景中每个业务场景的处理流程,确定联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;模型状态机生成单元,被配置成根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成联邦学习模型的模型状态机。
在一些实施例中,模型状态机包括模型训练状态机和模型预测状态机。
在一些实施例中,模型训练状态机包括中心化模式训练状态机和去中心化模式训练状态机;模型预测状态机包括中心化模式预测状态机和去中心化模式预测状态机。
在一些实施例中,该装置还包括状态机调整单元,被配置成采用串行外设接口SPI机制,对模型状态机中的状态机进行调整。
在一些实施例中,状态机调整单元进一步被配置成响应于确定拓展模型状态机中的状态机,将拓展状态机的调用接口的实现类写入目标配置文件中,利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
在一些实施例中,状态机调整单元还被配置成响应于确定调整模型状态机中的某状态机中的状态,将调整后的状态机的调用接口的实现类写入目标配置文件中,利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
在一些实施例中,该装置还包括状态机调用单元,被配置成响应于确定运行联邦学习模型,调用模型状态机的接口,利用模型状态机协调控制联邦学习模型中各方的状态,以完成联邦学习模型的数据处理。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面中任一实现方式所描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述第一方面中任一实现方式所描述的方法。
第五方面,本公开的一些实施例提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述第一方面中任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:本公开的一些实施例的模型状态机生成方法,可以解决复杂模型状态流转问题,以及代码可维护性的问题。具体来说,联邦学习模型通常是一种“多状态+多类型+多场景+多维度”的复杂模型。其中模型状态往往较为混乱,模型状态的流转变更复杂。如果需要检测模型状态变更是否正确,或修改模型状态等,这种情况下代码中各种if-else肯定是不敢想象的,使得实际应用代码的可维护性成为一个棘手的工作,影响维护效率。
基于此,本公开一些实施例中的模型状态机生成方法,可以根据联邦学习模型中各种业务场景的划分,以及每种业务场景中的各种状态和状态间转移条件,来创建对应业务场景下的状态机。这样可以在纵向从业务隔离和流程编排的角度出发,将不同业务场景的代码拆分,降低代码体量。从而可以解决代码可维护性的问题,有助于提升代码的维护效率。此外,可以根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,进而生成联邦学习模型的模型状态机。这样便解决了模型“多状态+多类型+多场景+多维度”的复杂模型状态流转问题。利用状态机可以简化方便复杂模型状态的流转管理,提升状态流转的准确度,从而保证联邦学习模型训练或预测效果。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是本公开的模型状态机生成方法的一些实施例的流程图;
图2是本公开的模型状态机的一些应用场景的框架示意图;
图3是本公开的模型状态机生成方法的另一些实施例的流程图;
图4是本公开的模型状态机生成装置的一些实施例的结构示意图;
图5是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
图1示出了根据本公开的模型状态机生成方法的一些实施例的流程100。该方法包括以下步骤:
步骤101,基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量。
在一些实施例中,模型状态机生成方法的执行主体(如联邦学习模型中协调方服务器),可以通过有线连接方式或无线连接方式,与其他电子设备进行通信连接。执行主体可以基于联邦学习模型中多个业务场景的划分,来确定待创建的状态机数量。通常情况下,一个业务场景可以对应创建至少一个状态机。
其中,联邦学习模型(包括机器学习模型和深度学习模型)通常是一种带有隐私保护、安全加密技术的分布式机器学习框架。旨在让分散的各参与方在满足不向其他参与者披露隐私数据的前提下,协作进行机器学习的模型训练。协调方(一般为可信的第三方机构,如监管机构)建立基本模型,并将模型的基本结构与参数告知各参与方。各参与方利用本地数据进行模型训练,并将结果返回给协调方。协调方可以汇总各参与方的模型,构建更精准的全局模型,以整体提升模型性能和效果。
另外,状态机一般指有限状态机(finite-state machine,FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。状态机中通常有几个术语:state(状态)、transition(转移)、action(动作)、transition condition(转移条件)。其中,state(状态):可以将一个系统离散化,可以得到很多种状态,当然这些状态是有限的。例如:门禁闸机可以划分为开启状态、关闭状态;电扇可以划分为关、一档、二档、三档等状态。transition(转移):一个状态接收一个输入执行了某些动作到达了另外一个状态的过程就是一个transition(转移)。定义transition(转移)就是在定义状态机的转移流程。transition condition(转移条件):也叫做Event(事件),在某一状态下,只有达到了transition condition(转移条件),才会按照状态机的转移流程转移到下一状态,并执行相应的动作。action(动作):在状态机的运转过程中会有很多种动作。如:进入动作(entryaction)可以在进入状态时进行;退出动作(exit action)可以在退出状态时进行;转移动作可以在进行特定转移时进行。
作为示例,可以预先将联邦学习模型涉及的各种业务场景进行划分,并将这些业务场景的信息写入数据表。此时执行主体可以根据数据表中业务场景的信息数量,来确定需要创建的状态机数量。这里的业务场景可以根据实际情况进行设置。例如对于一个模型,通常可以涉及模型训练、模型测试和模型预测等业务场景。同样对于联邦学习模型,也涉及模型训练和模型预测两种业务场景。此外,在联邦学习模型中,无论是模型训练还是模型预测,通常还涉及到是否为中心化作业的业务场景。其中,中心化一般是需要隐私计算的多方提供x变量和y标签,由联邦学习模盒中心节点进行计算。
步骤102,根据多个业务场景中每个业务场景的处理流程,确定联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机。
在一些实施例中,执行主体可以根据多个业务场景中每个业务场景的具体处理流程,来确定联邦学习模型在该业务场景中涉及的状态。作为示例,同样可以将各业务场景中的状态信息预先写入数据表中。这样执行主体根据数据表中的状态信息,便可以确定该业务场景下的状态机中的状态。此外,执行主体可以根据同一业务场景中各状态之间的转移条件,来确定该业务场景下的状态机中各状态之间转移的条件动作等。进而可以创建该业务场景下的状态机。
例如联邦学习模型在模型训练阶段,在接收到样本数据输入时,便可以进入训练状态。在确定将输入的样本数据发送给各参与方后,便可以确定进入训练执行中状态。在协调方(中心节点)接收到各参与方返回的变量和标签后,便可以确定进入损失函数确定及模型参数调整状态。又例如到达训练循环次数时,可以确定进入停止训练作业状态。或者在损失函数值达到预期阈值时,可以确定模型训练完成,进入模型提交作业状态等等。
步骤103,根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成联邦学习模型的模型状态机。
在一些实施例中,执行主体可以根据步骤102中多个业务场景之间的关系,确定创建多个状态机之间的调用关系,从而生成联邦学习模型的模型状态机。如图2所示的模型状态机的框架示意图,模型状态机可以包括模型训练状态机(即训练作业生命周期状态机)、模型预测状态机(即模型生命周期状态机)。另外,模型训练状态机还可以包括中心化模式训练状态机(即中心化作业生命周期状态机)、去中心化模式训练状态机(即去中心化作业生命周期状态机)。而模型预测状态机可以包括中心化模式预测状态机(即中心化模式模型状态机)、去中心化模式预测状态机(即去中心化模式模型状态机)。
可选地,模型状态机中还可以包括初始化转化算子或者状态机初始化,用于模型训练状态机或模型预测状态机的初始化处理。此外,模型训练状态机与模型预测状态机之间,可以通过图2中构建的提交作业转化器形成调用关系,如进行模型的发布、上线、下线等。停止作业转换器可以用于模型训练停止或完成的状态转化。其中,转换器可以用于各个状态的初始化以及上一状态到下一状态的转化。
通过以上描述,本公开一些实施例中的模型状态机生成方法,可以根据联邦学习模型中各种业务场景的划分,以及每种业务场景中的各种状态和状态间转移条件,来创建对应业务场景下的状态机。这样可以在纵向从业务隔离和流程编排的角度出发,将不同业务场景的代码拆分,降低代码体量。从而可以解决代码可维护性的问题,有助于提升代码的维护效率。此外,可以根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,进而生成联邦学习模型的模型状态机。这样便解决了模型“多状态+多类型+多场景+多维度”的复杂模型状态流转问题。利用状态机可以简化方便复杂模型状态的流转管理,提升状态流转的准确度,从而保证联邦学习模型训练或预测效果。
可以理解的是,本方案在处理一个模型多个状态或者多维度的业务逻辑时,结合了有限状态机来实现。即通过抽象一个基础逻辑状态接口,每一个状态或者类型都实现该接口。业务处理时可以根据不同的状态或者类型调用对应的业务实现,以达到逻辑相互独立互不干扰、代码隔离的目的。这不仅仅是从可扩展性和可维护性的角度出发,更是对应用架构稳定性的一种考虑。
在一些应用场景中,我们还可以在横向主要从逻辑复用和业务扩展的角度,解决联邦学习模型代码的可扩展性问题。执行主体可以采用串行外设接口SPI(SerialPeripheral Interface)机制,对模型状态机中的状态机进行调整。需要说明的是,SPI机制的作用通常就是服务发现。也就是说,我们有一些服务,然后通过SPI机制,就能让这些服务被需要的人所使用。而我们这些服务被发现的过程就是SPI的任务了。采用此机制我们不需要直接去新建或更新这个接口的实现类,而是在ClASSPATH路径底下,将这个接口的实现类按接口设计者约定的格式写在一个配置文件上。其中,ClASSPath是java提供的用来存放资源文件的地方。然后在运行的过程中通过java(一种程序语言)提供的API(ApplicationProgram Interface,应用程序接口),从所有jar包中读取所有的这个指定文件中的内容,获取到实现类。这样我们可以个性化定制我们所需要的状态机。其中SPI机制的原理可以如图3所示。
作为示例,若确定拓展模型状态机中的状态机,即对状态机的拓展使用,首先可以将拓展状态机的调用接口的实现类写入目标配置文件中,如上述配置文件。之后,可以利用该实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。其中,单例模式通常属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例。也就是说,在应用运行过程中可以保证该对象一直是唯一的对象。
也就是说,在SPI调动的时候,先看内存中的原信息菜单里面有没有我们需要的资源信息。有则根据其配置进行加载。如果没有则可以进行实例化创建。即我们通过读取资源的配置文件拿到我们需要扩展的接口,借助该类的类加载器进行类加载,并将模型状态机类设置单例模式且加入缓存。等到下次进行类获取的时候可以直接从缓存中获取。在进行模型状态机类加载的时候,如果模型状态机的拓展类不为空则用其加载。反之,我们需要用系统类加载器进行加载。
可选地,我们也可以利用SPI机制进行状态机中状态的修改。同样的,若确定调整模型状态机中的某状态机中的状态,则可以将调整后的状态机的调用接口的实现类写入目标配置文件中。利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
可以理解的是,结合SPI机制可以将模型状态机的接口进行拓展。此外,使用单例模式和缓存技术,可以使得应用中的类加载以及类实例化等过程加速。由此,我们可以实现状态机的插件化和拓展性,也使得应用程序有良好的可维护性。
通过以上描述可知,本技术方案的技术关键点是针对联邦学习平台管理众多人工智能模型的状态流转变更,以及在后期代码的维护性和拓展性的改进。使得联邦平台可以实现众多模型的状态的可编排性,提高了开发效率以及逻辑的严谨性。
需要说明的是,我们可以利用上述得到的模型状态机,对联邦学习模型中的各种状态变更进行控制。即在确定运行联邦学习模型的情况下,可以调用模型状态机的接口,如图2中所示的状态机抽象类。进而利用模型状态机协调控制联邦学习模型中各方的状态,以完成联邦学习模型的数据处理。
以图2中的中心化作业生命周期状态机为例,当我们在协调方提交一个联邦训练任务以后,协调方(中心节点)可以将模型的基本结构与参数发送各参与方。参与方(普通节点)及协调方(中心节点)同时将作业状态变更为申请资源中。协调方会一直向各参与方申请作业资源。当各方资源申请完成后,协调方会通知各参与方将作业状态变更为执行中,并正式启动该作业,直至到任务的完结(失败,成功,删除等)。在此过程涉及到多方、大量的状态变更,使用本实施例中的模型状态机对状态进行编排,可以有效提升代码的扩展性及可维护性。
进一步参考图4,作为对上述图1至图3所示方法的实现,本公开提供了一种模型状态机生成装置的一些实施例。这些模型状态机生成装置实施例与图1至图3所示的那些方法实施例相对应。该模型状态机生成装置具体可以应用于各种电子设备中。
如图4所示,一些实施例的模型状态机生成装置400可以包括:数量确定单元401,被配置成基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;场景状态机创建单元402,被配置成根据多个业务场景中每个业务场景的处理流程,确定联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;模型状态机生成单元403,被配置成根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成联邦学习模型的模型状态机。
在一些实施例中,模型状态机可以包括模型训练状态机和模型预测状态机。
在一些实施例中,模型训练状态机可以包括中心化模式训练状态机和去中心化模式训练状态机;模型预测状态机可以包括中心化模式预测状态机和去中心化模式预测状态机。
在一些实施例中,该装置400还可以包括状态机调整单元(图中未示出),被配置成采用串行外设接口SPI机制,对模型状态机中的状态机进行调整。
在一些实施例中,状态机调整单元可以进一步被配置成响应于确定拓展模型状态机中的状态机,将拓展状态机的调用接口的实现类写入目标配置文件中,利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
在一些实施例中,状态机调整单元还可以被配置成响应于确定调整模型状态机中的某状态机中的状态,将调整后的状态机的调用接口的实现类写入目标配置文件中,利用实现类所属类的类加载器进行加载,以及将拓展状态机的类设置为单例模式并加入缓存。
在一些实施例中,该装置400还可以包括状态机调用单元(图中未示出),被配置成响应于确定运行联邦学习模型,调用模型状态机的接口,利用模型状态机协调控制联邦学习模型中各方的状态,以完成联邦学习模型的数据处理。
可以理解的是,该模型状态机生成装置400中记载的诸单元与参考图1至图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于模型状态机生成装置400及其中包含的单元,在此不再赘述。
下面参考图5,其示出了适于用来实现本公开的一些实施例的电子设备500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图5所示,终端设备500可以包括处理装置501(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有终端设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如扬声器、振动器等的输出装置507;包括例如磁盘、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;根据多个业务场景中每个业务场景的处理流程,确定联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;根据多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成联邦学习模型的模型状态机。
此外,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括数量确定单元、场景状态机创建单元和模型状态机生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,数量确定单元还可以被描述为“确定待创建的状态机数量的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
本公开的一些实施例还提供一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时,实现上述的任一种模型状态机生成方法。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种模型状态机生成方法,包括:
基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;
根据所述多个业务场景中每个业务场景的处理流程,确定所述联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;
根据所述多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成所述联邦学习模型的模型状态机。
2.根据权利要求1所述的模型状态机生成方法,其中,所述模型状态机包括模型训练状态机和模型预测状态机。
3.根据权利要求2所述的模型状态机生成方法,其中,所述模型训练状态机包括中心化模式训练状态机和去中心化模式训练状态机;
所述模型预测状态机包括中心化模式预测状态机和去中心化模式预测状态机。
4.根据权利要求1所述的模型状态机生成方法,其中,所述方法还包括:
采用串行外设接口SPI机制,对所述模型状态机中的状态机进行调整。
5.根据权利要求4所述的模型状态机生成方法,其中,所述采用串行外设接口SPI机制,对所述模型状态机中的状态机进行调整,包括:
响应于确定拓展所述模型状态机中的状态机,将拓展状态机的调用接口的实现类写入目标配置文件中,利用所述实现类所属类的类加载器进行加载,以及将所述拓展状态机的类设置为单例模式并加入缓存。
6.根据权利要求4所述的模型状态机生成方法,其中,所述采用串行外设接口SPI机制,对所述模型状态机中的状态机进行调整,还包括:
响应于确定调整所述模型状态机中的某状态机中的状态,将调整后的状态机的调用接口的实现类写入目标配置文件中,利用所述实现类所属类的类加载器进行加载,以及将所述拓展状态机的类设置为单例模式并加入缓存。
7.根据权利要求1-6之一所述的模型状态机生成方法,其中,所述方法还包括:
响应于确定运行所述联邦学习模型,调用所述模型状态机的接口,利用所述模型状态机协调控制所述联邦学习模型中各方的状态,以完成所述联邦学习模型的数据处理。
8.一种模型状态机生成装置,包括:
数量确定单元,被配置成基于联邦学习模型中多个业务场景的划分,确定待创建的状态机数量;
场景状态机创建单元,被配置成根据所述多个业务场景中每个业务场景的处理流程,确定所述联邦学习模型在该业务场景中涉及的状态,以及根据各状态之间的转移条件,创建该业务场景下的状态机;
模型状态机生成单元,被配置成根据所述多个业务场景之间的关系,确定创建的多个状态机之间的调用关系,生成所述联邦学习模型的模型状态机。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时,实现如权利要求1-7中任一所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311760176.2A CN117610686A (zh) | 2023-12-20 | 2023-12-20 | 模型状态机生成方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311760176.2A CN117610686A (zh) | 2023-12-20 | 2023-12-20 | 模型状态机生成方法、装置、电子设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117610686A true CN117610686A (zh) | 2024-02-27 |
Family
ID=89951598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311760176.2A Pending CN117610686A (zh) | 2023-12-20 | 2023-12-20 | 模型状态机生成方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117610686A (zh) |
-
2023
- 2023-12-20 CN CN202311760176.2A patent/CN117610686A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941381B2 (en) | Method for compiling from a high-level scripting language to a blockchain native scripting language | |
CN109710236B (zh) | 基于共享服务的业务开发和实现方法、装置、平台及介质 | |
US10678444B2 (en) | Optimizing serverless computing using a distributed computing framework | |
CN110716748B (zh) | 业务处理方法、装置、计算机可读介质及电子设备 | |
CN112685154A (zh) | 任务流引擎的数据处理方法、任务流引擎、设备和介质 | |
EP3582125B1 (en) | System and methods with reduced complexity in the integration of exposed information models with applications | |
EP3912074B1 (en) | Generating a synchronous digital circuit from a source code construct defining a function call | |
CN113067900B (zh) | 智能合约的部署方法及装置 | |
JP2020177672A (ja) | デジタルツインによるプロセス制御 | |
US20160283879A1 (en) | Dynamic construction of cloud services | |
JP2020177671A (ja) | デジタルツインによるモデリング | |
US20170116024A1 (en) | Pattern design for heterogeneous environments | |
US11829799B2 (en) | Distributed resource-aware training of machine learning pipelines | |
KR102501542B1 (ko) | 블록체인 시스템의 가동 방법, 장치, 설비 및 저장 매체 | |
US9628401B2 (en) | Software product instance placement | |
CN117610686A (zh) | 模型状态机生成方法、装置、电子设备和计算机可读介质 | |
CN116701091A (zh) | 用于导出日志的方法、电子设备和计算机程序产品 | |
CN114579054A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN115167874A (zh) | 自动驾驶软件镜像部署方法、装置、电子设备和可读介质 | |
US11366648B2 (en) | Compiling monoglot function compositions into a single entity | |
CN114692185A (zh) | 数据处理方法及装置 | |
US10489213B2 (en) | Execution of a method at a cluster of nodes | |
CN113778850A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
US9871667B2 (en) | Interaction protocol for interacting computer systems | |
CN112988738A (zh) | 用于区块链的数据分片方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |