Is there an article that introduces the principles of your framework? In particular, how can GDBT be federated
bigdaronlee163 opened this issue · 6 comments
Hi @bigdaronlee163 ,
Thanks for your interest in our work! We are working on the draft of the system and we will upload it to this Github page once it is finished. For the federated GBDTs, there are some existing studies (ref1, ref2) for your reference.
Hi @QinbinLi, ref1 discusses the case of horizontal federated learning, and I could not open ref2. Is there an article or a doc that introduces the mechnism implemented in this repo for vertical federated learning? Thank you!
Hi @wxli0 ,
You may refer to here for a brief explanation on vertical FL. You may also refer to secureboost and its document, which has a similar design as ours.
@QinbinLi Thank you for your reply. To confirm my understanding, in secureboost, they stored the split features with the split point values at the parties holding the features. In your implementation (GBDT::predict_raw_vertical
in gbdt.cpp ), the split features and split point values are stored as global attributes and global variables (e.g. curNode.split_feature_id, get_val) that can be reached by all parties. Is this correct? Thank you!
@wxli0 Right. FedTree currently stores the global model and sends it to all parties.
Hi @bigdaronlee163 and @wxli0 ,
Please see here for the detailed algorithms of FedTree.