基本概念
下面介绍一些PaddleDTX的相关概念,帮助您初步认识系统,了解其基本运行机制,方便后续进一步阅读。
节点和网络
PaddleDTX中有五类节点:
- 计算需求节点(Requester)有训练模型和预测需求。
- 任务执行节点(Executor)拥有使用数据的权限,参与多方安全计算,进行模型训练和数据预测。
- 数据持有节点(DataOwner)是数据的归属方,有存储数据的需求。
- 存储节点(Storage Nodes)有丰富的闲置的存储资源,可以提供存储服务。
- 区块链节点 构成区块链网络(Blockchain Network),基于不同的区块链框架,他们有不同的定义。
计算需求节点、任务执行节点,以及数据持有节点组建了PaddleDTX的计算层。数据持有节点和存储节点组建了去中心化存储网络,负责数据的存取。区块链网络是去中心化治理和可信AI的基石。
智能合约
智能合约,是运行在区块链上,旨在以信息化方式传播、验证或执行合同的计算机协议 [9] 。PaddleDTX中的任务广播、节点的去中心化治理、副本保持证明机制都基于智能合约。
任务
任务,是您使用PaddleDTX时用到的最基本概念。
PaddleDTX中有两类任务:
- 训练任务以通过训练得到模型为目标;
- 预测任务以预测数据的目标值为目标。
任务由计算需求节点发布到区块链网络,由数据持有节点确认数据使用权,由任务执行节点最终执行。
算法
PaddleDTX中的算法,一般指的是经过分布式改造的机器学习算法,即联邦学习算法。
目前开源了纵向联邦学习算法,包括多元线性回归、多元逻辑回归和神经网络。
训练样本和预测数据集
PaddleDTX中的训练样本和预测数据集都是以文件的形式存储于中心化存储网络,在发布训练任务或者预测任务的时候,由计算需求节点指定。
模型
算法和训练样本确定模型。通过模型可以对预测数据集的标签值进行预测。PaddleDTX中的模型,以“分片”的形式存储在参与训练的任务执行节点的本地,在预测时,任务执行节点使用各自的模型进行计算,再汇总得到最终结果。
模型评估
PaddleDTX中的模型评估同样经过分布式改造。如果用户指定执行模型评估,并设置评估方式和参数,任务执行节点本地实例化评估器,评估器会划分训练样本、创建并运行训练任务、创建并运行预测任务,最后计算评估指标。任务执行节点各自持有部分训练集和验证集,在训练和预测过程中,任务执行节点之间会进行多轮复杂交互。
此外,PaddleDTX还支持动态模型评估。训练任务进行计算的过程中,可指定轮次触发模型评估,并获得当前轮次训练结束后的评估指标。训练过程中,可以获取每个阶段模型的评估结果,以此判断是否停止训练;当训练任务结束时,可获得一系列评估指标,展示训练效果变化趋势。