-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2.4] Add xgboost histogram_based_v2 #2382
[2.4] Add xgboost histogram_based_v2 #2382
Conversation
cc44f7a
to
bb38275
Compare
any unit tests ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove all secure-related changes. Even if secure may be needed in the future (very unlikely), the way you did may not be the best way.
nvflare/app_opt/xgboost/histogram_based_v2/adaptors/grpc_client_adaptor.py
Outdated
Show resolved
Hide resolved
nvflare/app_opt/xgboost/histogram_based_v2/adaptors/grpc_client_adaptor.py
Outdated
Show resolved
Hide resolved
nvflare/app_opt/xgboost/histogram_based_v2/adaptors/grpc_server_adaptor.py
Outdated
Show resolved
Hide resolved
nvflare/app_opt/xgboost/histogram_based_v2/runners/client_runner.py
Outdated
Show resolved
Hide resolved
nvflare/app_opt/xgboost/histogram_based_v2/runners/server_runner.py
Outdated
Show resolved
Hide resolved
282cc6a
to
83e785b
Compare
83e785b
to
632c4b8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
/build |
Will add unit test / integration tests / example in the next PR |
Description
Examples will come in another PR.
Conceptually, we use the following paradigm:
Detailed Implementation
The open-source Federated XGBoost (c++) uses gRPC as the communication protocol.
To use FLARE as the communicator, we simply route XGB’s gRPC messages through FLARE.
To do so, we change the server endpoint of each XGB client to a local gRPC server (LGS) within the FLARE client.
Similarly, there is a local GRPC Client (LGC) on the FL Server that interacts with the XGB Server.
As illustrated below:
The message path between the XGB Client and the XGB Server is as follows:
Code structure explanation
We introduce the following classes:
Types of changes
./runtest.sh
.