Skip to content
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

Proposal: adding a section in the documentation for privacy-preserving XGBoost #9598

Closed
bcm-at-zama opened this issue Sep 20, 2023 · 13 comments · Fixed by #9614
Closed

Proposal: adding a section in the documentation for privacy-preserving XGBoost #9598

bcm-at-zama opened this issue Sep 20, 2023 · 13 comments · Fixed by #9614

Comments

@bcm-at-zama
Copy link
Contributor

Hello XGBoost community, and congratulations for what you are building, it's awesome.

We at Zama are working on making a privacy-preserving ML open source library, providing the same kind of APIs than sklearn, torch, or... XGBoost, with the important difference that data are encrypted through the whole inference process, i.e., never decrypted. It's possible, thanks to so-called Fully Homomorphic Encryption. Our library is called Concrete ML.

Of course, we have an XGB implementation working over encrypted data, see eg this example. We have also deployed it in an Hugging Face Space.

The reason to make this issue was to ask you if we could add a link to our project in your documentation. Maybe over a new "Privacy Preserving Prediction", below the current Prediction, or some other place you would tell me? The goal is to increase the visibility of the library, and encourage more users to go for privacy-preserving solutions, which is a must for some sensible data.

If you're good with it, I can prepare some PR. Thank you.

@trivialfis
Copy link
Member

cc @rongou

@rongou
Copy link
Contributor

rongou commented Sep 20, 2023

I think so far the documentation is mostly about features in XGBoost itself. There are tons of external integration points that we can't possibly cover. That being said, I'm ok with adding a pointer to your work, something along the line of "for privacy preserving prediction, see Concrete ML". Probably shouldn't add a complete example, as it could quickly go out of date.

We are also looking at FHE for federated learning, especially with GPU acceleration (see blog post).

@bcm-at-zama
Copy link
Contributor Author

Great, thanks a lot. So, should I make a PR (you would tell me where to add the few new lines) or I let you take care of everything? I think the links https://github.com/zama-ai/concrete-ml/blob/main/docs/advanced_examples/XGBClassifier.ipynb and https://github.com/zama-ai/concrete-ml/blob/main/docs/advanced_examples/XGBRegressor.ipynb will be permanent, or you have https://docs.zama.ai/concrete-ml/built-in-models/tree.

Anyway: thanks a lot for consideration and quick answer, I'm always amazed by open-source community

@rongou
Copy link
Contributor

rongou commented Sep 20, 2023

A PR would work. Do you have some kind of landing page to provide a high level overview?

@bcm-at-zama
Copy link
Contributor Author

Sure, let me prepare a PR. Which file to you want me to modify / where should I add the links, please?

For the landing page, I was thinking about:

@rongou
Copy link
Contributor

rongou commented Sep 21, 2023

Probably this file: https://github.com/dmlc/xgboost/blob/master/doc/prediction.rst

The docs page should be good.

@trivialfis
Copy link
Member

Let's add the document to the doc/tutorials/ instead. ;-)

bcm-at-zama added a commit to bcm-at-zama/xgboost that referenced this issue Sep 22, 2023
bcm-at-zama added a commit to bcm-at-zama/xgboost that referenced this issue Sep 22, 2023
bcm-at-zama added a commit to bcm-at-zama/xgboost that referenced this issue Sep 22, 2023
bcm-at-zama added a commit to bcm-at-zama/xgboost that referenced this issue Sep 22, 2023
@bcm-at-zama
Copy link
Contributor Author

Hello @rongou. Yes, done in #9604, thanks.

@bcm-at-zama
Copy link
Contributor Author

Regarding your other proposal @trivialfis, if you propose us to have a Concrete ML example in doc/tutorials/ and @rongou is fine with it, of course, we will! Tell us, thank you

@trivialfis
Copy link
Member

I thought you wanted to add a full tutorial for using it. But if that's a brief introduction with links to your repository for more info, then the current PR is fine.

bcm-at-zama added a commit to bcm-at-zama/xgboost that referenced this issue Sep 25, 2023
@bcm-at-zama
Copy link
Contributor Author

@trivialfis : actually, it's also an excellent suggestion, and my colleague https://github.com/jfrery told me he volunteered to do such a tutorial. It will come, in another PR than #9604

@trivialfis
Copy link
Member

Hi, both PRs are now merged, thank you for the nice work! Is there anything else XGBoost needs to do?

jfrery added a commit to jfrery/xgboost that referenced this issue Sep 28, 2023
jfrery added a commit to jfrery/xgboost that referenced this issue Sep 28, 2023
jfrery added a commit to jfrery/xgboost that referenced this issue Sep 28, 2023
@bcm-at-zama
Copy link
Contributor Author

Hello @trivialfis . Yes, we'll close this issue with #9614. We just missed to add the new tutorial in the index. Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants