π Github | π Documentation | π Community support | π FHE resources by Zama
MNIST digit classification with a CNN with Concrete ML
In this repository, we classify MNIST digits, without seing digits! Indeed, digits are sent encrypted to the HF endpoints, and are classified (with a small torch CNN model) without the server seeing the digits in the clear, thanks to fully homomorphic encryption (FHE). This is done thanks to Zama's Concrete ML.
Concrete ML is Zama's open-source privacy-preserving ML package, FHE. We refer the reader to fhe.org or Zama's websites for more information on FHE.
Deploying a compiled model on HF inference endpoint
If you would like to deploy, it is very easy.
- click on 'Deploy' button in HF interface
- chose "Inference endpoints"
- chose the right model repository
- (the rest of the options are classical to HF end points; we refer you to their documentation for more information) and then click on 'Create endpoint'
And now, your model should be deployed, after few secunds of installation.
Using HF entry points on privacy-preserving models
Now, this is the final step: using the entry point. You should:
- if your inference endpoint is private, set an environment variable HF_TOKEN with your HF token
- edit
play_with_endpoint.py
- replace
API_URL
by your entry point URL
Finally, you'll be able to launch your application with python play_with_endpoint.py
.