CN117539449B - 一种高效灵活的协作学习框架及方法 - Google Patents

一种高效灵活的协作学习框架及方法 Download PDF

Info

Publication number
CN117539449B
CN117539449B CN202410028493.3A CN202410028493A CN117539449B CN 117539449 B CN117539449 B CN 117539449B CN 202410028493 A CN202410028493 A CN 202410028493A CN 117539449 B CN117539449 B CN 117539449B
Authority
CN
China
Prior art keywords
module
training
user
collaborative learning
task
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.)
Active
Application number
CN202410028493.3A
Other languages
English (en)
Other versions
CN117539449A (zh
Inventor
徐恪
赵乙
李敏
苏家兴
李奥
谭崎
朱敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongguancun Laboratory
Tsinghua University
Original Assignee
Beijing Zhongguancun Laboratory
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongguancun Laboratory, Tsinghua University filed Critical Beijing Zhongguancun Laboratory
Priority to CN202410028493.3A priority Critical patent/CN117539449B/zh
Publication of CN117539449A publication Critical patent/CN117539449A/zh
Application granted granted Critical
Publication of CN117539449B publication Critical patent/CN117539449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种高效灵活的协作学习框架及方法,该框架包括,协作学习训练环境初始化模块,用于提供协作学习的多种开发方式和训练配置;任务个性化定制模块,用于用户选择性的对模型训练任务进行自定义设置;智能打包传输模块,用于智能选择和打包模型训练任务对应的代码,并通过可执行文件的形式传输至客户端;任务扩展模块,用于根据需求添加辅助功能,以满足不同应用场景的需求。本发明提高了用户体验和开发效率,并使得用户无需了解底层算法逻辑,就可实现对其他功能模块的扩展,可扩展性强、适用场景广泛。

Description

一种高效灵活的协作学习框架及方法
技术领域
本发明涉及下一代互联网、网络空间安全技术领域,特别是涉及一种高效灵活的协作学习框架及方法。
背景技术
随着大数据时代的到来,数据的隐私和安全得到广泛关注。在传统的集中式机器学习训练方式中,需要将用于训练的数据集中存储到一个中央服务器上,然后利用该数据进行模型训练。但是,上述数据收集和处理方式存在着潜在的数据泄露风险。与传统方式不同,联邦学习等协作学习框架采用了分散式的训练模式,允许在不进行数据交换的情况下进行模型训练。其中,该模型训练方法不仅可以避免中央服务器集中存储数据所带来的隐私泄露风险,还能更充分地利用分散的私域数据集。基于此,协作学习被认为是一种更具安全性的机器学习新范式,在联邦大模型等方面都得了卓越表现。
但是,现有的协作学习框架或平台的框架设计较为封闭,用户不能仅对协作学习训练过程中的某些特定代码进行定制,使得用户需要编写复杂而冗余的代码,用户体验差;同时,现有协作学习框架或平台通常需要用户深入了解底层算法逻辑并进行代码修改后,才能实现对该框架或平台中其他功能模块的扩展,可扩展性差、适用场景局限。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明提出了一种高效灵活的协作学习框架,通过任务个性化定制模块,使得用户可根据需求自定义代码,减少非必要代码的编写,提高了用户体验和开发效率。同时,通过任务扩展模块对底层算法进行了封装,使得用户无需了解底层算法逻辑,就可通过相应的应用程序编程接口实现对其他功能模块的扩展,可扩展性强、适用场景广泛。
本发明的另一个目的在于提出一种高效灵活的协作学习方法。
为达上述目的,本发明一方面提出一种高效灵活的协作学习框架,所述框架,包括:
协作学习训练环境初始化模块,用于提供协作学习的多种开发方式和训练配置;
任务个性化定制模块,用于用户选择性的对模型训练任务进行自定义设置;
智能打包传输模块,用于智能选择和打包所述模型训练任务对应的代码,并通过可执行文件的形式传输至客户端;
任务扩展模块,用于根据需求添加辅助功能,以满足不同应用场景的需求。
本发明实施例的高效灵活的协作学习框架还可以具有以下附加技术特征:
在本发明的一个实施例中,所述协作学习训练环境初始化模块,包括:
代码开发方式模块,用于提供多种代码开发方式,并在获取用户选择的确定代码开发方式后,动态加载所述确定代码开发方式下所需的必要组件;
深度学习框架模块,用于提供多种深度学习框架,并在获取用户选择的确定深度学习框架后,调整与所述确定深度学习框架训练相关的代码组件;
参数配置模块,用于提供多个参数配置选项。
在本发明的一个实施例中,所述多种代码开发方式包括列表形式、半开放形式和全开放形式。
在本发明的一个实施例中,所述多个参数包括GPU、客户端数量和通讯次数。
在本发明的一个实施例中,所述任务个性化定制模块包括:
数据处理模块,用于提供多种数据集来源选择,并对用户选择的数据集进行数据预处理;
模型自定义模块,用于获取用户上传的自定义协作学习模型架构及参数;
客户端训练模块,用于定义协作学习中客户端的本地模型的训练;
服务端测试模块,用于定义协作学习中服务端的测试实现。
在本发明的一个实施例中,所述智能打包传输模块包括:
确定压缩文件存储路径模块,用于指定压缩包存储位置;
自适应打包文件模块,用于确定需要压缩的文件,并将所述确定需要压缩的文件添加到压缩包中;
压缩包下发模块,用于将压缩包统一下发至客户端。
在本发明的一个实施例中,所述确定需要压缩的文件,并将所述确定需要压缩的文件添加到压缩包中,包括:
通过路径个性化选择算法,动态确定需要压缩的文件所在路径,并将路径存储到列表当中;
使用文件夹迭代器来遍历所述列表中路径上文件夹中的所有文件和子文件夹,将其内容添加到压缩包。
在本发明的一个实施例中,所述任务扩展模块包括:
安全算法模块,用于提供多个安全算法函数,以对协作学习过程进行安全保护;
动态组件支持模块,用于提供动态组件,直接操作YAML配置文件和应用程序编程接口;
日志模块,用于实时记录模型训练过程中的数据信息。
为达上述目的,本发明另一方面提出一种高效灵活的协作学习方法,采用上述高效灵活的协作学习框架实现,所述方法包括:
利用协作学习训练环境初始化模块,确定开发方式和训练配置;
利用任务个性化定制模块,对模型训练任务进行自定义设置;
利用任务扩展模块,根据需求添加辅助功能,以满足不同应用场景的需求;
利用智能打包传输模块,选择和打包所述模型训练任务对应的代码,并通过可执行文件的形式传输至客户端,以进行协作训练任务。
本发明实施例的高效灵活的协作学习框架及方法,通过任务个性化定制模块,使得用户可根据需求自定义代码,减少非必要代码的编写,提高了用户体验和开发效率。同时,通过任务扩展模块对底层算法进行了封装,使得用户无需了解底层算法逻辑,就可通过相应的应用程序编程接口实现对其他功能模块的扩展,可扩展性强、适用场景广泛。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的高效灵活的协作学习框架的结构图;
图2是根据本发明实施例的高效灵活的协作学习方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面参照附图描述根据本发明实施例提出的高效灵活的协作学习框架及方法。
图1是本发明实施例的高效灵活的协作学习框架的结构图。
如图1所示,该框架,包括:
协作学习训练环境初始化模块,用于提供协作学习的多种开发方式和训练配置;
任务个性化定制模块,用于用户选择性的对模型训练任务进行自定义设置;
智能打包传输模块,用于智能选择和打包模型训练任务对应的代码,并通过可执行文件的形式传输至客户端;
任务扩展模块,用于根据需求添加辅助功能,以满足不同应用场景的需求。
其中,在本发明的一个实施例中,上述协作学习训练环境初始化模块直接提供了用于协作学习的多种开发方式和训练配置,使得用户可以通过交互界面配置运行环境。以及,在本发明的一个实施例中,对底层复杂代码进行封装,使得部分环境配置被设置为前端可选项,使得用户可在前端页面通过下拉框轻松选择开发方式、学习框架及参数配置,从而降低了协作学习框架的使用门槛,使用户可以快速配置并开展协作学习任务。
以及,在本发明的一个实施例中,上述协作学习训练环境初始化模块还包括:
代码开发方式模块,用于提供多种代码开发方式,并在获取用户选择的确定代码开发方式后,动态加载所述确定代码开发方式下所需的必要组件;
深度学习框架模块,用于提供多种深度学习框架,并在获取用户选择的确定深度学习框架后,调整与所述确定深度学习框架训练相关的代码组件;
参数配置模块,用于提供多个参数配置选项。
其中,在本发明的一个实施例中,上述多种代码开发方式可以包括列表形式、半开放形式和全开放形式。以及,获取用户选择的确定代码开发方式后,会动态地加载在确定代码开发方式下协作学习训练所需的必要组件,以完成代码运行管道的配置,例如目录创建、文件写入、格式规范化和代码匹配。
具体地,在本发明的一个实施例中,上述列表形式:预先在协作学习框架中设置多个数据集、多个模型和一些固定的训练/测试代码。其中,用户可以通过前端提供的选项框来选择使用的数据集和模型,还可以在前端的文本框中自定义设置模型训练/测试阶段的各种参数配置,例如学习率、迭代次数和批次大小等。以及,上述代码开发方式适用于简单的深度学习场景,可以帮助用户快速上手,理解系统的运行机制和效果,同时也可以用来测试客户端和服务端之间的连接是否正常。
以及,在本发明的一个实施例中,上述半开放形式:接收前端用户键盘输入,允许用户自定义模型和模型训练/测试阶段的部分代码。其中,用户可以自定义模型训练/测试阶段的损失函数和优化器等超参数。以及,上述代码开发方式实现过程中涉及到代码匹配、代码替换和格式对齐等操作,以确保用户上传的代码与预置的代码段进行良好的拼接。以及,上述代码开发方式适合于用户进行简单的代码调试工作,测试不同超参数和模型对训练结果的影响程度,促进用户对调优的理解。
进一步地,在本发明的一个实施例中,上述全开放形式:用户具备完全自定义深度学习训练过程的能力。其中,用户可通过自定义上传数据集,以灵活定义任务的数据集并进行必要的数据处理操作,例如数据清洗、特征提取和标签处理等。此外,用户还可以自由定义模型的结构和参数,以及训练/测试代码,以满足特定的需求。其中,上述代码开发方式中的所有训练信息对用户是公开透明的,非常适合针对私有数据集进行特定任务的训练,并验证和优化模型的性能。
进一步地,在本发明的一个实施例中,不同用户可能有不同的偏好和需求,基于此,用户可能更熟悉某个特定的深度学习框架进行训练。基于此,深度学习框架模块在前端可以提供了多个深度学习框架,例如TensorFlow和PyTorch,从而满足了不同用户的差异化需求。其中,在本发明的一个实施例中,在获取用户选定的深度学习框架后,交互界面的可配置参数会发生改变,其任务构建过程中的各种代码组件也需要相应的进行灵活配置。本发明中的深度学习框架模块,可根据用户的框架选择,调整训练相关代码组件,以确保用户能够在所选框架下有效地进行训练和任务定制。
进一步地,在本发明的一个实施例中,上述多个参数可以包括GPU、客户端数量和通讯次数。具体地,在本发明的一个实施例中,提供了一个选项,允许用户选择是否使用GPU,以满足不同用户的硬件资源情况。其中,上述选项的选择不仅会影响交互界面提供的用户可选参数情况,还涉及到底层代码通信过程的数据传输格式调整,基于此,在本发明的一个实施例中,通过自适应数据传输格式调整算法,根据框架设定自适应更改数据传输格式。
以及,在本发明的一个实施例中,提供客户端数量和通讯次数的参数配置,使用户能够根据自身需要来指定客户端数量和通讯次数,从而减少了用户在理解通信算法上的时间投入。同时,在本发明的一个实施例中,可以通过分布式通信配置算法,根据用户的参数设置,灵活的管理客户端的参与、客户端和服务端的通信频率以及两者通信连接方式,以满足不同任务的需求。
以及,在本发明的一个实施例中,上述任务个性化定制模块可以包括:
数据处理模块,用于提供多种数据集来源选择,并对用户选择的数据集进行数据预处理;
模型自定义模块,用于获取用户上传的自定义协作学习模型架构及参数;
客户端训练模块,用于定义协作学习中客户端的本地模型的训练;
服务端测试模块,用于定义协作学习中服务端的测试实现。
在本发明的一个实施例中,上述任务个性化定制模块,应用于半开放形式和全开放形式。
具体地,在本发明的一个实施例中,上述数据处理模块可以提供两种数据集来源选择,第一种为预置的数据集,第二种支持用户通过上传压缩包的形式采用私有数据集进行模型训练。其中,私有数据集的上传下载操作,可以依赖第三方云服务平台的OSS存储服务来实现,其中数据集的存储位置是固定的。
以及,在本发明的一个实施例中,确定数据集后,可以对确定数据集中的数据进行预处理。其中,在本发明的一个实施例中,数据集预处理具有固定的输入输出数据格式要求。具体地,数据处理模块中可以包括get_client_data_feat()函数、get_client_partition_data_train()函数、get_server_data_feat()函数。
其中,在本发明的一个实施例中,上述get_client_data_feat()函数是接收全部训练集所在地址,并对训练集数据进行特征处理,然后将特征处理后的训练集返回;get_client_partition_data_train()函数是接收本地客户端可以访问的全部训练集数据的所在地址,然后根据特定策略从中挑选出到在当前客户端下进行实际训练的数据;get_server_data_feat()函数是接收服务端的测试数据集地址,对测试数据进行特征处理,并将返回特征处理后的测试集。其中,针对返回的训练集合和测试集合,本发明会分别设计两个字典,用来记录“当前服务器标识id”与“该id下存储的数据集特征及样本数量”之间的对应关系,以便后续通信阶段的数据传递与交换。关于上述get_client_data_feat()函数、get_client_partition_data_train()函数、get_server_data_feat()函数的详细描述如下表1-表3所示。
表1
表2
表3
进一步地,在本发明的一个实施例中,模型自定义模块对用户上传的自定义协作学习模型架构及参数存在一些特定的格式要求和限制。具体地,模型定义模块中需要用户的代码必须以class关键字开头,而其后所跟的模型名称需要定义为Net字符串。以及,模型自定义模块中不能将需要自定义的参数设置为可配置的超参数,即在训练模型时不允许从外部给模型传递不同的参数值。若用户需要配置该参数,需要在模型的__init__构造函数中直接指定参数设置,以便进行模型架构的初始化。
进一步地,在本发明的一个实施例中,上述客户端训练模块可以迭代地将训练数据提供给模型,然后根据模型的预测和实际标签来动态调整模型的权重和参数,以最小化损失函数。其中,客户端训练模块需要以class My_ClassificationTrainer()类开头,且该类中需要定义train函数。以及,在本发明的一个实施例中,train函数是真正执行模型训练的函数,用户可以在其中自定义调试信息输出,train函数中的train_data参数表示的是客户端本地的训练数据,可以从上述get_client_partition_data_train()函数的返回值train_data_local_dict中获取。该train_data可以在get_client_partition_data_train()函数中进行批量处理操作,也可在train()中使用batch进行批量处理。有关train()函数的具体描述如下表4所示。
表4
进一步地,在本发明的一个实施例中,上述服务端测试模块可以使用模型进行预测,并计算模型的精确性、召回率等性能指标,以便用户了解模型的优点和不足,从而采用适当的措施来改进和优化模型。其中,在本发明的一个实施例中,上述服务端测试模块需要以class My_ClassificationAggregator ()类开头,且该类中需要定义test函数。test函数是真正执行模型测试的函数,有关test函数的具体描述如下表5。
表5
进一步地,在本发明的一个实施例中,上述智能打包传输模块可以包括:
确定压缩文件存储路径模块,用于指定压缩包存储位置;
自适应打包文件模块,用于确定需要压缩的文件,并将所述确定需要压缩的文件添加到压缩包中;
压缩包下发模块,用于将压缩包统一下发至客户端。
其中,在本发明的一个实施例中,通过上述步骤初始化协作学习训练所需的深度学习代码后,需要将该初始化的代码发送至各个客户端,以便各个客户端能够使用该代码对模型进行训练。基于此,在本发明的一个实施例中,通过智能打包传输模块智能地选择和打包与任务相关的代码,并将其以可执行文件的形式发送至各个客户端,从而提高传输效率。
具体地,在本发明的一个实施例中,确定压缩文件存储路径模块中包含名为zip_path的变量,用于指定压缩包存储位置。若zip_path指定的目录不存在,确定压缩文件存储路径模块会自动创建该目录。其中,用户可以自定义zip_path,以满足其特定需求。
以及,在本发明的一个实施例中,自适应打包文件模块可以通过路径个性化选择算法,动态确定需要压缩的文件所在路径,并将路径存储到列表当中;并使用文件夹迭代器来遍历所述列表中路径上文件夹中的所有文件和子文件夹,将其内容添加到压缩包。
进一步地,在本发明的一个实施例中,压缩包下发模块将压缩包通过服务器统一下发至各个客户端。在进行通信下发时,客户端会遵循下发算法的指导,对压缩模块进行解压,随后启动相关脚本开展模型训练。
进一步地,在本发明的一个实施例中,上述任务扩展模块可以包括:
安全算法模块,用于提供多个安全算法函数,以对协作学习过程进行安全保护;
动态组件支持模块,用于提供动态组件,直接操作YAML配置文件和API(Application Programming Interface,应用程序编程接口)接口;
日志模块,用于实时记录模型训练过程中的数据信息。
在本发明的一个实施例中,通过任务扩展模块,可以允许用户根据自己的需求增添各种安全算法,或者利用提供的接口进行二次开发,从而满足不同应用场景的需求。
具体地,在本发明的一个实施例中,安全算法模块从底层通信算法中抽象出三个安全算法函数,并将其封装开放给用户,以便用户轻松开发相关代码,减少对不必要的通信算法的理解与更改。其中,协作学习的训练过程是首先由服务端将初始化模型下发给各个客户端,然后监听等待客户端的回复;各个客户端在本地进行模型训练,等到通信迭代到来时,客户端将部分信息传递给服务端;服务端接收并解析客户端传递的信息,然后调用聚合函数,以获得新的全局模型;服务端再将新模型发送给客户端,进入下一轮的迭代。在本发明的一个实施例中,get_model_params()函数用于实现客户端/服务端发送信息操作;set_model_params()函数用于实现接收服务端传输的信息/所有客户端聚合后的信息操作;aggregator()函数用于将所有参与协作学习训练的节点的局部模型聚合并更新为全局模型,用户可自定义聚合操作,关于aggregator()函数详细信息如下表6所示。
表6
进一步地,在本发明的一个实施例中,动态组件支持模块中,用户可以在前端输入特定的参数配置到YAML文件中,其中,动态组件使用process模块来读取YAML文件的内容,并自动匹配和内部函数的映射对象。通过该动态组件,用户可以通过应用程序编程接口来实现组件的添加、删除和替换操作。同时,用户也可以通过YAML文件的内容来配置组件的参数和行为,从而实现扩展程序的功能。此外,本发明的应用程序编程接口还允许外部应用程序与主程序直接进行交互,从而实现二次开发或接入其它平台的可行性。
进一步地,在本发明的一个实施例中,日志模块通过使用Logger类,可以实时记录模型训练的中间结果和其它调试信息,以便后续实验分析和代码调试。在本发明的一个实施例中,为每个客户端和服务端设定了不同的存储日志的文件夹名称,以对协作学习不同客户端和服务端的区分,基于此,不同节点的日志可以在独立的文件夹中进行存储和管理,方便用户对每个节点的日志进行跟踪和查看。
根据本发明实施例的高效灵活的协作学习框架,通过任务个性化定制模块,使得用户可根据需求自定义代码,减少非必要代码的编写,提高了用户体验和开发效率。同时,通过任务扩展模块对底层算法进行了封装,使得用户无需了解底层算法逻辑,就可通过相应的应用程序编程接口实现对其他功能模块的扩展,可扩展性强、适用场景广泛。
为了实现上述实施例,如图2所示,本实施例中还提供了高效灵活的协作学习方法,该方法采用上述高效灵活的协作学习框架实现,包括:
S1,利用协作学习训练环境初始化模块,确定开发方式和训练配置;
S2,利用任务个性化定制模块,对模型训练任务进行自定义设置;
S3,利用任务扩展模块,根据需求添加辅助功能,以满足不同应用场景的需求;
S4,利用智能打包传输模块,选择和打包模型训练任务对应的代码,并通过可执行文件的形式传输至客户端,以进行协作训练任务。
需要说明的是,在本发明的一个实施例中,若用户无需对模型训练任务进行自定义设置,则可以直接通过执行上述步骤S1和S4进行协作训练任务。以及,在本发明的一个实施例中,若用户需要对模型训练任务进行自定义设置,则可以执行上述步骤S2和/或S3进行自定义设置。
根据本发明实施例的高效灵活的协作学习方法,该方法通过任务个性化定制模块,使得用户可根据需求自定义代码,减少非必要代码的编写,提高了用户体验和开发效率。同时,通过任务扩展模块对底层算法进行了封装,使得用户无需了解底层算法逻辑,就可通过相应的应用程序编程接口实现对其他功能模块的扩展,可扩展性强、适用场景广泛。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

Claims (8)

1.一种高效灵活的协作学习系统,其特征在于,所述系统包括:
协作学习训练环境初始化模块,用于提供协作学习的多种开发方式和训练配置;
任务个性化定制模块,用于用户选择性的对模型训练任务进行自定义设置;
智能打包传输模块,用于智能选择和打包所述模型训练任务对应的代码,并通过可执行文件的形式传输至客户端;
任务扩展模块,用于根据需求添加辅助功能,以满足不同应用场景的需求;
其中,所述任务个性化定制模块包括:
数据处理模块,用于提供多种数据集来源选择,并对用户选择的数据集进行数据预处理;
模型自定义模块,用于获取用户上传的自定义协作学习模型架构及参数;
客户端训练模块,用于定义协作学习中客户端的本地模型的训练,其中,所述本地模型的训练过程中的参数包括参与训练的训练集、指定计算设备的参数和系统配置参数;
服务端测试模块,用于定义协作学习中服务端的测试实现,其中,所述服务端的测试实现过程中的参数包括参与测试的测试集、指定计算设备的参数、系统配置参数和评价指标;
所述任务扩展模块包括:
安全算法模块,用于提供多个安全算法函数,以对协作学习过程进行安全保护;
动态组件支持模块,用于提供动态组件,直接操作YAML配置文件和应用程序编程接口;
日志模块,用于实时记录模型训练过程中的数据信息;
所述安全算法模块,具体用于:
从底层通信算法中抽象出多个安全算法函数,并将其封装开放给用户,其中,所述多个安全算法函数包括用于实现客户端/服务端发送信息操作的函数、用于实现接收服务端传输的信息/所有客户端聚合后的信息操作的函数以及用于将所有参与协作学习训练的节点的局部模型聚合并更新为全局模型的函数。
2.根据权利要求1所述的系统,其特征在于,所述协作学习训练环境初始化模块,包括:
代码开发方式模块,用于提供多种代码开发方式,并在获取用户选择的确定代码开发方式后,动态加载所述确定代码开发方式下所需的必要组件;
深度学习框架模块,用于提供多种深度学习框架,并在获取用户选择的确定深度学习框架后,调整与所述确定深度学习框架训练相关的代码组件;
参数配置模块,用于提供多个参数配置选项。
3.根据权利要求2所述的系统,其特征在于,所述多种代码开发方式包括列表形式、半开放形式和全开放形式。
4.根据权利要求2所述的系统,其特征在于,所述多个参数包括GPU、客户端数量和通讯次数。
5.根据权利要求1所述的系统,其特征在于,所述智能打包传输模块包括:
确定压缩文件存储路径模块,用于确定压缩文件存储路径;
自适应打包文件模块,用于确定需要压缩的文件,并将所述确定需要压缩的文件添加到压缩包中;
压缩包下发模块,用于将压缩包统一下发至客户端。
6.根据权利要求5所述的系统,其特征在于,所述确定需要压缩的文件,并将所述确定需要压缩的文件添加到压缩包中,包括:
通过路径个性化选择算法,动态确定需要压缩的文件所在路径,并将路径存储到列表当中;
使用文件夹迭代器来遍历所述列表中路径上文件夹中的所有文件和子文件夹,将其内容添加到压缩包。
7.一种高效灵活的协作学习方法,采用如权利要求1-6中任意一项所述的高效灵活的协作学习系统实现,其特征在于,包括:
利用协作学习训练环境初始化模块,确定开发方式和训练配置;
利用任务个性化定制模块,对模型训练任务进行自定义设置;
利用任务扩展模块,根据需求添加辅助功能,以满足不同应用场景的需求;
利用智能打包传输模块,选择和打包所述模型训练任务对应的代码,并通过可执行文件的形式传输至客户端,以进行协作训练任务。
8.根据权利要求7所述的方法,其特征在于,所述利用协作学习训练环境初始化模块,确定开发方式和训练配置,包括:
利用代码开发方式模块,提供多种代码开发方式,并在获取用户选择的确定代码开发方式后,动态加载所述确定代码开发方式下所需的必要组件;
利用深度学习框架模块,提供多种深度学习框架,并在获取用户选择的确定深度学习框架后,调整与所述确定深度学习框架训练相关的代码组件;
利用参数配置模块,提供多个参数配置选项。
CN202410028493.3A 2024-01-09 2024-01-09 一种高效灵活的协作学习框架及方法 Active CN117539449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410028493.3A CN117539449B (zh) 2024-01-09 2024-01-09 一种高效灵活的协作学习框架及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410028493.3A CN117539449B (zh) 2024-01-09 2024-01-09 一种高效灵活的协作学习框架及方法

Publications (2)

Publication Number Publication Date
CN117539449A CN117539449A (zh) 2024-02-09
CN117539449B true CN117539449B (zh) 2024-03-29

Family

ID=89792303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410028493.3A Active CN117539449B (zh) 2024-01-09 2024-01-09 一种高效灵活的协作学习框架及方法

Country Status (1)

Country Link
CN (1) CN117539449B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378463A (zh) * 2019-07-15 2019-10-25 北京智能工场科技有限公司 一种人工智能模型标准化训练平台及自动化系统
CN111290778A (zh) * 2020-02-06 2020-06-16 网易(杭州)网络有限公司 Ai模型的包装方法、平台及电子设备
WO2020206958A1 (zh) * 2019-04-09 2020-10-15 苏宁云计算有限公司 一种基于迭代式学习的智能辅助标注方法及系统
WO2021115480A1 (zh) * 2020-06-30 2021-06-17 平安科技(深圳)有限公司 联邦学习方法、装置、设备和存储介质
CN113590112A (zh) * 2021-07-19 2021-11-02 联合汽车电子有限公司 工业ai项目开发平台
CN115080021A (zh) * 2022-05-13 2022-09-20 北京思特奇信息技术股份有限公司 基于自动化机器学习实现的零代码建模方法及系统
CN115456191A (zh) * 2022-08-01 2022-12-09 厦门大学 联邦学习平台
CN117150566A (zh) * 2023-10-31 2023-12-01 清华大学 面向协作学习的鲁棒训练方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020206958A1 (zh) * 2019-04-09 2020-10-15 苏宁云计算有限公司 一种基于迭代式学习的智能辅助标注方法及系统
CN110378463A (zh) * 2019-07-15 2019-10-25 北京智能工场科技有限公司 一种人工智能模型标准化训练平台及自动化系统
CN111290778A (zh) * 2020-02-06 2020-06-16 网易(杭州)网络有限公司 Ai模型的包装方法、平台及电子设备
WO2021115480A1 (zh) * 2020-06-30 2021-06-17 平安科技(深圳)有限公司 联邦学习方法、装置、设备和存储介质
CN113590112A (zh) * 2021-07-19 2021-11-02 联合汽车电子有限公司 工业ai项目开发平台
CN115080021A (zh) * 2022-05-13 2022-09-20 北京思特奇信息技术股份有限公司 基于自动化机器学习实现的零代码建模方法及系统
CN115456191A (zh) * 2022-08-01 2022-12-09 厦门大学 联邦学习平台
CN117150566A (zh) * 2023-10-31 2023-12-01 清华大学 面向协作学习的鲁棒训练方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NetSpirit: A Smart Collaborative Learning Framework for DDoS Attack Detection;Ke Xu 等;INTERPLAY BETWEEN MACHINE LEARNING AND NETWORKING SYSTEMS;20211231;140-147 *

Also Published As

Publication number Publication date
CN117539449A (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
US9038094B2 (en) Automated service interface optimization
US11240290B2 (en) Application download method and apparatus, application sending method and apparatus, and system
CN108196915A (zh) 基于应用容器引擎的代码处理方法、设备及存储介质
KR20080031202A (ko) 사용자 장치상에서의 다차원 데이터베이스의 일부의 캐싱및 수정
CN107102848A (zh) 规定用户界面元素
KR20210036226A (ko) 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법
CN107632879A (zh) 云仿真平台
CN110502212A (zh) 一种面向多语言的高并发在线开发支撑方法
CN109213498A (zh) 一种互联网web前端的配置方法及服务器
CN114830080B (zh) 数据分发流程配置方法及装置、电子设备、存储介质
CN113467922B (zh) 资源管理方法、装置、设备及存储介质
US20200326990A1 (en) Dynamic Infrastructure Management and Processing
CN110321374A (zh) 基于分布式网络的标准文件io操作系统及方法
CN117539449B (zh) 一种高效灵活的协作学习框架及方法
US11762719B2 (en) Data distribution system and data distribution method
CN109542638A (zh) 一种基于教育系统的文件处理方法及装置
CN109388406A (zh) 转换java代码的方法及装置、存储介质、电子装置
CN104021027A (zh) 提供虚拟装置的方法和设备
CN108628540A (zh) 数据存储装置及方法
JP2021503114A (ja) 擬似システムとしてのクラウド・コンピューティング・データの表現および解析
CN113098942B (zh) 一种分布式系统的数据处理方法及装置
US20230103149A1 (en) Adaptively compressing a deep learning model
CN110505118B (zh) 个人区域网实验床及其实现、测试方法
US20230128173A1 (en) Modularized digital twin creation for physical infrastructure of computing environment
CN117459376A (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
GR01 Patent grant
GR01 Patent grant