Skip to content

HeteroLR介绍

zazd edited this page Feb 20, 2020 · 1 revision

HeteroLR 在线推理

HeteroLR为纵向联邦逻辑回归在线推理的实现过程,与离线不同的是,目前serving只支持单个host的预测。
它主要包含3个文件"HeteroLRBoost", "HeteroLRGuest", "HeteroLRHost",下面对这三个文件展开说明

HeteroLR

HeteroLR是HeteroLRGuest和HeteroLRHost的模型基类,该基类提供了模型的初始化、模型评分等功能。

  1. HeteroLR继承自BaseModel类,BaseModel类为所有模型的基类,所有算法模型必须继承该类和实现相关接口,用于统一的调度。
  2. 模型初始化: InitModel函数,功能是对输入的Meta和Param两个序列化的模型文件进行反序列话,同时,初始化相关的类属性,初始化的内容包括: a. weight: LR模型的权值 b. intercept: LR模型的偏置
  3. 功能函数说明: a. forward: 计算score = weight * value + intercept, 若是host方,则intercept为0

HeteroLRGuest and HeteroLRHost

HeteroLRGuest 和 HeteroLRHost是 party guest和host对应的实现代码,其中party guest收到请求后,会执行推理过程,与此同时,需要与host也一起进行推理,下面给出具体说明。

  1. 系统针对请求的id,同时给guest和host发起推理请求
  2. Host接收到推理指令后,执行forward函数的前向计算流程,并将结果返回,由系统调度给guest
  3. Guest接收到推理指令后,执行forward函数的前向计算流程,并且获取host的计算结果,组合一起,并计算sigmod得到最终评分,完成完整的推理流程