CN115017549B - 隐私计算、隐私数据和联邦学习的决策树计算装置及*** - Google Patents

隐私计算、隐私数据和联邦学习的决策树计算装置及*** Download PDF

Info

Publication number
CN115017549B
CN115017549B CN202210948721.XA CN202210948721A CN115017549B CN 115017549 B CN115017549 B CN 115017549B CN 202210948721 A CN202210948721 A CN 202210948721A CN 115017549 B CN115017549 B CN 115017549B
Authority
CN
China
Prior art keywords
grouping
decision tree
data set
grouping scheme
processing unit
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
CN202210948721.XA
Other languages
English (en)
Other versions
CN115017549A (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.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing Technology Co Ltd
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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN202210948721.XA priority Critical patent/CN115017549B/zh
Publication of CN115017549A publication Critical patent/CN115017549A/zh
Application granted granted Critical
Publication of CN115017549B publication Critical patent/CN115017549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及隐私计算、隐私数据及联邦学习技术领域,具体涉及一种隐私计算、隐私数据和联邦学习的决策树计算装置及***。该决策树计算装置及***,通过对原始数据集进行切分重排操作得到与分组方案对应的调整后数据集,大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集以及相应的控制信息的简便操作,在保证数据安全和隐私性的前提下高效高速实现利用决策树模型进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。

Description

隐私计算、隐私数据和联邦学习的决策树计算装置及***
技术领域
本申请涉及隐私计算、隐私数据及联邦学习技术领域,尤其涉及芯片和处理器技术领域,具体涉及一种隐私计算、隐私数据和联邦学习的决策树计算装置及***。
背景技术
隐私计算(Privacy Computing)指的是在保证数据提供方***露原始数据的前提下对数据进行分析计算的一系列技术,保证数据在流通和融合过程中“可用不可见”。隐私计算在通常意义上涵盖以保护数据隐私的同时实现计算任务为目的所使用的一系列广泛的技术。隐私计算结合计算机科学、人工智能以及云计算等技术的发展,在数据查询和机器学习中取得了重大进展,在诸多应用场景下提供了对数据的安全获取和对数据隐私的保护。常见的隐私计算技术包括如联邦学习(Federated Learning,FL)、安全多方计算(Secure Multi-Party Computation,SMPC)、秘密共享(Secret Sharing)、可信执行环境(Trusted Execution Environment,TEE)、差分隐私(Differential Privacy,DP)、同态加密(Homomorphic Encryption,HE)等。其中联邦学习指的是在确保数据不离开安全控制范围例如数据不传递到外部的前提下实现多方协同构建联邦学习模型。另一方面,随着对数据安全和隐私信息保护的日益重视以及《数据安全法》和《个人信息保护法》等相关法律法规的推出,隐私数据例如涉及个人信息或敏感信息的个人隐私数据等,在数据处理、数据通信、数据交互等各方面也面临更高的隐私保护和数据安全的要求。
在隐私计算、隐私数据相关处理以及联邦学习等技术领域中,经常需要进行数据挖掘,而决策树模型(decision tree mode)或者决策树算法作为数据挖掘分支中的常见算法,用于对未知数据进行分类和预测。决策树模型或决策树算法在规则提取、数据分类、预测分析等领域有着广泛应用,也在联邦学习特别是在金融行业中的纵向联邦学习相关应用场景有着广泛应用。决策树模型或者决策树算法例如secureboost算法涉及到大量的密态运算和大整数位宽的加密后数据,并且加密后数据相对于原始数据其数据量随着加密位宽增加可能成指数级增大,以及随着决策树的深度的增加也会增加密态运算次数,从而对算力、功耗和时间成本等都提出了很高的要求。
为此,需要一种隐私计算、隐私数据和联邦学习的决策树计算装置及***,能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
发明内容
第一方面,本申请实施例提供了一种决策树计算装置,用于隐私计算、隐私数据和联邦学习。所述决策树计算装置包括:第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集;所述第一处理单元,配置为:获取与所述决策树模型关联的至少一个分组方案,针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集以及将所述调整后数据集写入第二存储单元,其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果,所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址;所述第二存储单元,与第二处理单元连接且配置为存储所述调整后数据集;所述第二处理单元,配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。
第一方面所描述的技术方案,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述决策树模型包括至少一个特征,所述至少一个分组方案中的给定分组方案所包括的在该给定分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述至少一个特征中的给定特征进行分组的分组结果,所述给定特征是所述至少一个特征中的任意特征,所述给定分组方案对应所述给定特征。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述决策树模型包括至少一个层,所述至少一个分组方案中的给定分组方案所包括的在该给定分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述至少一个层中的给定层的节点进行分组的分组结果,所述给定层是所述至少一个层中的任意层,所述给定分组方案对应所述给定层。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述决策树模型包括多个特征,所述至少一个分组方案与所述多个特征一一对应,所述至少一个分组方案中的每一个分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述多个特征中的与该分组方案对应的特征进行分组的分组结果。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述决策树模型包括多个层,所述至少一个分组方案与所述多个层一一对应,所述至少一个分组方案中的每一个分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述多个层中的与该分组方案对应的层的节点进行分组的分组结果。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,其中针对所述至少一个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定层的节点进行分组的分组结果。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为生成与所述至少一个分组方案中的每一个分组方案分别对应的控制信息,其中针对所述至少一个分组方案中的每一个分组方案:与该分组方案对应的控制信息基于在该分组方案下的所述原始数据集的分组结果。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为将与所述至少一个分组方案中的每一个分组方案分别对应的控制信息发送给所述第二处理单元或者位于所述第一处理单元和所述第二处理单元之间的控制信息缓存器,其中所述第二处理单元配置为可从所述控制信息缓存器获取与该分组方案对应的控制信息。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为在获取所述至少一个分组方案中的每一个分组方案后生成与该分组方案对应的控制信息并且将与该分组方案对应的控制信息和与该分组方案对应的调整后数据集一起写入所述第二存储单元,所述第二处理单元配置为从所述第二存储单元获取与该分组方案对应的控制信息。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元包括多级计算单元,所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元还配置为根据与该分组方案对应的控制信息生成每一批次的批次结束标志和任务结束标志,所述第二处理单元还配置为在将每一批次读取的数据发送给所述多级计算单元后将该批次的批次结束标志发送给所述多级计算单元以及在将该分组方案的所有批次读取的数据发送给所述多级计算单元后将该任务结束标志发送给所述多级计算单元。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为获取所述第二处理单元的可用于构建所述多级计算单元的可用执行资源以及根据所述可用执行资源调整所述计算带宽均衡策略。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元包括至少一个CPU,所述第二处理单元包括至少一个FPGA和/或至少一个GPU。
第二方面,本申请实施例提供了一种异构处理***,用于隐私计算、隐私数据和联邦学习中的决策树算法。所述异构处理***包括:第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集以及与所述决策树模型关联的多个分组方案,其中所述决策树模型对应所述决策树算法下根据给定分割方案构建的决策树,所述多个分组方案基于遍历所述决策树的过程中对所述原始数据集进行分组的分组结果,所述多个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果;所述第一处理单元,配置为:从所述第一存储单元获取所述多个分组方案,针对所述多个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集以及将所述调整后数据集写入第二存储单元,其中所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址;所述第二存储单元,与第二处理单元连接且配置为存储所述调整后数据集;所述第二处理单元,配置为:针对所述多个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。其中所述第二处理单元还配置为整合与所述多个分组方案中的每一个分组方案分别对应的密态运算结果从而得到所述决策树模型的密态运算结果。
第二方面所描述的技术方案,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
根据第二方面的技术方案的一种可能的实现方式,本申请实施例还提供了,针对所述多个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定层的节点进行分组的分组结果。
根据第二方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元包括多级计算单元,所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。
根据第二方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略,所述第一处理单元还配置为获取所述第二处理单元的可用于构建所述多级计算单元的可用执行资源以及根据所述可用执行资源调整所述计算带宽均衡策略。
第三方面,本申请实施例提供了一种决策树计算装置,用于隐私计算、隐私数据和联邦学习。所述决策树计算装置包括:第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集;所述第一处理单元,配置为:获取与所述决策树模型关联的至少一个分组方案,将所述至少一个分组方案和所述原始数据集写入第二存储单元,其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果;所述第二存储单元,与第二处理单元连接;所述第二处理单元,配置为:针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集,其中所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址。所述第二处理单元还配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。
第三方面所描述的技术方案,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,其中针对所述至少一个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定层的节点进行分组的分组结果。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元包括多级计算单元,所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元还配置为根据与该分组方案对应的控制信息生成每一批次的批次结束标志和任务结束标志,所述第二处理单元还配置为在将每一批次读取的数据发送给所述多级计算单元后将该批次的批次结束标志发送给所述多级计算单元以及在将该分组方案的所有批次读取的数据发送给所述多级计算单元后将该任务结束标志发送给所述多级计算单元。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略。
附图说明
为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了本申请实施例提供的一种实施方式的用于隐私计算、隐私数据和联邦学习的决策树计算装置的框图。
图2示出了本申请实施例提供的另一种实施方式的用于隐私计算、隐私数据和联邦学习的决策树计算装置的框图。
图3示出了本申请实施例提供的用于隐私计算、隐私数据和联邦学习中的决策树算法的异构处理***的框图。
具体实施方式
本申请实施例为了解决如何能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等并且能够在算力、功耗、资源占用和时间成本等方面有良好表现,这样的技术难题,提出了一种隐私计算、隐私数据和联邦学习的决策树计算装置及***。其中,所述决策树计算装置包括:第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集;所述第一处理单元,配置为:获取与所述决策树模型关联的至少一个分组方案,针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集以及将所述调整后数据集写入第二存储单元,其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果,所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址;所述第二存储单元,与第二处理单元连接且配置为存储所述调整后数据集;所述第二处理单元,配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。本申请实施例具有以下有益技术效果:结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
本申请实施例可用于以下应用场景,包括但是不限于,多方联邦学习、纵向联邦学习、决策树模型特别是secureboost算法、数据安全、隐私保护或者应用隐私计算框架或算法的其它应用场景。
本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种实施方式的用于隐私计算、隐私数据和联邦学习的决策树计算装置的框图。如图1所示,决策树计算装置包括:第一存储单元110,与第一处理单元112连接且配置为存储决策树模型的原始数据集130;第一处理单元112,配置为:获取与所述决策树模型关联的至少一个分组方案,针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140以及将所述调整后数据集140写入第二存储单元120。其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集130的分组结果,所述调整后数据集140中的在该分组方案下的所述原始数据集130的分组结果中归属于同一分组的数据连续分布在所述第二存储单元120的物理存储空间或者具有连续的物理存储地址。决策树计算装置还包括:第二存储单元120,与第二处理单元122连接且配置为存储所述调整后数据集140;第二处理单元122,配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从第二存储单元120分批次读取所述调整后数据集140并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果。其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。
决策树模型或决策树算法用于对数据进行分类和预测,可用于多种任务,例如规则提取、数据分类、预测分析等。其中一种常见的决策树模型是secureboost算法,其涉及到持有数据和标签的guest方以及只持有数据而不持有标签的host方。guest方根据当前决策树模型计算出中间参数,例如根据guest方的数据计算数据样本的一阶导数grad和二阶导数hess,并对中间参数进行加密后将加密的中间参数发送给host方;host方根据当前决策树模型在每一个非叶子节点(也叫做树节点)上对每个特征可能的分割后模型进行计算,例如根据当前分割方案对被分割到左节点上的数据的grad和hess分别进行密态求和运算,得到与全部分割方案对应的全部密态求和运算结果,并将与全部分割方案对应的全部密态求和运算结果发送给guest方;guest方先对与全部分割方案对应的全部密态求和运算结果进行解密,然后针对每一个树节点计算出最优解,从而可用于改进当前决策树模型。其它的决策树模型或决策树算法与secureboost算法类似,通过寻找最优的特征值切分点并构建决策树,并且在寻找切分点的过程中按照不同的切分方案对每一份的数据进行求和,也就是对一批数据进行分段求和。因此,决策树模型或决策树算法的具体运算过程,一般需要遍历所有可能的切分方案或者说分割方案,并且需要对所有的树节点、所有的可行特征以及每一个特征的所有可能分割点进行遍历,因此整体的遍历计算的轮次数是由树节点总数、特征总数以及分割点总数的三者乘积决定。并且,对于给定的分割方案,以及给定的决策树模型(数据分布在该给定决策树模型的不同的树节点上),对所有可行特征中的每一个特征都要遍历树节点的所有数据以确定给定的分割方案产生的分割结果。这意味着进行决策树模型的推理或者预测,也就是寻找最优的特征值切分点或者说遍历全部的分割方案,都涉及到大量的遍历计算以及涉及到大量的大整数位宽密态数据的密态运算,并且需要对分散在各个树节点上的可行特征及特征的可能分割点进行遍历计算。而且,随着决策树的深度加深,每一轮次的遍历计算中的数据量会逐渐降低但是会逐渐增加密态运算的调用次数,从而导致频繁地进行加密、解密以及密态运算,这样使得单个轮次计算的数量下降、并行度和加速比也下降,整体数据开销增加。下面结合图1详细说明,本申请实施例提供的决策树计算装置如何应对上述的关于决策树模型或决策树算法的具体运算过程的各种挑战。
请参阅图1,第一存储单元110配置为存储决策树模型的原始数据集130,而第一处理单元112配置为获取与所述决策树模型关联的至少一个分组方案。这里,所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集130的分组结果。为了提高运算性能和提升交互效率,第一处理单元112还配置为,针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140以及将所述调整后数据集140写入第二存储单元120。通过切分重排操作,可以将相似的密态运算汇聚到单一密态运算任务中,可以大幅提升计算效率,进而减少软硬间交互次数和提高运算性能,这一点下面详细说明。上面提到,对于给定的分割方案,以及给定的决策树模型(数据分布在该给定决策树模型的不同的树节点上),对所有可行特征中的每一个特征都要遍历树节点的所有数据以确定给定的分割方案产生的分割结果。对于给定的分割方案下的决策树模型的数据分布情况也就是该给定的分割方案下的对特征或者层节点进行遍历计算,可以体现为原始数据集130在不同的分组方案下的分组结果。或者说,决策树模型或者决策树算法的每一轮次的遍历计算都可以理解为在给定的分割方案和给定的决策树模型下对所有可行特征遍历树节点的所有数据,也因此可以通过原始数据集130在满足特定要求的分组方案下的分组结果来体现。这样的从决策树模型或者决策树算法的多个轮次的遍历计算到多个分组方案下的原始数据集130各自的分组结果的映射,是基于决策树模型或决策树算法的具体运算过程的特点。在决策树模型或决策树算法的实际应用场景中,往往需要将一批数据切分成几十段到几千段,而每一段数据所包含的数据量一般不多,而通过将若干密态运算汇聚到单一密态运算任务中可以大幅减少软硬间交互次数和提高运算性能。因此,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程。图1所示的决策树计算装置,针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140,因此优化了与所述至少一个分组方案中的每一个分组方案分别对应的密态运算过程,也就优化了与所述至少一个分组方案相关联的决策树模型或决策树算法的有关运算。例如,设某个决策树模型的原始数据集包括ABCDEFGH共8个数据。这8个数据的原始数据集,如果按照年龄特征进行分组,可以分成年龄小于30岁的第一组数据为ABEG也就是4个数据,以及年龄大于等于30岁的第二组数据为CDFH也就是4个数据。这样按照年龄特征进行分组得到的两组数据就是一种分组方案,其体现了在给定的分割方案和给定的决策树模型下对年龄这一可行特征遍历树节点的所有数据。此外,如果按照收入特征进行分组,可以分成收入小于两万元的第一组数据为ABG共3个数据,收入大于等于两万元且小于三万元的第二组数据为E共1个数据,收入大于等于三万元且小于五万元的第三组数据为CDFH为4个数据,而收入大于等于五万元的第四组数据为空也就是0个数据。因此,这样按照收入特征进行分组得到的四组数据是另一种分组方案,其体现了在给定的分割方案和给定的决策树模型下对收入这一可行特征遍历树节点的所有数据。可以看出,采用年龄或者收入作为可行特征,可以对同一原始数据集也就是ABCDEFGH共8个数据带来不同的分组结果。并且,取决于具体的分割方案和具体的决策树模型,相同意义的可行特征也可能带来不同的分组方式。例如,同样是对年龄特征进行分组,可以按照是否大于30岁分成两组数据,也可能按照10岁到20岁、20岁到30岁、30岁到40岁、40岁到50岁以及大于50岁来分成五组数据,这取决于该年龄特征所在的决策树模型的具体哪一层以及该决策树模型的结构。如果对年龄特征进行遍历计算发生在决策树模型的第二层或者只具有两个分叉的某层,则可能按照是否大于30岁分成两组数据,但是如果发生在其它层,则可能分成五组数据。因此,对同一原始数据集,存在不同的分段方式以及相应的分段计算结果,而这些是由该给定的分割方案下的对特征或者层节点进行遍历计算的具体方式决定的,并且如上所述可以通过原始数据集130在满足特定要求的分组方案下的分组结果来体现。如此,通过对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程。
请继续参阅图1,除了通过对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140,图1所示的决策树计算装置还通过存储方面的优化来进一步提升计算效率。具体地,第一处理单元112配置为将所述调整后数据集140写入第二存储单元120。所述调整后数据集140中的在该分组方案下的所述原始数据集130的分组结果中归属于同一分组的数据连续分布在所述第二存储单元120的物理存储空间或者具有连续的物理存储地址。这意味着将带有随机分布特点的原始数据集130通过切分重排操作得到调整后数据集140之后再通过特定的写入操作写入第二存储单元120从而使得所述调整后数据集140在第二存储单元120中的存储情况满足特定要求,也就是所述调整后数据集140中的在该分组方案下的所述原始数据集130的分组结果中归属于同一分组的数据连续分布在所述第二存储单元120的物理存储空间或者具有连续的物理存储地址。通过这样的特定的写入操作所实现的所述调整后数据集140在第二存储单元120中的存储情况,可以提高第二处理单元122访问第二存储单元120的效率并且有利于提高后续第二处理单元122的密态运算效率。具体地,第二处理单元122配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从第二存储单元120分批次读取所述调整后数据集140并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果。这里,控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。控制信息所指示的总批次数可以理解为对原始数据集130进行切分重排操作得到调整后数据集140后所确定的分组的个数也就是有多少个分组,而控制信息所指示的所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数,可以理解为每一个分组下有多少个数据。结合上述的切分重排操作以及存储方面的优化,通过使得所述调整后数据集140中的在该分组方案下的所述原始数据集130的分组结果中归属于同一分组的数据连续分布在所述第二存储单元120的物理存储空间或者具有连续的物理存储地址,这样后续通过控制信息所指示的每一批次读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数,可以使得第二处理单元122基于与该分组方案对应的控制信息就能实现读取归属于同一分组的数据并对归属于同一分组的数据进行同一密态运算任务,进而利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性。应当理解的是,对原始数据集130进行的切分重排操作以及相应的将调整后数据集140写入第二存储单元120的存储方面优化,使得原本依赖原始数据集130进行的决策树算法的运算转化为了依赖调整后数据集140进行的决策树算法的运算,这样利用了调整后数据集140的规律性(调整后数据集140中的在该分组方案下的所述原始数据集130的分组结果中归属于同一分组的数据连续分布在所述第二存储单元120的物理存储空间或者具有连续的物理存储地址),利用了将相似的密态运算汇聚到单一密态运算任务中而带来的在减少软硬间交互次数和提高运算性能方面的好处,也实现了基于控制信息分段读取数据而带来的控制层面的简化,如此有利于克服由上述的决策树模型或决策树算法的具体运算过程的特点(因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况以及由此导致的对所有可行特征遍历所有数据的运算过程的差异)而带来的各种挑战。
请继续参阅图1,图1所示的决策树计算装置,将依赖原始数据集130进行的决策树算法的运算转化为了依赖调整后数据集140进行的决策树算法的运算,从而将决策树模型或者决策树算法的遍历计算中涉及到的对特征的遍历和对每层节点的遍历,与这些遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集140以及相应的控制信息的简便操作。其中,针对特征的遍历计算,可以按照特征进行分组得到分组个数以及每组的数据个数;针对层节点的遍历计算可以按照层节点进行分组得到与该层节点个数相同的分组个数以及每组的数据个数。这样得到的分组个数和每组的数据个数,作为控制信息所指示的内容,可用于第二处理单元122来分批次读取数据并对同一批次读取的数据进行密态运算,从而实现了对同一个分组内的密态数据进行密态运算,最后再整合所有分组的结果得到决策树模型或者决策树算法的密态运算结果。另外,通过第一处理单元112对原始数据集130进行切分重排操作也就是将同一个分组的数据放在一起。其中分组方案指代了针对特征的遍历和/或针对层节点的遍历所生成的对原始数据集130进行分组的具体方式。只要保证分组后的结果也就是调整后数据集140在第二存储单元120中是连续分布的或者具有连续的物理存储地址,也就是保留了分组后的结果中的规律性,从而有利于让第二处理单元122按照控制信息来分批次读取待计算数据,进而实现了通过基于控制信息分段读取数据而简化了控制逻辑。上面提到,随着决策树的深度加深,每一轮次的遍历计算中的数据量会逐渐降低但是会逐渐增加密态运算的调用次数,从而导致频繁地进行加密、解密以及密态运算,这样使得单个轮次计算的数量下降、并行度和加速比也下降,整体数据开销增加。而上述的依赖调整后数据集140进行的决策树算法的运算以及通过控制信息分段读取数据,可以应对任意可能的分组结果也就可以应对任意可能的遍历计算中的数据分布情况,因此能很好地应对随着决策树的深度加深所带来的变化,并且在计算性能和整体开销方面表现良好。控制信息,包括分组的个数以及每个分组的数据个数,可以与待计算数据一起下发,例如将调整后数据集140和控制信息一起写入第二存储单元120,也可以将控制信息单独下发给第二处理单元122,例如为控制信息提供专门的缓存器或者单独的交互机制等,在此不做具体限定。
应当理解的是,第一处理单元112对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140以及将所述调整后数据集140写入第二存储单元120。其中,在一些实施例中,第一处理单元112可以对存储在第一存储单元110中的原始数据集130本身进行改动,也就是改变所存储的数据或者调整数据本身的存储地址,从而将原始数据集130转化为调整后数据集140然后再写入第二存储单元120。在另一些实施例中,第一处理单元112可以不变动原始数据集130本身也不改变数据本身的存储地址,而是通过添加标识、指针或者其它类似方式,例如生成将存储在第一存储单元110中的原始数据集130映射到第二存储单元120中的调整后数据集140的映射表。
应当理解的是,控制信息可以和调整后数据集140一起存储在第二存储单元120并被第二处理单元122读取,也可以通过单独的途径传输给第二处理单元122例如通过缓存器或专门的存储装置等,在此不做具体限定。控制信息的内容用于指示第二处理单元122如何从第二存储单元120读取数据,可以理解为与待读取的数据相关的参数信息。可以通过对第二存储单元120中所存储的调整后数据集140进行解析来获取控制信息,也可以在对原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140的过程之前、过程中或者过程之后获得控制信息,在此不做具体限定。
总之,图1所示的决策树计算装置,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集140以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
在一种可能的实施方式中,所述决策树模型包括至少一个特征,所述至少一个分组方案中的给定分组方案所包括的在该给定分组方案下的所述原始数据集130的分组结果是所述原始数据集130按照所述至少一个特征中的给定特征进行分组的分组结果,所述给定特征是所述至少一个特征中的任意特征,所述给定分组方案对应所述给定特征。如此,实现了按照给定特征进行遍历计算以及相应的分组结果。
在一种可能的实施方式中,所述决策树模型包括至少一个层,所述至少一个分组方案中的给定分组方案所包括的在该给定分组方案下的所述原始数据集130的分组结果是所述原始数据集130按照所述至少一个层中的给定层的节点进行分组的分组结果,所述给定层是所述至少一个层中的任意层,所述给定分组方案对应所述给定层。如此,实现了按照给定层节点进行遍历计算以及相应的分组结果。
在一种可能的实施方式中,所述决策树模型包括多个特征,所述至少一个分组方案与所述多个特征一一对应,所述至少一个分组方案中的每一个分组方案所包括的在该分组方案下的所述原始数据集130的分组结果是所述原始数据集130按照所述多个特征中的与该分组方案对应的特征进行分组的分组结果。如此,实现了按照决策树模型下的多个特征进行遍历计算以及相应的分组结果。
在一种可能的实施方式中,所述决策树模型包括多个层,所述至少一个分组方案与所述多个层一一对应,所述至少一个分组方案中的每一个分组方案所包括的在该分组方案下的所述原始数据集130的分组结果是所述原始数据集130按照所述多个层中的与该分组方案对应的层的节点进行分组的分组结果。如此,实现了按照决策树模型下的多个层进行遍历计算以及相应的分组结果。
在一种可能的实施方式中,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,其中针对所述至少一个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集130的分组结果是所述原始数据集130按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集130的分组结果是所述原始数据集130按照所述特定层的节点进行分组的分组结果。如此,实现了按照特定特征或者特定层节点进行遍历计算及相应的分组结果。并且,根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,意味着可以结合决策树模型有多少层及每层有多少节点这样的信息,来确定分组方案。因此,面对具有任意可能的结构和特征组合的决策树模型,该决策树模型的遍历计算可以拆分成根据特定特征或者根据特定层的节点的遍历计算这样的组合,因此可以将根据该决策树模型的结构和特征组合所制定的遍历计算方案转化成相应的多个分组方案及相应的密态运算任务。这样能很好地应对随着决策树的深度加深所带来的变化,并且在计算性能和整体开销方面表现良好。
在一种可能的实施方式中,所述第一处理单元112还配置为生成与所述至少一个分组方案中的每一个分组方案分别对应的控制信息,其中针对所述至少一个分组方案中的每一个分组方案:与该分组方案对应的控制信息基于在该分组方案下的所述原始数据集130的分组结果。如此,实现了通过第一处理单元112来生成控制信息。并且,可以通过给原始数据集130打上标签或者基于分组结果的方式来生成控制信息,在此不做具体限定。在一些实施例中,所述第一处理单元112还配置为将与所述至少一个分组方案中的每一个分组方案分别对应的控制信息发送给所述第二处理单元122或者位于所述第一处理单元112和所述第二处理单元122之间的控制信息缓存器(未示出),其中所述第二处理单元122配置为可从所述控制信息缓存器获取与该分组方案对应的控制信息。如此,实现了直接发送控制信息或者通过控制信息缓存器。在一些实施例中,所述第一处理单元112还配置为在获取所述至少一个分组方案中的每一个分组方案后生成与该分组方案对应的控制信息并且将与该分组方案对应的控制信息和与该分组方案对应的调整后数据集140一起写入所述第二存储单元120,所述第二处理单元122配置为从所述第二存储单元120获取与该分组方案对应的控制信息。如此,实现了通过解析源数据来获取控制信息,以及将控制信息和调整后数据集140一起写入第二存储单元120。
在一种可能的实施方式中,所述第二处理单元122包括多级计算单元(未示出),所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。如此实现了通过多级计算单元来并行化加速密态运算。上面提到,将原本依赖原始数据集130进行的决策树算法的运算转化为了依赖调整后数据集140进行的决策树算法的运算,利用了将相似的密态运算汇聚到单一密态运算任务中而带来的在减少软硬间交互次数和提高运算性能方面的好处。这样也有利于通过多级计算单元的并行化连接的多个计算引擎来加速进行密态加法运算。在一些实施例中,所述第二处理单元122还配置为根据与该分组方案对应的控制信息生成每一批次的批次结束标志和任务结束标志,所述第二处理单元122还配置为在将每一批次读取的数据发送给所述多级计算单元后将该批次的批次结束标志发送给所述多级计算单元以及在将该分组方案的所有批次读取的数据发送给所述多级计算单元后将该任务结束标志发送给所述多级计算单元。如此,实现了控制层面的简化。具体地,通过基于控制信息来生成批次结束标志和任务结束标志,将复杂的控制层面操作转化为数据流中对批次结束标志和任务结束标志的识别提取操作,这样使得多级计算单元可以便利地通过批次结束标志和任务结束标志来判断每一批次的结束以及整个任务的结束并做出相应的操作。批次结束标志和任务结束标志,可以被添加到发送的数据的最后一个数据上,例如通过数据标志位,或者通过首标志位和尾标志位的方式。在一些实施例中,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定。该计算带宽均衡策略可以是预先设定,例如根据经验公式、机器学***衡,这样有利于整体计算效率的提升。
在一种可能的实施方式中,所述第一处理单元112还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略。这里,为了提高整体计算效率,可以由第一处理单元112来根据具体的决策树模型的特征组合和结构来确定计算带宽均衡策略,进而调整多级计算单元的计算引擎的分布。上面提到,面对具有任意结构和特征组合的决策树模型,随着层数的加深,需要调用更多次数的密态求和算子但是所涉及到的数据总数在下降,也就是越深入决策树的下层,则节点数越多且对数据集的切分也就越细。因此,可能存在一种情况是,决策树模型的节点数很多而每个节点上数据较少,这种情况下适合增加第一级计算单元的密态求和算子的并行数量,因此需要相应调整该计算带宽均衡策略例如增加第一级计算单元的计算引擎个数配比。假设原来第一级计算单元的计算引擎个数与第二级计算单元的计算引擎个数之间的比值为3比1,则面对决策树模型的节点数很多而每个节点上数据较少的情况下可能通过调整该计算带宽均衡策略使得该比值从3比1增加到7比1甚至9比1。也就是说可以根据决策树模型的特点如特征组合和结构来调整所述计算带宽均衡策略,进而影响所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数之间的比值,从而提升整体计算效率。在一些实施例中,所述第一处理单元112还配置为获取所述第二处理单元122的可用于构建所述多级计算单元的可用执行资源以及根据所述可用执行资源调整所述计算带宽均衡策略。这里,考虑到所述第二处理单元122的可用于构建所述多级计算单元的可用执行资源是有限的,例如在有限的可用执行资源范围内来构建多级计算单元如有限的逻辑门资源和内存等,因此适合根据所述可用执行资源调整所述计算带宽均衡策略,例如将大部分的可用执行资源用于增加第一级计算单元的计算引擎个数配比,从而提升整体计算效率。
在一种可能的实施方式中,所述第一处理单元112包括至少一个CPU,所述第二处理单元122包括至少一个FPGA和/或至少一个GPU。
图2示出了本申请实施例提供的另一种实施方式的用于隐私计算、隐私数据和联邦学习的决策树计算装置的框图。如图2所示,决策树计算装置包括:第一存储单元210,与第一处理单元212连接且配置为存储决策树模型的原始数据集230;第一处理单元212,配置为:获取与所述决策树模型关联的至少一个分组方案,将所述至少一个分组方案和所述原始数据集230写入第二存储单元220。其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集230的分组结果。决策树计算装置还包括:第二存储单元220,与第二处理单元222连接;第二处理单元222,配置为:针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集230进行切分重排操作得到与该分组方案对应的调整后数据集240。其中所述调整后数据集240中的在该分组方案下的所述原始数据集230的分组结果中归属于同一分组的数据连续分布在第二存储单元220的物理存储空间或者具有连续的物理存储地址。第二处理单元222还配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从第二存储单元220分批次读取所述调整后数据集240并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果。其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。
请参阅图2,图2所示的决策树计算装置与图1所示的决策树计算装置不同在于,图2的决策树计算装置的第一处理单元212将所述至少一个分组方案和所述原始数据集230写入第二存储单元220,然后由第二处理单元222来对所述原始数据集230进行切分重排操作得到与该分组方案对应的调整后数据集240。相对于图1所示的决策树计算装置中由第一处理单元112来对所述原始数据集130进行切分重排操作得到与该分组方案对应的调整后数据集140以及将所述调整后数据集140写入第二存储单元120,图2所示的决策树计算装置通过第二处理单元222来执行切分重排操作。如此,图2所示的决策树计算装置将主要的运算负担集中于第二处理单元222,也就是由第二处理单元222来执行切分重排操作以及执行依赖于调整后数据集240的密态运算。这样可以通过为第二处理单元222提供专用加速器、加速电路或者专用架构,从而有利于提升密集运算的计算速度。并且,图2所示的决策树计算装置,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集230进行切分重排操作得到与该分组方案对应的调整后数据集240,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集240以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
应当理解的是,图2中示意性示出了原始数据集230和调整后数据集240均在第二存储单元220中。在一些实施例中,原始数据集230和调整后数据集240是分别存储也就是各自的数据占据不同的存储空间。在另一些实施例中,调整后数据集240可以是通过添加标识、指针或者其它类似方式,例如从原始数据集230到调整后数据集240的映射表等,也就是在不额外占用数据存储空间的情况下实现对原始数据集230进行切分重排操作得到调整后数据集240。
在一种可能的实施方式中,所述第一处理单元212还配置为根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,其中针对所述至少一个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集230的分组结果是所述原始数据集230按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集230的分组结果是所述原始数据集230按照所述特定层的节点进行分组的分组结果。如此,实现了按照特定特征或者特定层节点进行遍历计算及相应的分组结果。
在一种可能的实施方式中,所述第二处理单元222包括多级计算单元(未示出),所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元222还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。如此实现了通过多级计算单元来并行化加速密态运算。在一些实施例中,所述第二处理单元222还配置为根据与该分组方案对应的控制信息生成每一批次的批次结束标志和任务结束标志,所述第二处理单元222还配置为在将每一批次读取的数据发送给所述多级计算单元后将该批次的批次结束标志发送给所述多级计算单元以及在将该分组方案的所有批次读取的数据发送给所述多级计算单元后将该任务结束标志发送给所述多级计算单元。如此,实现了控制层面的简化。在一些实施例中,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定。在一些实施例中,所述第一处理单元212还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略。如此,实现了通过调整计算带宽均衡策略来提高整体计算效率。
图3示出了本申请实施例提供的用于隐私计算、隐私数据和联邦学习中的决策树算法的异构处理***的框图。如图3所示,异构处理***包括:第一存储单元310,第一处理单元312,第二存储单元320,第二处理单元322。其中,第一存储单元310与第一处理单元312连接且配置为存储决策树模型的原始数据集330以及与所述决策树模型关联的多个分组方案(统称为分组方案332)。其中所述决策树模型对应所述决策树算法下根据给定分割方案构建的决策树,所述多个分组方案也就是分组方案332基于遍历所述决策树的过程中对所述原始数据集330进行分组的分组结果,所述多个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集330的分组结果。第一处理单元312配置为:从第一存储单元310获取所述多个分组方案也即分组方案332,针对分组方案332中的每一个分组方案,对所述原始数据集330进行切分重排操作得到与该分组方案对应的调整后数据集340,最后将根据分组方案332对原始数据集330进行切分重排操作得到的调整后数据集340写入第二存储单元320。其中所述调整后数据集340中的在该分组方案下的所述原始数据集330的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址。第二存储单元320与第二处理单元322连接且配置为存储所述调整后数据集340。第二处理单元322配置为:针对分组方案332中的每一个分组方案,基于与该分组方案对应的控制信息,从第二存储单元320分批次读取所述调整后数据集340并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果。其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。第二处理单元322还配置为整合与所述多个分组方案中的每一个分组方案分别对应的密态运算结果从而得到所述决策树模型的密态运算结果。异构处理***还包括预处理模块302,预处理模块302用于生成与所述决策树模型关联的多个分组方案也就是分组方案332并将分组方案332写入第一存储单元310。
请参阅图3,图3所示的异构处理***,在第一存储单元310中存储决策树模型的原始数据集330以及与所述决策树模型关联的多个分组方案也即分组方案332。这里,预处理模块302可以从外部获取分组方案332也可以用于生成与所述决策树模型关联的多个分组方案,或者说,用于对根据给定分割方案构建的决策树中的特征及层节点进行遍历计算来生成分组方案332。对于给定分割方案以及根据给定分割方案构建的决策树,其中的数据分布在该决策树的不同的树节点上,因此在给定分割方案下的遍历计算意味着对该决策树的所有特征以及所有层节点进行遍历计算,而这些遍历计算可以体现为原始数据集330在不同的分组方案下的分组结果,也就是可以体现为所述多个分组方案也就是分组方案332。对整个决策树的所有特征和所有节点进行遍历,这意味着对整个决策树进行遍历,最后得到的是整个决策树的密态运算结果。因此,第二处理单元322通过整合与所述多个分组方案中的每一个分组方案分别对应的密态运算结果从而得到所述决策树模型的密态运算结果。如此,图3所示的异构处理***优化了与所述多个分组方案相关联的决策树模型或决策树算法的有关运算,也就是优化了整个决策树的密态运算。并且,图3所示的异构处理***,结合决策树模型或决策树算法的具体运算过程的特点,特别是因为不同的分割方案和不同的决策树模型而导致的不同的数据分布情况,以及由此导致的对所有可行特征遍历所有数据的运算过程的差异,通过对原始数据集330进行切分重排操作得到与该分组方案对应的调整后数据集340,可以利用将若干密态运算汇聚到单一密态运算任务能大幅减少软硬间交互次数和提高运算性能的特性,从而优化了与该分组方案对应的密态运算过程,并且通过基于控制信息分段读取数据简化了控制逻辑,也将遍历计算相关的控制流和数据流整合为可以通过读取调整后数据集340以及相应的控制信息的简便操作,这样能够在保证数据安全和隐私性的前提下高效高速实现利用决策树模型或决策树算法来进行训练、分类、预测等,并且能够在算力、功耗、资源占用和时间成本等方面有良好表现。
请参阅图1和图3,应当理解的是,图3所示的异构处理***,在第一存储单元310中存储决策树模型的原始数据集330以及与所述决策树模型关联的多个分组方案,因此优化了与所述多个分组方案相关联的决策树模型或决策树算法的有关运算,也就是优化了整个决策树的密态运算。与图3所示的异构处理***不同的是,图1所示的决策树计算装置中的第二处理单元122用于针对所述至少一个分组方案中的每一个分组方案得到与该分组方案对应的密态运算结果,因此优化了与所述至少一个分组方案相关联的决策树模型或决策树算法的有关运算。图1所示的决策树计算装置可以用于对针对某个特征或者针对某个层节点的遍历计算进行优化,也就是可以用于针对整个决策树的密态运算中的一部分进行优化,或者,可以用于针对整个决策树的密态运算中的全部进行优化。
在一种可能的实施方式中,针对所述多个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集330的分组结果是所述原始数据集330按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集330的分组结果是所述原始数据集330按照所述特定层的节点进行分组的分组结果。如此,实现了按照特定特征或者特定层节点进行遍历计算及相应的分组结果。
在一种可能的实施方式中,所述第二处理单元322包括多级计算单元(未示出),所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元322还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。如此实现了通过多级计算单元来并行化加速密态运算。在一些实施例,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定,所述第一处理单元312还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略,所述第一处理单元312还配置为获取所述第二处理单元322的可用于构建所述多级计算单元的可用执行资源以及根据所述可用执行资源调整所述计算带宽均衡策略。如此,实现了通过调整计算带宽均衡策略来提高整体计算效率。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的***总线或数据传输***。***总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,***总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是***的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共***。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或***的具体限定。在本申请另一些实施例中,有关装置或***可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

Claims (25)

1.一种决策树计算装置,用于隐私计算、隐私数据和联邦学习,其特征在于,所述决策树计算装置包括:
第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集;
所述第一处理单元,配置为:获取与所述决策树模型关联的至少一个分组方案,针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集以及将所述调整后数据集写入第二存储单元,其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果,所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址;
所述第二存储单元,与第二处理单元连接且配置为存储所述调整后数据集;
所述第二处理单元,配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。
2.根据权利要求1所述的决策树计算装置,其特征在于,所述决策树模型包括至少一个特征,所述至少一个分组方案中的给定分组方案所包括的在该给定分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述至少一个特征中的给定特征进行分组的分组结果,所述给定特征是所述至少一个特征中的任意特征,所述给定分组方案对应所述给定特征。
3.根据权利要求1所述的决策树计算装置,其特征在于,所述决策树模型包括至少一个层,所述至少一个分组方案中的给定分组方案所包括的在该给定分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述至少一个层中的给定层的节点进行分组的分组结果,所述给定层是所述至少一个层中的任意层,所述给定分组方案对应所述给定层。
4.根据权利要求1所述的决策树计算装置,其特征在于,所述决策树模型包括多个特征,所述至少一个分组方案与所述多个特征一一对应,所述至少一个分组方案中的每一个分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述多个特征中的与该分组方案对应的特征进行分组的分组结果。
5.根据权利要求1所述的决策树计算装置,其特征在于,所述决策树模型包括多个层,所述至少一个分组方案与所述多个层一一对应,所述至少一个分组方案中的每一个分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述多个层中的与该分组方案对应的层的节点进行分组的分组结果。
6.根据权利要求1所述的决策树计算装置,其特征在于,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,其中针对所述至少一个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定层的节点进行分组的分组结果。
7.根据权利要求1所述的决策树计算装置,其特征在于,所述第一处理单元还配置为生成与所述至少一个分组方案中的每一个分组方案分别对应的控制信息,其中针对所述至少一个分组方案中的每一个分组方案:与该分组方案对应的控制信息基于在该分组方案下的所述原始数据集的分组结果。
8.根据权利要求7所述的决策树计算装置,其特征在于,所述第一处理单元还配置为将与所述至少一个分组方案中的每一个分组方案分别对应的控制信息发送给所述第二处理单元或者位于所述第一处理单元和所述第二处理单元之间的控制信息缓存器,其中所述第二处理单元配置为从所述控制信息缓存器获取与该分组方案对应的控制信息。
9.根据权利要求7所述的决策树计算装置,其特征在于,所述第一处理单元还配置为在获取所述至少一个分组方案中的每一个分组方案后生成与该分组方案对应的控制信息并且将与该分组方案对应的控制信息和与该分组方案对应的调整后数据集一起写入所述第二存储单元,所述第二处理单元配置为从所述第二存储单元获取与该分组方案对应的控制信息。
10.根据权利要求1所述的决策树计算装置,其特征在于,所述第二处理单元包括多级计算单元,所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。
11.根据权利要求10所述的决策树计算装置,所述第二处理单元还配置为根据与该分组方案对应的控制信息生成每一批次的批次结束标志和任务结束标志,所述第二处理单元还配置为在将每一批次读取的数据发送给所述多级计算单元后将该批次的批次结束标志发送给所述多级计算单元以及在将该分组方案的所有批次读取的数据发送给所述多级计算单元后将该任务结束标志发送给所述多级计算单元。
12.根据权利要求10所述的决策树计算装置,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定。
13.根据权利要求12所述的决策树计算装置,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略。
14.根据权利要求12所述的决策树计算装置,所述第一处理单元还配置为获取所述第二处理单元的用于构建所述多级计算单元的可用执行资源以及根据所述可用执行资源调整所述计算带宽均衡策略。
15.根据权利要求1-14中任一项所述的决策树计算装置,所述第一处理单元包括至少一个CPU,所述第二处理单元包括至少一个FPGA和/或至少一个GPU。
16.一种决策树计算***,用于隐私计算、隐私数据和联邦学习中的决策树算法,其特征在于,所述决策树计算***包括:
第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集以及与所述决策树模型关联的多个分组方案,其中所述决策树模型对应所述决策树算法下根据给定分割方案构建的决策树,所述多个分组方案基于遍历所述决策树的过程中对所述原始数据集进行分组的分组结果,所述多个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果;
所述第一处理单元,配置为:从所述第一存储单元获取所述多个分组方案,针对所述多个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集以及将所述调整后数据集写入第二存储单元,其中所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址;
所述第二存储单元,与第二处理单元连接且配置为存储所述调整后数据集;
所述第二处理单元,配置为:针对所述多个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数,
其中所述第二处理单元还配置为整合与所述多个分组方案中的每一个分组方案分别对应的密态运算结果从而得到所述决策树模型的密态运算结果。
17.根据权利要求16所述的决策树计算***,其特征在于,针对所述多个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定层的节点进行分组的分组结果。
18.根据权利要求16所述的决策树计算***,其特征在于,所述第二处理单元包括多级计算单元,所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。
19.根据权利要求18所述的决策树计算***,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略,所述第一处理单元还配置为获取所述第二处理单元的用于构建所述多级计算单元的可用执行资源以及根据所述可用执行资源调整所述计算带宽均衡策略。
20.一种决策树计算装置,用于隐私计算、隐私数据和联邦学习,其特征在于,所述决策树计算装置包括:
第一存储单元,与第一处理单元连接且配置为存储决策树模型的原始数据集;
所述第一处理单元,配置为:获取与所述决策树模型关联的至少一个分组方案,将所述至少一个分组方案和所述原始数据集写入第二存储单元,其中所述至少一个分组方案中的每一个分组方案各自包括在该分组方案下的所述原始数据集的分组结果;
所述第二存储单元,与第二处理单元连接;
所述第二处理单元,配置为:针对所述至少一个分组方案中的每一个分组方案,对所述原始数据集进行切分重排操作得到与该分组方案对应的调整后数据集,其中所述调整后数据集中的在该分组方案下的所述原始数据集的分组结果中归属于同一分组的数据连续分布在所述第二存储单元的物理存储空间或者具有连续的物理存储地址,
所述第二处理单元还配置为:针对所述至少一个分组方案中的每一个分组方案,基于与该分组方案对应的控制信息,从所述第二存储单元分批次读取所述调整后数据集并对每一批次读取的数据分别进行密态运算后再汇聚从而得到与该分组方案对应的密态运算结果,其中所述控制信息指示所述第二处理单元每一批次从所述第二存储单元读取的连续分布或者具有连续的物理存储地址的数据的个数以及总批次数。
21.根据权利要求20所述的决策树计算装置,其特征在于,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构获取所述至少一个分组方案,其中针对所述至少一个分组方案中的每一个分组方案:该分组方案对应所述决策树模型的特征组合中的特定特征并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定特征进行分组的分组结果,或者,该分组方案对应所述决策树模型的结构中的特定层并且该分组方案所包括的在该分组方案下的所述原始数据集的分组结果是所述原始数据集按照所述特定层的节点进行分组的分组结果。
22.根据权利要求20所述的决策树计算装置,其特征在于,所述第二处理单元包括多级计算单元,所述多级计算单元中的每一级计算单元包括并行化连接的多个计算引擎用于通过实数域和蒙哥马利域之间的转换实现多个密文之间的密态加法运算,其中所述第二处理单元还配置为将每一批次读取的数据发送给所述多级计算单元从而对该批次读取的数据进行密态运算。
23.根据权利要求22所述的决策树计算装置,所述第二处理单元还配置为根据与该分组方案对应的控制信息生成每一批次的批次结束标志和任务结束标志,所述第二处理单元还配置为在将每一批次读取的数据发送给所述多级计算单元后将该批次的批次结束标志发送给所述多级计算单元以及在将该分组方案的所有批次读取的数据发送给所述多级计算单元后将该任务结束标志发送给所述多级计算单元。
24.根据权利要求22所述的决策树计算装置,所述多级计算单元中的每一级计算单元各自包括的计算引擎的个数基于计算带宽均衡策略进行整体设定。
25.根据权利要求24所述的决策树计算装置,所述第一处理单元还配置为根据所述决策树模型的特征组合和结构调整所述计算带宽均衡策略。
CN202210948721.XA 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的决策树计算装置及*** Active CN115017549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210948721.XA CN115017549B (zh) 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的决策树计算装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210948721.XA CN115017549B (zh) 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的决策树计算装置及***

Publications (2)

Publication Number Publication Date
CN115017549A CN115017549A (zh) 2022-09-06
CN115017549B true CN115017549B (zh) 2022-11-18

Family

ID=83066081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210948721.XA Active CN115017549B (zh) 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的决策树计算装置及***

Country Status (1)

Country Link
CN (1) CN115017549B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116244753B (zh) * 2023-05-12 2023-08-15 建信金融科技有限责任公司 隐私数据求交集的方法、装置、设备及存储介质
CN116842578A (zh) * 2023-08-31 2023-10-03 武汉大数据产业发展有限公司 数据要素交易中隐私计算平台、方法、电子设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理***、处理器及任务处理方法
CN113449880A (zh) * 2021-08-30 2021-09-28 深圳致星科技有限公司 用于纵向联邦学习决策树模型的异构加速***及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543517B2 (en) * 2010-06-09 2013-09-24 Microsoft Corporation Distributed decision tree training
US11354601B2 (en) * 2018-03-16 2022-06-07 Ricoh Company, Ltd. Learning classification device and learning classification method
JP7196542B2 (ja) * 2018-11-05 2022-12-27 株式会社リコー 学習装置および学習方法
EP3709229A1 (en) * 2019-03-13 2020-09-16 Ricoh Company, Ltd. Learning device and learning method
US20210097449A1 (en) * 2020-12-11 2021-04-01 Intel Corporation Memory-efficient system for decision tree machine learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理***、处理器及任务处理方法
CN113449880A (zh) * 2021-08-30 2021-09-28 深圳致星科技有限公司 用于纵向联邦学习决策树模型的异构加速***及方法

Also Published As

Publication number Publication date
CN115017549A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN115017549B (zh) 隐私计算、隐私数据和联邦学习的决策树计算装置及***
Aldwairi et al. Pattern matching of signature-based IDS using Myers algorithm under MapReduce framework
US8910173B2 (en) Datacenter resource allocation
US8959138B2 (en) Distributed data scalable adaptive map-reduce framework
US20160140243A1 (en) Scoped search engine
US8572407B1 (en) GPU assist for storage systems
Ahmed et al. Heterogeneous hardware/software acceleration of the BWA-MEM DNA alignment algorithm
Zhang et al. A three-level sieve algorithm for the shortest vector problem
CN111461320A (zh) 用于从经修剪的神经网络中去除掩膜的技术
CN113449880B (zh) 用于纵向联邦学习决策树模型的异构加速***及方法
WO2017118335A1 (zh) 一种映射方法和设备
WO2022087788A1 (zh) 一种神经网络编译优化方法和相关装置
US10162830B2 (en) Systems and methods for dynamic partitioning in distributed environments
US20210365300A9 (en) Systems and methods for dynamic partitioning in distributed environments
Fang et al. SIFO: secure computational infrastructure using FPGA overlays
CN107004022B (zh) 数据分割和变换方法与装置
Zhang et al. Evaluating computational geometry libraries for big spatial data exploration
Salah et al. Android Static Malware Detection using tree-based machine learning approaches
Gupta et al. Map-based graph analysis on MapReduce
Vakili et al. Memory-efficient string matching for intrusion detection systems using a high-precision pattern grouping algorithm
Romero et al. Bolt: Fast inference for random forests
KR20240007582A (ko) Pim 장치 기반의 쿠쿠 해시 쿼리 방법, pim 장치 및 시스템
CN103761298A (zh) 一种基于分布式架构的实体匹配方法
CN109086815B (zh) 基于fpga的决策树模型中的浮点数离散化方法
US20180357546A1 (en) Optimizing tree-based convolutional neural networks

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