From 85cb962649c7c4c649acee4fc98530c874391aa4 Mon Sep 17 00:00:00 2001 From: yuxizama <157474013+yuxizama@users.noreply.github.com> Date: Thu, 14 Mar 2024 15:04:37 +0100 Subject: [PATCH] docs: new structure and landing page --- .gitattributes | 2 +- .github/workflows/continuous-integration.yaml | 2 +- .github/workflows/release.yaml | 2 +- .gitignore | 2 +- Makefile | 10 +- README.md | 6 +- docs/.gitbook/assets/3.png | Bin 386524 -> 0 bytes docs/.gitbook/assets/demo_credit.png | Bin 14040 -> 0 bytes docs/.gitbook/assets/demo_filtering.png | Bin 83768 -> 0 bytes docs/.gitbook/assets/demo_gpt2.png | Bin 7743 -> 0 bytes docs/.gitbook/assets/demo_health.png | Bin 21376 -> 0 bytes docs/.gitbook/assets/demo_mnist.png | Bin 16799 -> 0 bytes docs/.gitbook/assets/demo_nn_finetuning.png | Bin 64752 -> 0 bytes docs/.gitbook/assets/demo_nn_splitting.png | Bin 22751 -> 0 bytes docs/.gitbook/assets/demo_sentiment.png | Bin 38446 -> 0 bytes docs/.gitbook/assets/demo_titanic.png | Bin 27908 -> 0 bytes docs/.gitbook/assets/doc_header_CML.png | Bin 0 -> 67105 bytes docs/.gitbook/assets/fundamentals.jpg | Bin 0 -> 14497 bytes docs/.gitbook/assets/getstarted1.jpg | Bin 0 -> 15273 bytes docs/.gitbook/assets/getstarted2.jpg | Bin 0 -> 10260 bytes docs/.gitbook/assets/getstarted3.jpg | Bin 0 -> 17309 bytes docs/.gitbook/assets/guides.jpg | Bin 0 -> 13164 bytes docs/.gitbook/assets/tutorials.jpg | Bin 0 -> 11316 bytes docs/README.md | 132 +++--------- docs/SUMMARY.md | 201 +++++++++--------- docs/built-in-models/linear.md | 39 ++-- docs/built-in-models/nearest-neighbors.md | 8 +- docs/built-in-models/neural-networks.md | 22 +- docs/built-in-models/training.md | 14 +- docs/built-in-models/tree.md | 33 ++- docs/conf.py | 5 +- docs/deep-learning/examples.md | 23 -- docs/deep-learning/fhe_assistant.md | 18 +- docs/deep-learning/fhe_friendly_models.md | 14 +- docs/deep-learning/optimizing_inference.md | 17 +- docs/deep-learning/torch_support.md | 53 ++--- docs/developer-guide/inner-workings/README.md | 1 - docs/developer-guide/workflow/README.md | 1 - .../contributing.md | 0 .../debug_support_submit_issues.md | 0 .../docker_setup.md | 0 .../documenting.md | 0 .../project_setup.md | 18 +- .../advanced_features.md | 6 +- .../compilation.md | 13 +- docs/explanations/inner-workings/README.md | 3 + .../inner-workings}/external_libraries.md | 14 +- .../inner-workings}/fhe-op-graphs.md | 18 +- .../inner-workings}/onnx_pipeline.md | 8 +- .../inner-workings}/quantization_internal.md | 8 +- .../pruning.md | 2 +- .../quantization.md | 2 +- docs/getting-started/README.md | 114 ++++++++++ docs/getting-started/cloud.md | 4 +- docs/getting-started/concepts.md | 16 +- docs/getting-started/showcase.md | 129 ----------- .../client_server.md | 0 .../hybrid-models.md | 24 +-- .../prediction_with_fhe.md | 0 .../serialization.md | 0 docs/index.toc.txt | 66 +++--- .../api/README.md | 0 .../api/concrete.ml.common.check_inputs.md | 0 ...crete.ml.common.debugging.custom_assert.md | 0 .../api/concrete.ml.common.debugging.md | 0 .../api/concrete.ml.common.md | 0 ...oncrete.ml.common.serialization.decoder.md | 0 ...oncrete.ml.common.serialization.dumpers.md | 0 ...oncrete.ml.common.serialization.encoder.md | 0 ...oncrete.ml.common.serialization.loaders.md | 0 .../api/concrete.ml.common.serialization.md | 0 .../api/concrete.ml.common.utils.md | 0 .../concrete.ml.deployment.deploy_to_aws.md | 0 ...concrete.ml.deployment.deploy_to_docker.md | 0 ...oncrete.ml.deployment.fhe_client_server.md | 0 .../api/concrete.ml.deployment.md | 0 .../api/concrete.ml.deployment.server.md | 0 .../api/concrete.ml.deployment.utils.md | 0 .../api/concrete.ml.onnx.convert.md | 0 .../api/concrete.ml.onnx.md | 0 .../api/concrete.ml.onnx.onnx_impl_utils.md | 0 ...ncrete.ml.onnx.onnx_model_manipulations.md | 0 .../api/concrete.ml.onnx.onnx_utils.md | 0 .../api/concrete.ml.onnx.ops_impl.md | 0 .../api/concrete.ml.pytest.md | 0 .../api/concrete.ml.pytest.torch_models.md | 0 .../api/concrete.ml.pytest.utils.md | 0 ...crete.ml.quantization.base_quantized_op.md | 0 .../api/concrete.ml.quantization.md | 0 .../concrete.ml.quantization.post_training.md | 0 ...ncrete.ml.quantization.quantized_module.md | 0 ...ml.quantization.quantized_module_passes.md | 0 .../concrete.ml.quantization.quantized_ops.md | 0 .../concrete.ml.quantization.quantizers.md | 0 .../api/concrete.ml.search_parameters.md | 0 ...ete.ml.search_parameters.p_error_search.md | 0 .../api/concrete.ml.sklearn.base.md | 0 .../api/concrete.ml.sklearn.glm.md | 0 .../api/concrete.ml.sklearn.linear_model.md | 0 .../api/concrete.ml.sklearn.md | 0 .../api/concrete.ml.sklearn.neighbors.md | 0 .../api/concrete.ml.sklearn.qnn.md | 0 .../api/concrete.ml.sklearn.qnn_module.md | 0 .../api/concrete.ml.sklearn.rf.md | 0 .../api/concrete.ml.sklearn.svm.md | 0 .../api/concrete.ml.sklearn.tree.md | 0 .../api/concrete.ml.sklearn.tree_to_numpy.md | 0 .../api/concrete.ml.sklearn.xgb.md | 0 .../api/concrete.ml.torch.compile.md | 0 .../api/concrete.ml.torch.hybrid_model.md | 0 .../api/concrete.ml.torch.md | 0 .../api/concrete.ml.torch.numpy_module.md | 0 .../api/concrete.ml.version.md | 0 docs/tutorials/dl_examples.md | 23 ++ .../ml_examples.md | 28 +-- docs/tutorials/showcase.md | 43 ++++ script/doc_utils/check_apidocs.sh | 12 +- script/doc_utils/check_forbidden_words.py | 2 +- script/doc_utils/fix_api_readme_reference.py | 68 ++++++ script/doc_utils/fix_gitbook_table.py | 101 --------- ..._to_html_conversion_from_sphinx_in_href.py | 68 ++++++ .../update_apidocs_files_in_SUMMARY.sh | 2 +- .../make_utils/check_double_dollars_in_doc.sh | 4 +- script/make_utils/fix_api_readme_reference.sh | 10 + ..._to_html_conversion_from_sphinx_in_href.sh | 10 + .../README.md | 2 +- .../breast_cancer_builtin/README.md | 2 +- .../deployment/cifar_8_bit/README.md | 2 +- .../deployment/sentiment_analysis/README.md | 2 +- 129 files changed, 709 insertions(+), 720 deletions(-) delete mode 100644 docs/.gitbook/assets/3.png delete mode 100644 docs/.gitbook/assets/demo_credit.png delete mode 100644 docs/.gitbook/assets/demo_filtering.png delete mode 100644 docs/.gitbook/assets/demo_gpt2.png delete mode 100644 docs/.gitbook/assets/demo_health.png delete mode 100644 docs/.gitbook/assets/demo_mnist.png delete mode 100644 docs/.gitbook/assets/demo_nn_finetuning.png delete mode 100644 docs/.gitbook/assets/demo_nn_splitting.png delete mode 100644 docs/.gitbook/assets/demo_sentiment.png delete mode 100644 docs/.gitbook/assets/demo_titanic.png create mode 100644 docs/.gitbook/assets/doc_header_CML.png create mode 100644 docs/.gitbook/assets/fundamentals.jpg create mode 100644 docs/.gitbook/assets/getstarted1.jpg create mode 100644 docs/.gitbook/assets/getstarted2.jpg create mode 100644 docs/.gitbook/assets/getstarted3.jpg create mode 100644 docs/.gitbook/assets/guides.jpg create mode 100644 docs/.gitbook/assets/tutorials.jpg delete mode 100644 docs/deep-learning/examples.md delete mode 100644 docs/developer-guide/inner-workings/README.md delete mode 100644 docs/developer-guide/workflow/README.md rename docs/{developer-guide => developer}/contributing.md (100%) rename docs/{developer-guide => developer}/debug_support_submit_issues.md (100%) rename docs/{developer-guide => developer}/docker_setup.md (100%) rename docs/{developer-guide => developer}/documenting.md (100%) rename docs/{developer-guide => developer}/project_setup.md (98%) rename docs/{advanced-topics => explanations}/advanced_features.md (99%) rename docs/{advanced-topics => explanations}/compilation.md (91%) create mode 100644 docs/explanations/inner-workings/README.md rename docs/{developer-guide => explanations/inner-workings}/external_libraries.md (85%) rename docs/{developer-guide => explanations/inner-workings}/fhe-op-graphs.md (97%) rename docs/{developer-guide => explanations/inner-workings}/onnx_pipeline.md (79%) rename docs/{developer-guide => explanations/inner-workings}/quantization_internal.md (93%) rename docs/{advanced-topics => explanations}/pruning.md (97%) rename docs/{advanced-topics => explanations}/quantization.md (98%) create mode 100644 docs/getting-started/README.md delete mode 100644 docs/getting-started/showcase.md rename docs/{advanced-topics => guides}/client_server.md (100%) rename docs/{advanced-topics => guides}/hybrid-models.md (70%) rename docs/{advanced-topics => guides}/prediction_with_fhe.md (100%) rename docs/{advanced-topics => guides}/serialization.md (100%) rename docs/{developer-guide => references}/api/README.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.check_inputs.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.debugging.custom_assert.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.debugging.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.serialization.decoder.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.serialization.dumpers.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.serialization.encoder.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.serialization.loaders.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.serialization.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.common.utils.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.deployment.deploy_to_aws.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.deployment.deploy_to_docker.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.deployment.fhe_client_server.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.deployment.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.deployment.server.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.deployment.utils.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.onnx.convert.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.onnx.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.onnx.onnx_impl_utils.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.onnx.onnx_model_manipulations.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.onnx.onnx_utils.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.onnx.ops_impl.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.pytest.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.pytest.torch_models.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.pytest.utils.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.base_quantized_op.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.post_training.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.quantized_module.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.quantized_module_passes.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.quantized_ops.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.quantization.quantizers.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.search_parameters.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.search_parameters.p_error_search.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.base.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.glm.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.linear_model.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.neighbors.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.qnn.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.qnn_module.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.rf.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.svm.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.tree.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.tree_to_numpy.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.sklearn.xgb.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.torch.compile.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.torch.hybrid_model.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.torch.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.torch.numpy_module.md (100%) rename docs/{developer-guide => references}/api/concrete.ml.version.md (100%) create mode 100644 docs/tutorials/dl_examples.md rename docs/{built-in-models => tutorials}/ml_examples.md (60%) create mode 100644 docs/tutorials/showcase.md create mode 100644 script/doc_utils/fix_api_readme_reference.py delete mode 100644 script/doc_utils/fix_gitbook_table.py create mode 100644 script/doc_utils/fix_md_to_html_conversion_from_sphinx_in_href.py create mode 100755 script/make_utils/fix_api_readme_reference.sh create mode 100755 script/make_utils/fix_md_to_html_conversion_from_sphinx_in_href.sh diff --git a/.gitattributes b/.gitattributes index 4f1f0a3d7..f7d6f7e97 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,5 +5,5 @@ docs/advanced_examples/data/** filter=lfs diff=lfs merge=lfs -text *.tar filter=lfs diff=lfs merge=lfs -text *.pt filter=lfs diff=lfs merge=lfs -text use_case_examples/cifar_10_with_model_splitting/mlir.txt filter=lfs diff=lfs merge=lfs -text -docs/developer-guide/api/** binary +docs/references/api/** binary use_case_examples/credit_scoring/hmeq.csv filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/continuous-integration.yaml b/.github/workflows/continuous-integration.yaml index 12e7f1200..5154d45d2 100644 --- a/.github/workflows/continuous-integration.yaml +++ b/.github/workflows/continuous-integration.yaml @@ -520,7 +520,7 @@ jobs: - '!.*/**' - '!docs/_*/**' - '!docs/SUMMARY.md' - - '!docs/developer-guide/api/**.md' + - '!docs/references/api/**.md' dependencies: - deps_licenses/licenses_linux_user.txt.md5 conftest: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 17ccecda5..9bbb94d3e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -16,7 +16,7 @@ on: - 'release/*' paths: - src/concrete/ml/version.py - - 'docs/developer-guide/api/**' + - 'docs/references/api/**' # We need to make sure that the concurrency group is not identical to the continuous-integration.yaml # one, else the release workflow will be canceled when calling that latter for tests. More diff --git a/.gitignore b/.gitignore index 344ae88f5..fb4a4b5c7 100644 --- a/.gitignore +++ b/.gitignore @@ -78,7 +78,7 @@ docs/_build/ docs-copy/ # GitBook -docs/developer-guide/api/.pages +docs/references/api/.pages # PyBuilder target/ diff --git a/Makefile b/Makefile index 6ba647198..1d5f4dfb5 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ COUNT?=1 RANDOMLY_SEED?=$$RANDOM PYTEST_OPTIONS:= POETRY_VERSION:=1.7.1 -APIDOCS_OUTPUT?="./docs/developer-guide/api" +APIDOCS_OUTPUT?="./docs/references/api" OPEN_PR="true" # Force the installation of a Concrete Python version, which is very useful with nightly versions @@ -425,10 +425,12 @@ docs_no_links: clean_docs check_docs_dollars ! grep -r "hint style" docs-copy @# Replace $$, $/$ and /$$ by $ ./script/make_utils/fix_double_dollars_issues_with_mdformat.sh docs-copy --single_dollar + @# Replace `href="*.md` patterns with `href="*.html` because Sphinx does not handle them + ./script/make_utils/fix_md_to_html_conversion_from_sphinx_in_href.sh docs-copy + @# Replace `references/api/README.md` with `_apidoc/modules.html`. + ./script/make_utils/fix_api_readme_reference.sh docs-copy @# Fix not-compatible paths ./script/make_utils/fix_gitbook_paths.sh docs-copy - @# Fixing cardboard - poetry run python script/doc_utils/fix_gitbook_table.py --files docs-copy/getting-started/showcase.md @# Docs cd docs-copy && poetry run "$(MAKE)" html SPHINXOPTS='-W --keep-going' @# Copy images from GitBook @@ -669,7 +671,7 @@ mdformat: # Remark we need to remove .md's in venv check_mdformat: "$(MAKE)" mdformat - find docs -name "*.md" | grep -v docs/developer-guide/tmp.api_for_check | xargs git diff --quiet + find docs -name "*.md" | grep -v docs/references/tmp.api_for_check | xargs git diff --quiet .PHONY: benchmark # Perform benchmarks benchmark: diff --git a/README.md b/README.md index 59b5cdbb1..cae47fcfd 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Concrete ML is designed with ease of use in mind. Data scientists can use models - **Built-in models**: Ready-to-use FHE-friendly models with a user interface that is equivalent to their the scikit-learn and XGBoost counterparts - **Customs models**: Concrete ML supports models that can use quantization-aware training. These are developed by the user using PyTorch or keras/tensorflow and are imported into Concrete ML through ONNX -*Learn more about Concrete ML features in the [documentation](https://docs.zama.ai/concrete-ml/readme).* +*Learn more about Concrete ML features in the [documentation](https://docs.zama.ai/concrete-ml).*

### Use cases @@ -211,7 +211,7 @@ Concrete ML built-in models have APIs that are almost identical to their scikit- - [\[Video tutorial\] How To Convert a Scikit-learn Model Into Its Homomorphic Equivalent](https://www.zama.ai/post/how-to-convert-a-scikit-learn-model-into-its-homomorphic-equivalent) - [Linear Regression Over Encrypted Data With Homomorphic Encryption](https://www.zama.ai/post/linear-regression-using-linear-svr-and-concrete-ml-homomorphic-encryption) - [How to Deploy a Machine Learning Model With Concrete ML](https://www.zama.ai/post/how-to-deploy-machine-learning-models-with-concrete-ml) -- More [Built-in models tutorials](docs/built-in-models/ml_examples.md) and [Deep learning tutorials](docs/deep-learning/examples.md) +- More [Built-in models tutorials](docs/tutorials/ml_examples.md) and [Deep learning tutorials](docs/tutorials/dl_examples.md) *Explore more useful resources in [Awesome Zama repo](https://github.com/zama-ai/awesome-zama)*

@@ -241,7 +241,7 @@ To cite Concrete ML in academic papers, please use the following entry: ### Contributing -To contribute to Concrete ML, please refer to [this section of the documentation](docs/developer-guide/contributing.md). +To contribute to Concrete ML, please refer to [this section of the documentation](docs/developer/contributing.md).

### License diff --git a/docs/.gitbook/assets/3.png b/docs/.gitbook/assets/3.png deleted file mode 100644 index bd13f146460dd3096ed0021391be3e4790c18bef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386524 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�-F4TNs9aJ><$_qg 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

+ha7st5Zqv?K>+_Ov? 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

pCu4rd>cq&Q#k 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 b2MzxZFx!~qU0MY_00000NkvXXu0mjfxrsXn diff --git a/docs/.gitbook/assets/demo_mnist.png b/docs/.gitbook/assets/demo_mnist.png deleted file mode 100644 index 602101b4b6a6c5146e8269b4309ce145ce6d7bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16799 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 vE=Df(|GxbHwP1iMA(7Vpmm&XSn; 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 J%Q~loCIA>*AWHxM diff --git a/docs/.gitbook/assets/demo_sentiment.png b/docs/.gitbook/assets/demo_sentiment.png deleted file mode 100644 index fc4c8dd48007ee8f9fd6d5bdf20789475a10dcd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38446 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 n2Km1%u>Uj2(f>xs|2+}%nU2YLJ?5` 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 literal 0 HcmV?d00001 diff --git a/docs/.gitbook/assets/fundamentals.jpg b/docs/.gitbook/assets/fundamentals.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94fba49fc2b7a5db219391e42e253729ccd314d7 GIT binary patch literal 14497 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 literal 0 HcmV?d00001 diff --git a/docs/.gitbook/assets/getstarted1.jpg b/docs/.gitbook/assets/getstarted1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d9254e0c61c977c92b8bdbb0a9667f3ae1a49fa GIT binary patch literal 15273 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 literal 0 HcmV?d00001 diff --git a/docs/.gitbook/assets/getstarted2.jpg b/docs/.gitbook/assets/getstarted2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be44c0a04840ddd1e2837217704ba30d17fcebc8 GIT binary patch literal 10260 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 H9CG(x@0hxT literal 0 HcmV?d00001 diff --git a/docs/.gitbook/assets/getstarted3.jpg b/docs/.gitbook/assets/getstarted3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb85f9c831876c425308e6e2ce42a962b590d209 GIT binary patch literal 17309 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 + Concrete ML is an open-source, privacy-preserving, machine learning framework + based on Fully Homomorphic Encryption (FHE). +--- -[⭐️ Star the repo on Github](https://github.com/zama-ai/concrete-ml) | [🗣 Community support forum](https://community.zama.ai/c/concrete-ml/8) | [📁 Contribute to the project](developer-guide/contributing.md) +# Welcome -![](.gitbook/assets/3.png) +## Start here -Concrete ML is an open source, privacy-preserving, machine learning framework based on Fully Homomorphic Encryption (FHE). It enables data scientists without any prior knowledge of cryptography to automatically turn machine learning models into their FHE equivalent, using familiar APIs from scikit-learn and PyTorch (see how it looks for [linear models](built-in-models/linear.md), [tree-based models](built-in-models/tree.md), and [neural networks](built-in-models/neural-networks.md)). Concrete ML supports converting models for inference with FHE but can also [train some models](built-in-models/training.md) on encrypted data. +Learn the basics of Concrete ML, set it up, and make it run with ease. -Fully Homomorphic Encryption is an encryption technique that allows computing directly on encrypted data, without needing to decrypt it. With FHE, you can build private-by-design applications without compromising on features. You can learn more about FHE in [this introduction](https://www.zama.ai/post/tfhe-deep-dive-part-1) or by joining the [FHE.org](https://fhe.org) community. +
What is Concrete MLgetstarted1.jpggetting-started
Installationgetstarted2.jpgpip_installing.md
Key conceptsgetstarted3.jpgconcepts.md
-Training on encrypted data provides the highest level of privacy but is slower than training on clear data. Federated learning is an alternative approach, where data privacy can be ensured by using a trusted gradient aggregator, coupled with optional _differential privacy_ instead of encryption. Concrete ML -can import linear models, including logistic regression, that are trained using federated learning using the [`from_sklearn` function](./built-in-models/linear.md#pre-trained-models). +## Build with Concrete ML -## Example usage +Start building with Concrete ML by exploring its core features, discovering essential guides, and learning more with user-friendly tutorials. -Here is a simple example of classification on encrypted data using logistic regression. More examples can be found [here](built-in-models/ml_examples.md). +
FundamentalsExplore core features and basics of Concrete ML.fundamentals.jpg
GuidesDiscover essential guides to work with Concrete ML.guides.jpg
TutorialsLearn more about Concrete ML with our tutorials.tutorials.jpg
-```python -from sklearn.datasets import make_classification -from sklearn.model_selection import train_test_split -from concrete.ml.sklearn import LogisticRegression +## References & Explanations -# Lets create a synthetic data-set -x, y = make_classification(n_samples=100, class_sep=2, n_features=30, random_state=42) +Refer to the API, review product architecture, and access additional resources for in-depth explanations while working with Concrete ML. -# Split the data-set into a train and test set -X_train, X_test, y_train, y_test = train_test_split( - x, y, test_size=0.2, random_state=42 -) +- [API](references/api/README.md) +- [Quantization](explanations/quantization.md) +- [Pruning](explanations/pruning.md) +- [Compilation](explanations/compilation.md) +- [Advanced features](explanations/advanced_features.md) +- [Project architecture](explanations/inner-workings/) -# Now we train in the clear and quantize the weights -model = LogisticRegression(n_bits=8) -model.fit(X_train, y_train) +## Supports -# We can simulate the predictions in the clear -y_pred_clear = model.predict(X_test) +Ask technical questions and discuss with the community. Our team of experts usually answers within 24 hours in working days. -# We then compile on a representative set -model.compile(X_train) +- [Community forum](https://community.zama.ai/) +- [Discord channel](https://discord.fhe.org/) -# Finally we run the inference on encrypted inputs -y_pred_fhe = model.predict(X_test, fhe="execute") +## Developers -print(f"In clear : {y_pred_clear}") -print(f"In FHE : {y_pred_fhe}") -print(f"Similarity: {(y_pred_fhe == y_pred_clear).mean():.1%}") +Collaborate with us to advance the FHE spaces and drive innovation together. -# Output: - # In clear : [0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0] - # In FHE : [0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0] - # Similarity: 100.0% -``` - -It is also possible to call encryption, model prediction, and decryption functions separately as follows. -Executing these steps separately is equivalent to calling `predict_proba` on the model instance. - - - -```python -# Predict probability for a single example -y_proba_fhe = model.predict_proba(X_test[[0]], fhe="execute") - -# Quantize an original float input -q_input = model.quantize_input(X_test[[0]]) - -# Encrypt the input -q_input_enc = model.fhe_circuit.encrypt(q_input) - -# Execute the linear product in FHE -q_y_enc = model.fhe_circuit.run(q_input_enc) - -# Decrypt the result (integer) -q_y = model.fhe_circuit.decrypt(q_y_enc) - -# De-quantize and post-process the result -y0 = model.post_processing(model.dequantize_output(q_y)) - -print("Probability with `predict_proba`: ", y_proba_fhe) -print("Probability with encrypt/run/decrypt calls: ", y0) -``` - -This example shows the typical flow of a Concrete ML model: - -- The model is trained on unencrypted (plaintext) data using scikit-learn. As FHE operates over integers, Concrete ML quantizes the model to use only integers during inference. -- The quantized model is compiled to an FHE equivalent. Under the hood, the model is first converted to a Concrete Python program, then compiled. -- Inference can then be done on encrypted data. The above example shows encrypted inference in the model-development phase. Alternatively, during [deployment](getting-started/cloud.md) in a client/server setting, the data is encrypted by the client, processed securely by the server, and then decrypted by the client. - -## Current limitations - -To make a model work with FHE, the only constraint is to make it run within the supported precision limitations of Concrete ML (currently 16-bit integers). Thus, machine learning models must be quantized, which sometimes leads to a loss of accuracy versus the original model, which operates on plaintext. - -Additionally, Concrete ML currently only supports training on encrypted data for some models, while it supports _inference_ for a large variety of models. - -Finally, there is currently no support for pre-processing model inputs and post-processing model outputs. These processing stages may involve text-to-numerical feature transformation, dimensionality reduction, KNN or clustering, featurization, normalization, and the mixing of results of ensemble models. - -These issues are currently being addressed, and significant improvements are expected to be released in the near future. - -## Concrete stack - -Concrete ML is built on top of Zama's [Concrete](https://github.com/zama-ai/concrete). - -## Online demos and tutorials - -Various tutorials are available for [built-in models](built-in-models/ml_examples.md) and [deep learning](deep-learning/examples.md). Several stand-alone demos for use cases can be found in the [Demos and Tutorials](getting-started/showcase.md) section. - -If you have built awesome projects using Concrete ML, feel free to let us know and we'll link to your work! - -## Additional resources - -- [Dedicated Concrete ML community support](https://community.zama.ai/c/concrete-ml/8) -- [Zama's blog](https://www.zama.ai/blog) -- [FHE.org community](https://fhe.org) - -## Support - -- Support forum: [https://community.zama.ai](https://community.zama.ai) (we answer in less than 24 hours). -- Live discussion on the FHE.org Discord server: [https://discord.fhe.org](https://discord.fhe.org) (inside the #**concrete** channel). -- Do you have a question about Zama? Write us on [Twitter](https://twitter.com/zama_fhe) or send us an email at: **hello@zama.ai** +- [Contribute to Concrete ML](developer/contributing.md) +- [Check the latest release note](https://github.com/zama-ai/concrete-ml/releases) +- [Request a feature](https://github.com/zama-ai/concrete-ml/issues/new?assignees=&labels=feature&projects=&template=feature_request.md) +- [Report a bug](https://github.com/zama-ai/concrete-ml/issues/new?assignees=&labels=bug&projects=&template=bug_report.md) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 17565d8ed..207a67d26 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,111 +1,118 @@ -# Table of Contents +# Table of contents -- [What is Concrete ML?](README.md) +- [Welcome](README.md) ## Getting Started +- [What is Concrete ML?](getting-started/README.md) - [Installation](getting-started/pip_installing.md) -- [Key Concepts](getting-started/concepts.md) -- [Inference in the Cloud](getting-started/cloud.md) -- [Demos and Tutorials](getting-started/showcase.md) +- [Key concepts](getting-started/concepts.md) +- [Inference in the cloud](getting-started/cloud.md) ## Built-in Models -- [Linear Models](built-in-models/linear.md) -- [Tree-based Models](built-in-models/tree.md) -- [Neural Networks](built-in-models/neural-networks.md) -- [Nearest Neighbors](built-in-models/nearest-neighbors.md) +- [Linear models](built-in-models/linear.md) +- [Tree-based models](built-in-models/tree.md) +- [Neural networks](built-in-models/neural-networks.md) +- [Nearest neighbors](built-in-models/nearest-neighbors.md) - [Pandas](built-in-models/pandas.md) -- [Encrypted Training](built-in-models/training.md) -- [Built-in Model Examples](built-in-models/ml_examples.md) +- [Encrypted training](built-in-models/training.md) ## Deep Learning - [Using Torch](deep-learning/torch_support.md) - [Using ONNX](deep-learning/onnx_support.md) -- [Step-by-step Guide](deep-learning/fhe_friendly_models.md) -- [Deep Learning Examples](deep-learning/examples.md) -- [Debugging Models](deep-learning/fhe_assistant.md) -- [Optimizing Inference](deep-learning/optimizing_inference.md) - -## Deployment - -- [Prediction with FHE](advanced-topics/prediction_with_fhe.md) -- [Hybrid models](advanced-topics/hybrid-models.md) -- [Production Deployment](advanced-topics/client_server.md) -- [Serialization](advanced-topics/serialization.md) - -## Advanced topics - -- [Quantization](advanced-topics/quantization.md) -- [Pruning](advanced-topics/pruning.md) -- [Compilation](advanced-topics/compilation.md) -- [Advanced Features](advanced-topics/advanced_features.md) - -## Developer Guide - -- [Workflow](developer-guide/workflow/README.md) - - [Set Up the Project](developer-guide/project_setup.md) - - [Set Up Docker](developer-guide/docker_setup.md) - - [Documentation](developer-guide/documenting.md) - - [Support and Issues](developer-guide/debug_support_submit_issues.md) - - [Contributing](developer-guide/contributing.md) -- [Inner Workings](developer-guide/inner-workings/README.md) - - [Importing ONNX](developer-guide/onnx_pipeline.md) - - [Quantization Tools](developer-guide/quantization_internal.md) - - [FHE Op-graph Design](developer-guide/fhe-op-graphs.md) - - [External Libraries](developer-guide/external_libraries.md) -- [API](developer-guide/api/README.md) - - - [concrete.ml.common.check_inputs.md](developer-guide/api/concrete.ml.common.check_inputs.md) - - [concrete.ml.common.debugging.custom_assert.md](developer-guide/api/concrete.ml.common.debugging.custom_assert.md) - - [concrete.ml.common.debugging.md](developer-guide/api/concrete.ml.common.debugging.md) - - [concrete.ml.common.md](developer-guide/api/concrete.ml.common.md) - - [concrete.ml.common.serialization.decoder.md](developer-guide/api/concrete.ml.common.serialization.decoder.md) - - [concrete.ml.common.serialization.dumpers.md](developer-guide/api/concrete.ml.common.serialization.dumpers.md) - - [concrete.ml.common.serialization.encoder.md](developer-guide/api/concrete.ml.common.serialization.encoder.md) - - [concrete.ml.common.serialization.loaders.md](developer-guide/api/concrete.ml.common.serialization.loaders.md) - - [concrete.ml.common.serialization.md](developer-guide/api/concrete.ml.common.serialization.md) - - [concrete.ml.common.utils.md](developer-guide/api/concrete.ml.common.utils.md) - - [concrete.ml.deployment.deploy_to_aws.md](developer-guide/api/concrete.ml.deployment.deploy_to_aws.md) - - [concrete.ml.deployment.deploy_to_docker.md](developer-guide/api/concrete.ml.deployment.deploy_to_docker.md) - - [concrete.ml.deployment.fhe_client_server.md](developer-guide/api/concrete.ml.deployment.fhe_client_server.md) - - [concrete.ml.deployment.md](developer-guide/api/concrete.ml.deployment.md) - - [concrete.ml.deployment.server.md](developer-guide/api/concrete.ml.deployment.server.md) - - [concrete.ml.deployment.utils.md](developer-guide/api/concrete.ml.deployment.utils.md) - - [concrete.ml.onnx.convert.md](developer-guide/api/concrete.ml.onnx.convert.md) - - [concrete.ml.onnx.md](developer-guide/api/concrete.ml.onnx.md) - - [concrete.ml.onnx.onnx_impl_utils.md](developer-guide/api/concrete.ml.onnx.onnx_impl_utils.md) - - [concrete.ml.onnx.onnx_model_manipulations.md](developer-guide/api/concrete.ml.onnx.onnx_model_manipulations.md) - - [concrete.ml.onnx.onnx_utils.md](developer-guide/api/concrete.ml.onnx.onnx_utils.md) - - [concrete.ml.onnx.ops_impl.md](developer-guide/api/concrete.ml.onnx.ops_impl.md) - - [concrete.ml.pytest.md](developer-guide/api/concrete.ml.pytest.md) - - [concrete.ml.pytest.torch_models.md](developer-guide/api/concrete.ml.pytest.torch_models.md) - - [concrete.ml.pytest.utils.md](developer-guide/api/concrete.ml.pytest.utils.md) - - [concrete.ml.quantization.base_quantized_op.md](developer-guide/api/concrete.ml.quantization.base_quantized_op.md) - - [concrete.ml.quantization.md](developer-guide/api/concrete.ml.quantization.md) - - [concrete.ml.quantization.post_training.md](developer-guide/api/concrete.ml.quantization.post_training.md) - - [concrete.ml.quantization.quantized_module.md](developer-guide/api/concrete.ml.quantization.quantized_module.md) - - [concrete.ml.quantization.quantized_module_passes.md](developer-guide/api/concrete.ml.quantization.quantized_module_passes.md) - - [concrete.ml.quantization.quantized_ops.md](developer-guide/api/concrete.ml.quantization.quantized_ops.md) - - [concrete.ml.quantization.quantizers.md](developer-guide/api/concrete.ml.quantization.quantizers.md) - - [concrete.ml.search_parameters.md](developer-guide/api/concrete.ml.search_parameters.md) - - [concrete.ml.search_parameters.p_error_search.md](developer-guide/api/concrete.ml.search_parameters.p_error_search.md) - - [concrete.ml.sklearn.base.md](developer-guide/api/concrete.ml.sklearn.base.md) - - [concrete.ml.sklearn.glm.md](developer-guide/api/concrete.ml.sklearn.glm.md) - - [concrete.ml.sklearn.linear_model.md](developer-guide/api/concrete.ml.sklearn.linear_model.md) - - [concrete.ml.sklearn.md](developer-guide/api/concrete.ml.sklearn.md) - - [concrete.ml.sklearn.neighbors.md](developer-guide/api/concrete.ml.sklearn.neighbors.md) - - [concrete.ml.sklearn.qnn.md](developer-guide/api/concrete.ml.sklearn.qnn.md) - - [concrete.ml.sklearn.qnn_module.md](developer-guide/api/concrete.ml.sklearn.qnn_module.md) - - [concrete.ml.sklearn.rf.md](developer-guide/api/concrete.ml.sklearn.rf.md) - - [concrete.ml.sklearn.svm.md](developer-guide/api/concrete.ml.sklearn.svm.md) - - [concrete.ml.sklearn.tree.md](developer-guide/api/concrete.ml.sklearn.tree.md) - - [concrete.ml.sklearn.tree_to_numpy.md](developer-guide/api/concrete.ml.sklearn.tree_to_numpy.md) - - [concrete.ml.sklearn.xgb.md](developer-guide/api/concrete.ml.sklearn.xgb.md) - - [concrete.ml.torch.compile.md](developer-guide/api/concrete.ml.torch.compile.md) - - [concrete.ml.torch.hybrid_model.md](developer-guide/api/concrete.ml.torch.hybrid_model.md) - - [concrete.ml.torch.md](developer-guide/api/concrete.ml.torch.md) - - [concrete.ml.torch.numpy_module.md](developer-guide/api/concrete.ml.torch.numpy_module.md) - - [concrete.ml.version.md](developer-guide/api/concrete.ml.version.md) - +- [Step-by-step guide](deep-learning/fhe_friendly_models.md) +- [Debugging models](deep-learning/fhe_assistant.md) +- [Optimizing inference](deep-learning/optimizing_inference.md) + +## Guides + +- [Prediction with FHE](guides/prediction_with_fhe.md) +- [Production deployment](guides/client_server.md) +- [Hybrid models](guides/hybrid-models.md) +- [Serialization](guides/serialization.md) + +## Tutorials + +- [See all tutorials](tutorials/showcase.md) +- [Built-in model examples](tutorials/ml_examples.md) +- [Deep learning examples](tutorials/dl_examples.md) + +## References + +- [API](references/api/README.md) + - [concrete.ml.common.check_inputs.md](references/api/concrete.ml.common.check_inputs.md) + - [concrete.ml.common.debugging.custom_assert.md](references/api/concrete.ml.common.debugging.custom_assert.md) + - [concrete.ml.common.debugging.md](references/api/concrete.ml.common.debugging.md) + - [concrete.ml.common.md](references/api/concrete.ml.common.md) + - [concrete.ml.common.serialization.decoder.md](references/api/concrete.ml.common.serialization.decoder.md) + - [concrete.ml.common.serialization.dumpers.md](references/api/concrete.ml.common.serialization.dumpers.md) + - [concrete.ml.common.serialization.encoder.md](references/api/concrete.ml.common.serialization.encoder.md) + - [concrete.ml.common.serialization.loaders.md](references/api/concrete.ml.common.serialization.loaders.md) + - [concrete.ml.common.serialization.md](references/api/concrete.ml.common.serialization.md) + - [concrete.ml.common.utils.md](references/api/concrete.ml.common.utils.md) + - [concrete.ml.deployment.deploy_to_aws.md](references/api/concrete.ml.deployment.deploy_to_aws.md) + - [concrete.ml.deployment.deploy_to_docker.md](references/api/concrete.ml.deployment.deploy_to_docker.md) + - [concrete.ml.deployment.fhe_client_server.md](references/api/concrete.ml.deployment.fhe_client_server.md) + - [concrete.ml.deployment.md](references/api/concrete.ml.deployment.md) + - [concrete.ml.deployment.server.md](references/api/concrete.ml.deployment.server.md) + - [concrete.ml.deployment.utils.md](references/api/concrete.ml.deployment.utils.md) + - [concrete.ml.onnx.convert.md](references/api/concrete.ml.onnx.convert.md) + - [concrete.ml.onnx.md](references/api/concrete.ml.onnx.md) + - [concrete.ml.onnx.onnx_impl_utils.md](references/api/concrete.ml.onnx.onnx_impl_utils.md) + - [concrete.ml.onnx.onnx_model_manipulations.md](references/api/concrete.ml.onnx.onnx_model_manipulations.md) + - [concrete.ml.onnx.onnx_utils.md](references/api/concrete.ml.onnx.onnx_utils.md) + - [concrete.ml.onnx.ops_impl.md](references/api/concrete.ml.onnx.ops_impl.md) + - [concrete.ml.pytest.md](references/api/concrete.ml.pytest.md) + - [concrete.ml.pytest.torch_models.md](references/api/concrete.ml.pytest.torch_models.md) + - [concrete.ml.pytest.utils.md](references/api/concrete.ml.pytest.utils.md) + - [concrete.ml.quantization.base_quantized_op.md](references/api/concrete.ml.quantization.base_quantized_op.md) + - [concrete.ml.quantization.md](references/api/concrete.ml.quantization.md) + - [concrete.ml.quantization.post_training.md](references/api/concrete.ml.quantization.post_training.md) + - [concrete.ml.quantization.quantized_module.md](references/api/concrete.ml.quantization.quantized_module.md) + - [concrete.ml.quantization.quantized_module_passes.md](references/api/concrete.ml.quantization.quantized_module_passes.md) + - [concrete.ml.quantization.quantized_ops.md](references/api/concrete.ml.quantization.quantized_ops.md) + - [concrete.ml.quantization.quantizers.md](references/api/concrete.ml.quantization.quantizers.md) + - [concrete.ml.search_parameters.md](references/api/concrete.ml.search_parameters.md) + - [concrete.ml.search_parameters.p_error_search.md](references/api/concrete.ml.search_parameters.p_error_search.md) + - [concrete.ml.sklearn.base.md](references/api/concrete.ml.sklearn.base.md) + - [concrete.ml.sklearn.glm.md](references/api/concrete.ml.sklearn.glm.md) + - [concrete.ml.sklearn.linear_model.md](references/api/concrete.ml.sklearn.linear_model.md) + - [concrete.ml.sklearn.md](references/api/concrete.ml.sklearn.md) + - [concrete.ml.sklearn.neighbors.md](references/api/concrete.ml.sklearn.neighbors.md) + - [concrete.ml.sklearn.qnn.md](references/api/concrete.ml.sklearn.qnn.md) + - [concrete.ml.sklearn.qnn_module.md](references/api/concrete.ml.sklearn.qnn_module.md) + - [concrete.ml.sklearn.rf.md](references/api/concrete.ml.sklearn.rf.md) + - [concrete.ml.sklearn.svm.md](references/api/concrete.ml.sklearn.svm.md) + - [concrete.ml.sklearn.tree.md](references/api/concrete.ml.sklearn.tree.md) + - [concrete.ml.sklearn.tree_to_numpy.md](references/api/concrete.ml.sklearn.tree_to_numpy.md) + - [concrete.ml.sklearn.xgb.md](references/api/concrete.ml.sklearn.xgb.md) + - [concrete.ml.torch.compile.md](references/api/concrete.ml.torch.compile.md) + - [concrete.ml.torch.hybrid_model.md](references/api/concrete.ml.torch.hybrid_model.md) + - [concrete.ml.torch.md](references/api/concrete.ml.torch.md) + - [concrete.ml.torch.numpy_module.md](references/api/concrete.ml.torch.numpy_module.md) + - [concrete.ml.version.md](references/api/concrete.ml.version.md) + +## Explanations + +- [Quantization](explanations/quantization.md) +- [Pruning](explanations/pruning.md) +- [Compilation](explanations/compilation.md) +- [Advanced features](explanations/advanced_features.md) +- [Project architecture](explanations/inner-workings/README.md) + - [Importing ONNX](explanations/inner-workings/onnx_pipeline.md) + - [Quantization tools](explanations/inner-workings/quantization_internal.md) + - [FHE Op-graph design](explanations/inner-workings/fhe-op-graphs.md) + - [External libraries](explanations/inner-workings/external_libraries.md) + +## Developer + +- [Set up the project](developer/project_setup.md) +- [Set up Docker](developer/docker_setup.md) +- [Documentation](developer/documenting.md) +- [Support and issues](developer/debug_support_submit_issues.md) +- [Contributing](developer/contributing.md) +- [Release note](https://github.com/zama-ai/concrete-ml/releases) +- [Feature request](https://github.com/zama-ai/concrete-ml/issues/new?assignees=&labels=feature&projects=&template=feature_request.md) +- [Bug report](https://github.com/zama-ai/concrete-ml/issues/new?assignees=&labels=bug&projects=&template=bug_report.md) diff --git a/docs/built-in-models/linear.md b/docs/built-in-models/linear.md index d8cf7b4a1..77dd3c5fe 100644 --- a/docs/built-in-models/linear.md +++ b/docs/built-in-models/linear.md @@ -1,20 +1,20 @@ -# Linear Models +# Linear models Concrete ML provides several of the most popular linear models for `regression` and `classification` that can be found in [scikit-learn](https://scikit-learn.org/stable/): -| Concrete ML | scikit-learn | -| :-------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------: | -| [LinearRegression](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-linearregression) | [LinearRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression) | -| [LogisticRegression](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-logisticregression) | [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) | -| [LinearSVC](../developer-guide/api/concrete.ml.sklearn.svm.md#class-linearsvc) | [LinearSVC](https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html#sklearn.svm.LinearSVC) | -| [LinearSVR](../developer-guide/api/concrete.ml.sklearn.svm.md#class-linearsvr) | [LinearSVR](https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVR.html#sklearn.svm.LinearSVR) | -| [PoissonRegressor](../developer-guide/api/concrete.ml.sklearn.glm.md#class-poissonregressor) | [PoissonRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.PoissonRegressor.html#sklearn.linear_model.PoissonRegressor) | -| [TweedieRegressor](../developer-guide/api/concrete.ml.sklearn.glm.md#class-tweedieregressor) | [TweedieRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.TweedieRegressor.html#sklearn.linear_model.TweedieRegressor) | -| [GammaRegressor](../developer-guide/api/concrete.ml.sklearn.glm.md#class-gammaregressor) | [GammaRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.GammaRegressor.html#sklearn.linear_model.GammaRegressor) | -| [Lasso](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-lasso) | [Lasso](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html#sklearn.linear_model.Lasso) | -| [Ridge](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-ridge) | [Ridge](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge) | -| [ElasticNet](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-elasticnet) | [ElasticNet](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html#sklearn.linear_model.ElasticNet) | -| [SGDRegressor](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-sgdregressor) | [SGDRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDRegressor.html) | +| Concrete ML | scikit-learn | +| :--------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------: | +| [LinearRegression](../references/api/concrete.ml.sklearn.linear_model.md#class-linearregression) | [LinearRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression) | +| [LogisticRegression](../references/api/concrete.ml.sklearn.linear_model.md#class-logisticregression) | [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) | +| [LinearSVC](../references/api/concrete.ml.sklearn.svm.md#class-linearsvc) | [LinearSVC](https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html#sklearn.svm.LinearSVC) | +| [LinearSVR](../references/api/concrete.ml.sklearn.svm.md#class-linearsvr) | [LinearSVR](https://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVR.html#sklearn.svm.LinearSVR) | +| [PoissonRegressor](../references/api/concrete.ml.sklearn.glm.md#class-poissonregressor) | [PoissonRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.PoissonRegressor.html#sklearn.linear_model.PoissonRegressor) | +| [TweedieRegressor](../references/api/concrete.ml.sklearn.glm.md#class-tweedieregressor) | [TweedieRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.TweedieRegressor.html#sklearn.linear_model.TweedieRegressor) | +| [GammaRegressor](../references/api/concrete.ml.sklearn.glm.md#class-gammaregressor) | [GammaRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.GammaRegressor.html#sklearn.linear_model.GammaRegressor) | +| [Lasso](../references/api/concrete.ml.sklearn.linear_model.md#class-lasso) | [Lasso](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html#sklearn.linear_model.Lasso) | +| [Ridge](../references/api/concrete.ml.sklearn.linear_model.md#class-ridge) | [Ridge](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge) | +| [ElasticNet](../references/api/concrete.ml.sklearn.linear_model.md#class-elasticnet) | [ElasticNet](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html#sklearn.linear_model.ElasticNet) | +| [SGDRegressor](../references/api/concrete.ml.sklearn.linear_model.md#class-sgdregressor) | [SGDRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDRegressor.html) | Using these models in FHE is extremely similar to what can be done with scikit-learn's [API](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model), making it easy for data scientists who have used this framework to get started with Concrete ML. @@ -22,7 +22,7 @@ Models are also compatible with some of scikit-learn's main workflows, such as ` ## Pre-trained models -It is possible to convert an already trained scikit-learn linear model to a Concrete ML one by using the [`from_sklearn_model`](../developer-guide/api/concrete.ml.sklearn.base.md#classmethod-from_sklearn_model) method. See [below for an example](#loading-a-pre-trained-model). This functionality is only available for linear models. +It is possible to convert an already trained scikit-learn linear model to a Concrete ML one by using the [`from_sklearn_model`](../references/api/concrete.ml.sklearn.base.md#classmethod-from_sklearn_model) method. See [below for an example](linear.md#loading-a-pre-trained-model). This functionality is only available for linear models. ## Quantization parameters @@ -30,12 +30,11 @@ The `n_bits` parameter controls the bit-width of the inputs and weights of the l The `n_bits` parameter can be set to `8` or more bits for models with up to `300` input dimensions. When the input has more dimensions, `n_bits` must be reduced to `6-7`. All performance metrics are preserved down to `n_bits=6`, compared to the non-quantized float models from scikit-learn. -The same quantization parameters (i.e., scale and zero-point) are applied on all features, so it can be beneficial to make all feature distribution similar by using standard or min-max normalization. -For a more detailed comparison of the impact of such pre-processing please refer to [the logistic regression notebook](../advanced_examples/LogisticRegression.ipynb). +The same quantization parameters (i.e., scale and zero-point) are applied on all features, so it can be beneficial to make all feature distribution similar by using standard or min-max normalization. For a more detailed comparison of the impact of such pre-processing please refer to [the logistic regression notebook](../advanced_examples/LogisticRegression.ipynb). ## Example -The following snippet gives an example about training a LogisticRegression model on a simple data-set followed by inference on encrypted data with FHE. A more complete example can be found in the [LogisticRegression notebook](ml_examples.md). +The following snippet gives an example about training a LogisticRegression model on a simple data-set followed by inference on encrypted data with FHE. A more complete example can be found in the [LogisticRegression notebook](../tutorials/ml_examples.md). ```python from sklearn.datasets import make_classification @@ -81,7 +80,7 @@ print( # 100 examples over 100 have an FHE inference equal to the clear inference ``` -We can then plot the decision boundary of the classifier and compare those results with a scikit-learn model executed in clear. The complete code can be found in the [LogisticRegression notebook](ml_examples.md). +We can then plot the decision boundary of the classifier and compare those results with a scikit-learn model executed in clear. The complete code can be found in the [LogisticRegression notebook](../tutorials/ml_examples.md). ![Sklearn model decision boundaries](../figures/logistic_regression_clear.png) ![FHE model decision boundarires](../figures/logistic_regression_fhe.png) @@ -91,8 +90,6 @@ The overall accuracy scores are identical (93%) between the scikit-learn model ( An alternative to the example above is to train a scikit-learn model in a separate step and then to convert it to Concrete ML. - - ``` from sklearn.linear_model import LogisticRegression as SKlearnLogisticRegression diff --git a/docs/built-in-models/nearest-neighbors.md b/docs/built-in-models/nearest-neighbors.md index 5e77d57d5..9016a5791 100644 --- a/docs/built-in-models/nearest-neighbors.md +++ b/docs/built-in-models/nearest-neighbors.md @@ -1,10 +1,10 @@ -# Nearest-neighbors +# Nearest neighbors Concrete ML offers nearest neighbors non-parametric classification models with a scikit-learn interface through the `KNeighborsClassifier` class. -| Concrete ML | scikit-learn | -| :--------------------------------------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------- | -| [KNeighborsClassifier](../developer-guide/api/concrete.ml.sklearn.neighbors.md#class-kneighborsclassifier) | [KNeighborsClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) | +| Concrete ML | scikit-learn | +| :---------------------------------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------- | +| [KNeighborsClassifier](../references/api/concrete.ml.sklearn.neighbors.md#class-kneighborsclassifier) | [KNeighborsClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) | ## Example usage diff --git a/docs/built-in-models/neural-networks.md b/docs/built-in-models/neural-networks.md index f88d3cc7e..5b2920f61 100644 --- a/docs/built-in-models/neural-networks.md +++ b/docs/built-in-models/neural-networks.md @@ -1,13 +1,13 @@ -# Neural Networks +# Neural networks Concrete ML provides simple built-in neural networks models with a scikit-learn interface through the `NeuralNetClassifier` and `NeuralNetRegressor` classes. -| Concrete ML | scikit-learn | -| :------------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------ | -| [NeuralNetClassifier](../developer-guide/api/concrete.ml.sklearn.qnn.md#class-neuralnetclassifier) | [MLPClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html) | -| [NeuralNetRegressor](../developer-guide/api/concrete.ml.sklearn.qnn.md#class-neuralnetregressor) | [MLPRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html) | +| Concrete ML | scikit-learn | +| :-------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------ | +| [NeuralNetClassifier](../references/api/concrete.ml.sklearn.qnn.md#class-neuralnetclassifier) | [MLPClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html) | +| [NeuralNetRegressor](../references/api/concrete.ml.sklearn.qnn.md#class-neuralnetregressor) | [MLPRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html) | -The neural network models are implemented with [skorch](https://skorch.readthedocs.io/en/stable/index.html), which provides a scikit-learn-like interface to Torch models (more [here](../developer-guide/external_libraries.md#skorch)). +The neural network models are implemented with [skorch](https://skorch.readthedocs.io/en/stable/index.html), which provides a scikit-learn-like interface to Torch models (more [here](../explanations/inner-workings/external_libraries.md#skorch)). Concrete ML models are multi-layer, fully-connected, networks with customizable activation functions and have a number of neurons in each layer. This approach is similar to what is available in scikit-learn when using the `MLPClassifier`/`MLPRegressor` classes. The built-in models train easily with a single call to `.fit()`, which will automatically quantize weights and activations. These models use Quantization Aware Training, allowing good performance for low precision (down to 2-3 bits) weights and activations. @@ -18,7 +18,7 @@ Good quantization parameter values are critical to make models [respect FHE cons {% endhint %} {% hint style="warning" %} -Using `nn.ReLU` as the activation function benefits from an optimization where [quantization uses powers-of-two scales](../advanced-topics/quantization.md#quantization-special-cases). This results in much faster inference times in FHE, thanks to a TFHE primitive that performs fast division by powers of two. +Using `nn.ReLU` as the activation function benefits from an optimization where [quantization uses powers-of-two scales](../explanations/quantization.md#quantization-special-cases). This results in much faster inference times in FHE, thanks to a TFHE primitive that performs fast division by powers of two. {% endhint %} ## Example usage @@ -39,7 +39,7 @@ params = { concrete_classifier = NeuralNetClassifier(**params) ``` -The [Classifier Comparison notebook](ml_examples.md) shows the behavior of built-in neural networks on several synthetic data-sets. +The [Classifier Comparison notebook](../tutorials/ml_examples.md) shows the behavior of built-in neural networks on several synthetic data-sets. ![Comparison neural networks](../figures/neural_nets_builtin.png) @@ -54,8 +54,8 @@ The figure above right shows the Concrete ML neural network, trained with Quanti - `n_w_bits` (default 3): number of bits for weights - `n_a_bits` (default 3): number of bits for activations and inputs -- `n_accum_bits`: maximum accumulator bit-width that is desired. By default, this is unbounded, which, for weight and activation bit-width settings, [may make the trained networks fail in compilation](#overflow-errors). When used, the implementation will attempt to keep accumulators under this bit-width through [pruning](../advanced-topics/pruning.md) (i.e., setting some weights to zero) -- `power_of_two_scaling` (default True): forces quantization scales to be powers-of-two, which, when coupled with the ReLU activation, benefits from strong FHE inference time optimization. See this [section](../advanced-topics/quantization.md#quantization-special-cases) in the quantization documentation for more details. +- `n_accum_bits`: maximum accumulator bit-width that is desired. By default, this is unbounded, which, for weight and activation bit-width settings, [may make the trained networks fail in compilation](neural-networks.md#overflow-errors). When used, the implementation will attempt to keep accumulators under this bit-width through [pruning](../explanations/pruning.md) (i.e., setting some weights to zero) +- `power_of_two_scaling` (default True): forces quantization scales to be powers-of-two, which, when coupled with the ReLU activation, benefits from strong FHE inference time optimization. See this [section](../explanations/quantization.md#quantization-special-cases) in the quantization documentation for more details. ### Training parameters (from skorch) @@ -67,7 +67,7 @@ Other parameters from skorch can be found in the [skorch documentation](https:// ### Advanced parameters -- `module__n_hidden_neurons_multiplier`: The number of hidden neurons will be automatically set proportional to the dimensionality of the input. This parameter controls the proportionality factor and is set to 4 by default. This value gives good accuracy while avoiding accumulator overflow. See the [pruning](../advanced-topics/pruning.md) and [quantization](../advanced-topics/quantization.md) sections for more info. +- `module__n_hidden_neurons_multiplier`: The number of hidden neurons will be automatically set proportional to the dimensionality of the input. This parameter controls the proportionality factor and is set to 4 by default. This value gives good accuracy while avoiding accumulator overflow. See the [pruning](../explanations/pruning.md) and [quantization](../explanations/quantization.md) sections for more info. ### Class weights diff --git a/docs/built-in-models/training.md b/docs/built-in-models/training.md index 0bd1f29d0..53144b478 100644 --- a/docs/built-in-models/training.md +++ b/docs/built-in-models/training.md @@ -1,6 +1,6 @@ -# Training on Encrypted Data +# Encrypted training -Concrete ML offers the possibility to train [SGD Logistic Regression](../developer-guide/api/concrete.ml.sklearn.linear_model.md#class-sgdclassifier) on encrypted data. The [logistic regression training](../advanced_examples/LogisticRegressionTraining.ipynb) example shows this feature in action. +Concrete ML offers the possibility to train [SGD Logistic Regression](../references/api/concrete.ml.sklearn.linear_model.md#class-sgdclassifier) on encrypted data. The [logistic regression training](../advanced_examples/LogisticRegressionTraining.ipynb) example shows this feature in action. This example shows how to instantiate a logistic regression model that trains on encrypted data: @@ -16,8 +16,7 @@ model = SGDClassifier( ) ``` -To activate encrypted training simply set `fit_encrypted=True` in the constructor. If this value is not set, training is performed -on clear data using `scikit-learn` gradient descent. +To activate encrypted training simply set `fit_encrypted=True` in the constructor. If this value is not set, training is performed on clear data using `scikit-learn` gradient descent. Next, to perform the training on encrypted data, call the `fit` function with the `fhe="execute"` argument: @@ -28,9 +27,7 @@ model.fit(X_binary, y_binary, fhe="execute") ``` {% hint style="info" %} -Training on encrypted data provides the highest level of privacy but is slower than training on clear data. Federated learning is an alternative approach, where data privacy can be ensured by using a trusted gradient aggregator, coupled with optional _differential privacy_ instead of encryption. Concrete ML -can import linear models, including logistic regression, that are trained using federated learning using the [`from_sklearn` function](linear.md#pre-trained-models). - +Training on encrypted data provides the highest level of privacy but is slower than training on clear data. Federated learning is an alternative approach, where data privacy can be ensured by using a trusted gradient aggregator, coupled with optional _differential privacy_ instead of encryption. Concrete ML can import linear models, including logistic regression, that are trained using federated learning using the [`from_sklearn` function](linear.md#pre-trained-models). {% endhint %} ## Training configuration @@ -43,5 +40,4 @@ The `parameters_range` parameter determines the initialization of the coefficien The logistic model that can be trained uses Stochastic Gradient Descent (SGD) and quantizes for data, weights, gradients and the error measure. It currently supports training 6-bit models, training both the coefficients and the bias. -The `SGDClassifier` does not currently support training models with other values for the bit-widths. The execution time to train a model -is proportional to the number of features and the number of training examples in the batch. The `SGDClassifier` training does not currently support client/server deployment for training. +The `SGDClassifier` does not currently support training models with other values for the bit-widths. The execution time to train a model is proportional to the number of features and the number of training examples in the batch. The `SGDClassifier` training does not currently support client/server deployment for training. diff --git a/docs/built-in-models/tree.md b/docs/built-in-models/tree.md index 383c1dbd8..8e4d67950 100644 --- a/docs/built-in-models/tree.md +++ b/docs/built-in-models/tree.md @@ -1,33 +1,32 @@ -# Tree-based Models +# Tree-based models Concrete ML provides several of the most popular `classification` and `regression` tree models that can be found in [scikit-learn](https://scikit-learn.org/stable/): -| Concrete ML | scikit-learn | -| :-------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------: | -| [DecisionTreeClassifier](../developer-guide/api/concrete.ml.sklearn.tree.md#class-decisiontreeclassifier) | [DecisionTreeClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier) | -| [DecisionTreeRegressor](../developer-guide/api/concrete.ml.sklearn.tree.md#class-decisiontreeregressor) | [DecisionTreeRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html#sklearn.tree.DecisionTreeRegressor) | -| [RandomForestClassifier](../developer-guide/api/concrete.ml.sklearn.rf.md#class-randomforestclassifier) | [RandomForestClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier) | -| [RandomForestRegressor](../developer-guide/api/concrete.ml.sklearn.rf.md#class-randomforestregressor) | [RandomForestRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html#sklearn.ensemble.RandomForestRegressor) | +| Concrete ML | scikit-learn | +| :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------: | +| [DecisionTreeClassifier](../references/api/concrete.ml.sklearn.tree.md#class-decisiontreeclassifier) | [DecisionTreeClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier) | +| [DecisionTreeRegressor](../references/api/concrete.ml.sklearn.tree.md#class-decisiontreeregressor) | [DecisionTreeRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html#sklearn.tree.DecisionTreeRegressor) | +| [RandomForestClassifier](../references/api/concrete.ml.sklearn.rf.md#class-randomforestclassifier) | [RandomForestClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier) | +| [RandomForestRegressor](../references/api/concrete.ml.sklearn.rf.md#class-randomforestregressor) | [RandomForestRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html#sklearn.ensemble.RandomForestRegressor) | Concrete ML also supports [XGBoost](https://xgboost.ai/)'s `XGBClassifier` and `XGBRegressor`: -| Concrete ML | XGboost | -| :------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | -| [XGBClassifier](../developer-guide/api/concrete.ml.sklearn.xgb.md#class-xgbclassifier) | [XGBClassifier](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBClassifier) | -| [XGBRegressor](../developer-guide/api/concrete.ml.sklearn.xgb.md#class-xgbregressor) | [XGBRegressor](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBRegressor) | +| Concrete ML | XGboost | +| :-------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | +| [XGBClassifier](../references/api/concrete.ml.sklearn.xgb.md#class-xgbclassifier) | [XGBClassifier](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBClassifier) | +| [XGBRegressor](../references/api/concrete.ml.sklearn.xgb.md#class-xgbregressor) | [XGBRegressor](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.XGBRegressor) | {% hint style="info" %} For a formal explanation of the mechanisms that enable FHE-compatible decision trees, please see the following paper: [Privacy-Preserving Tree-Based Inference with Fully Homomorphic Encryption, arXiv:2303.01254](https://arxiv.org/abs/2303.01254) {% endhint %} {% hint style="info" %} -As the maximum depth parameter of decision trees and tree-ensemble models strongly increases the number of nodes in the trees, we recommend -using the XGBoost models which achieve better performance with lower depth. +As the maximum depth parameter of decision trees and tree-ensemble models strongly increases the number of nodes in the trees, we recommend using the XGBoost models which achieve better performance with lower depth. {% endhint %} ## Example -Here's an example of how to use this model in FHE on a popular data-set using some of scikit-learn's pre-processing tools. A more complete example can be found in the [XGBClassifier notebook](ml_examples.md). +Here's an example of how to use this model in FHE on a popular data-set using some of scikit-learn's pre-processing tools. A more complete example can be found in the [XGBClassifier notebook](../tutorials/ml_examples.md). ```python from sklearn.datasets import load_breast_cancer @@ -111,7 +110,7 @@ print(f"{(y_pred_fhe == y_pred_clear[:N_TEST_FHE]).sum()} " # 1 examples over 1 have an FHE inference equal to the clear inference ``` -Similarly, the decision boundaries of the Concrete ML model can be plotted and compared to the results of the classical XGBoost model executed in the clear. A 6-bit model is shown in order to illustrate the impact of quantization on classification. Similar plots can be found in the [Classifier Comparison notebook](ml_examples.md). +Similarly, the decision boundaries of the Concrete ML model can be plotted and compared to the results of the classical XGBoost model executed in the clear. A 6-bit model is shown in order to illustrate the impact of quantization on classification. Similar plots can be found in the [Classifier Comparison notebook](../tutorials/ml_examples.md). ![Comparison of clasification decision boundaries between FHE and plaintext models](../figures/xgb_comparison_pipeline.png) @@ -127,9 +126,7 @@ The following graph shows that using 5-6 bits of quantization is usually suffici ## FHE Inference time considerations -The inference time in FHE is strongly dependant on the maximum circuit bit-width. For trees, in most cases, the quantization bit-width -will be the same as the circuit bit-width. Therefore, reducing the quantization bit-width to 4 or less will result in fast inference times. -Adding more bits will increase FHE inference time exponentially. +The inference time in FHE is strongly dependant on the maximum circuit bit-width. For trees, in most cases, the quantization bit-width will be the same as the circuit bit-width. Therefore, reducing the quantization bit-width to 4 or less will result in fast inference times. Adding more bits will increase FHE inference time exponentially. In some rare cases, the bit-width of the circuit can be higher than the quantization bit-width. This could happen when the quantization bit-width is low but the tree-depth is high. In such cases, the circuit bit-width is upper bounded by `ceil(log2(max_depth + 1) + 1)`. diff --git a/docs/conf.py b/docs/conf.py index c8cc2ed4b..5c4ca01dc 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -58,11 +58,8 @@ "Thumbs.db", ".DS_Store", "SUMMARY.md", - "developer-guide/api.md", "advanced_examples/*.ipynb", - "developer-guide/api/*.md", - "developer-guide/workflow/README.md", - "developer-guide/inner-workings/README.md", + "references/api/*.md", "conventions.md", ] diff --git a/docs/deep-learning/examples.md b/docs/deep-learning/examples.md deleted file mode 100644 index 9d6999c9e..000000000 --- a/docs/deep-learning/examples.md +++ /dev/null @@ -1,23 +0,0 @@ -# Deep Learning Examples - -These examples illustrate the basic usage of Concrete ML to build various types of neural networks. They use simple data-sets, focusing on the syntax and usage of Concrete ML. For examples showing how to train high-accuracy models on more complex data-sets, see the [Demos and Tutorials](../getting-started/showcase.md) section. - -## FHE constraints considerations - -The examples listed here make use of [simulation](../advanced-topics/compilation.md#fhe-simulation) to perform evaluation over large test sets. Since FHE execution can be slow, only a few FHE executions can be performed. The [correctness guarantees](../getting-started/concepts.md#cryptography-concepts) of Concrete ML ensure that accuracy measured with simulation is the same as that which will be obtained during FHE execution. - -Some examples constrain accumulators to 7-8 bits, which can be sufficient for simple data-sets. Up to 16-bit accumulators can be used, but this introduces a slowdown of 4-5x compared to 8-bit accumulators. - -## List of Examples - -### 1. Step-by-step guide to building a custom NN - -[  Quantization aware training example](../advanced_examples/QuantizationAwareTraining.ipynb) - -This shows how to use Quantization Aware Training and pruning when starting out from a classical PyTorch network. This example uses a simple data-set and a small NN, which achieves good accuracy with low accumulator size. - -### 2. Custom convolutional NN on the [Digits](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html) data-set - -[   Convolutional Neural Network](../advanced_examples/ConvolutionalNeuralNetwork.ipynb) - -Following the [Step-by-step guide](fhe_friendly_models.md), this notebook implements a Quantization Aware Training convolutional neural network on the MNIST data-set. It uses 3-bit weights and activations, giving a 7-bit accumulator. diff --git a/docs/deep-learning/fhe_assistant.md b/docs/deep-learning/fhe_assistant.md index 12a3111d8..924ab2de6 100644 --- a/docs/deep-learning/fhe_assistant.md +++ b/docs/deep-learning/fhe_assistant.md @@ -1,15 +1,14 @@ -# Debugging Models +# Debugging models -This section provides a set of tools and guidelines to help users build optimized FHE-compatible models. It discusses -FHE simulation, the key-cache functionality that helps speed-up FHE result debugging, and gives a guide to evaluate circuit complexity. +This section provides a set of tools and guidelines to help users build optimized FHE-compatible models. It discusses FHE simulation, the key-cache functionality that helps speed-up FHE result debugging, and gives a guide to evaluate circuit complexity. ## Simulation -The [simulation functionality](../advanced-topics/compilation.md#fhe-simulation) of Concrete ML provides a way to evaluate, using clear data, the results that ML models produce on encrypted data. The simulation includes any probabilistic behavior FHE may induce. The simulation is implemented with [Concrete's simulation](https://docs.zama.ai/concrete/tutorials/simulation). +The [simulation functionality](../explanations/compilation.md#fhe-simulation) of Concrete ML provides a way to evaluate, using clear data, the results that ML models produce on encrypted data. The simulation includes any probabilistic behavior FHE may induce. The simulation is implemented with [Concrete's simulation](https://docs.zama.ai/concrete/tutorials/simulation). The simulation mode can be useful when developing and iterating on an ML model implementation. As FHE non-linear models work with integers up to 16 bits, with a trade-off between the number of bits and the FHE execution speed, the simulation can help to find the optimal model design. -Simulation is much faster than FHE execution. This allows for faster debugging and model optimization. For example, this was used for the red/blue contours in the [Classifier Comparison notebook](../built-in-models/ml_examples.md), as computing in FHE for the whole grid and all the classifiers would take significant time. +Simulation is much faster than FHE execution. This allows for faster debugging and model optimization. For example, this was used for the red/blue contours in the [Classifier Comparison notebook](../tutorials/ml_examples.md), as computing in FHE for the whole grid and all the classifiers would take significant time. The following example shows how to use the simulation mode in Concrete ML. @@ -32,8 +31,7 @@ y_preds_clear = concrete_clf.predict(X, fhe="simulate") ## Caching keys during debugging -It is possible to avoid re-generating the keys of the models you are debugging. This feature is unsafe and -should not be used in production. Here is an example that shows how to enable key-caching: +It is possible to avoid re-generating the keys of the models you are debugging. This feature is unsafe and should not be used in production. Here is an example that shows how to enable key-caching: ```python from sklearn.datasets import fetch_openml, make_circles @@ -116,13 +114,13 @@ Function you are trying to compile cannot be compiled: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this 17-bit value is used as an input to a table lookup ``` -The error `this 17-bit value is used as an input to a table lookup` indicates that the 16-bit limit on the input of the Table Lookup (TLU) operation has been exceeded. To pinpoint the model layer that causes the error, Concrete ML provides the [bitwidth_and_range_report](../developer-guide/api/concrete.ml.quantization.quantized_module.md#method-bitwidth_and_range_report) helper function. First, the model must be compiled so that it can be [simulated](#simulation). +The error `this 17-bit value is used as an input to a table lookup` indicates that the 16-bit limit on the input of the Table Lookup (TLU) operation has been exceeded. To pinpoint the model layer that causes the error, Concrete ML provides the [bitwidth_and_range_report](../references/api/concrete.ml.quantization.quantized_module.md#method-bitwidth_and_range_report) helper function. First, the model must be compiled so that it can be [simulated](fhe_assistant.md#simulation). ### Fixing compilation errors To make this network FHE-compatible one can apply several techniques: -1. use [rounded accumulators](../advanced-topics/advanced_features.md#rounded-activations-and-quantizers) by specifying the `rounding_threshold_bits` parameter. Please evaluate the accuracy of the model using simulation if you use this feature, as it may impact accuracy. Setting a value 2-bit higher than the quantization `n_bits` should be a good start. +1. use [rounded accumulators](../explanations/advanced_features.md#rounded-activations-and-quantizers) by specifying the `rounding_threshold_bits` parameter. Please evaluate the accuracy of the model using simulation if you use this feature, as it may impact accuracy. Setting a value 2-bit higher than the quantization `n_bits` should be a good start. @@ -151,7 +149,7 @@ quantized_numpy_module = compile_torch_model( ) ``` -3. adjust the tolerance for one-off errors using the `p_error` parameter. See [this section for more explanation](../advanced-topics/advanced_features.md#approximate-computations) on this tolerance. +3. adjust the tolerance for one-off errors using the `p_error` parameter. See [this section for more explanation](../explanations/advanced_features.md#approximate-computations) on this tolerance. diff --git a/docs/deep-learning/fhe_friendly_models.md b/docs/deep-learning/fhe_friendly_models.md index 1c7cd5929..5baee76fe 100644 --- a/docs/deep-learning/fhe_friendly_models.md +++ b/docs/deep-learning/fhe_friendly_models.md @@ -1,18 +1,18 @@ -# Step-by-step Guide +# Step-by-step guide This guide provides a complete example of converting a PyTorch neural network into its FHE-friendly, quantized counterpart. It focuses on Quantization Aware Training a simple network on a synthetic data-set. In general, quantization can be carried out in two different ways: either during Quantization Aware Training (QAT) or after the training phase with Post-Training Quantization (PTQ). -Regarding FHE-friendly neural networks, QAT is the best way to reach optimal accuracy under [FHE constraints](../README.md#current-limitations). This technique allows weights and activations to be reduced to very low bit-widths (e.g., 2-3 bits), which, combined with pruning, can keep accumulator bit-widths low. +Regarding FHE-friendly neural networks, QAT is the best way to reach optimal accuracy under [FHE constraints](../getting-started/README.md#current-limitations). This technique allows weights and activations to be reduced to very low bit-widths (e.g., 2-3 bits), which, combined with pruning, can keep accumulator bit-widths low. Concrete ML uses the third-party library [Brevitas](https://github.com/Xilinx/brevitas) to perform QAT for PyTorch NNs, but options exist for other frameworks such as Keras/Tensorflow. -Several [demos and tutorials](../getting-started/showcase.md) that use Brevitas are available in the Concrete ML library, such as the [CIFAR classification tutorial](../../use_case_examples/cifar/cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb). +Several [demos and tutorials](../tutorials/showcase.md) that use Brevitas are available in the Concrete ML library, such as the [CIFAR classification tutorial](../../use_case_examples/cifar/cifar_brevitas_finetuning/CifarQuantizationAwareTraining.ipynb). This guide is based on a [notebook tutorial](../advanced_examples/QuantizationAwareTraining.ipynb), from which some code blocks are documented. -For a more formal description of the usage of Brevitas to build FHE-compatible neural networks, please see the [Brevitas usage reference](../developer-guide/external_libraries.md#brevitas). +For a more formal description of the usage of Brevitas to build FHE-compatible neural networks, please see the [Brevitas usage reference](../explanations/inner-workings/external_libraries.md#brevitas). {% hint style="info" %} For a formal explanation of the mechanisms that enable FHE-compatible neural networks, please see the the following paper. @@ -51,7 +51,7 @@ class SimpleNet(nn.Module): The [notebook tutorial](../advanced_examples/QuantizationAwareTraining.ipynb), example shows how to train a FCNN, similarly to the one above, on a synthetic 2D data-set with a checkerboard grid pattern of 100 x 100 points. The data is split into 9500 training and 500 test samples. -Once trained, this PyTorch network can be imported using the [`compile_torch_model`](../developer-guide/api/concrete.ml.torch.compile.md#function-compile_torch_model) function. This function uses simple PTQ. +Once trained, this PyTorch network can be imported using the [`compile_torch_model`](../references/api/concrete.ml.torch.compile.md#function-compile_torch_model) function. This function uses simple PTQ. The network was trained using different numbers of neurons in the hidden layers, and quantized using 3-bits weights and activations. The mean accumulator size shown below is measured as the mean over 10 runs of the experiment. An accumulator of 6.6 means that 4 times out of 10 the accumulator measured was 6 bits while 6 times it was 7 bits. @@ -69,7 +69,7 @@ Accumulator size is determined by Concrete as being the maximum bit-width encoun ## Quantization Aware Training: -[Quantization Aware Training](../advanced-topics/quantization.md) using [Brevitas](https://github.com/Xilinx/brevitas) is the best way to guarantee a good accuracy for Concrete ML compatible neural networks. +[Quantization Aware Training](../explanations/quantization.md) using [Brevitas](https://github.com/Xilinx/brevitas) is the best way to guarantee a good accuracy for Concrete ML compatible neural networks. Brevitas provides a quantized version of almost all PyTorch layers (`Linear` layer becomes `QuantLinear`, `ReLU` layer becomes `QuantReLU` and so on), plus some extra quantization parameters, such as : @@ -177,7 +177,7 @@ By default, Concrete ML uses symmetric quantization for model weights, with valu In a typical setting, the weights will not all have the maximum or minimum values (e.g., $$-2^{n_{bits}-1}$$). Weights typically have a normal distribution around 0, which is one of the motivating factors for their symmetric quantization. A symmetric distribution and many zero-valued weights are desirable because opposite sign weights can cancel each other out and zero weights do not increase the accumulator size. -This fact can be leveraged to train a network with more neurons, while not overflowing the accumulator, using a technique called [pruning](../advanced-topics/pruning.md) where the developer can impose a number of zero-valued weights. Torch [provides support for pruning](https://pytorch.org/tutorials/intermediate/pruning_tutorial.html) out of the box. +This fact can be leveraged to train a network with more neurons, while not overflowing the accumulator, using a technique called [pruning](../explanations/pruning.md) where the developer can impose a number of zero-valued weights. Torch [provides support for pruning](https://pytorch.org/tutorials/intermediate/pruning_tutorial.html) out of the box. The following code shows how to use pruning in the previous example: diff --git a/docs/deep-learning/optimizing_inference.md b/docs/deep-learning/optimizing_inference.md index 98d030f9a..496ad9937 100644 --- a/docs/deep-learning/optimizing_inference.md +++ b/docs/deep-learning/optimizing_inference.md @@ -1,26 +1,21 @@ -# Optimizing inference latency +# Optimizing inference -Neural networks pose unique challenges with regards to encrypted inference. Each neuron in a network applies an activation function that requires a PBS operation. The latency -of a single PBS depends on the bit-width of the input of the PBS. +Neural networks pose unique challenges with regards to encrypted inference. Each neuron in a network applies an activation function that requires a PBS operation. The latency of a single PBS depends on the bit-width of the input of the PBS. Several approaches can be used to reduce the overall latency of a neural network. ## Circuit bit-width optimization -[Quantization Aware Training](../advanced-topics/quantization.md) and [pruning](../advanced-topics/pruning.md) introduce specific hyper-parameters that influence the accumulator sizes. -It is possible to chose quantization and pruning configurations that reduce the accumulator size. A trade-off between latency and accuracy can be obtained by varying these hyper-parameters as described in the [deep learning design guide](torch_support.md#configuring-quantization-parameters). +[Quantization Aware Training](../explanations/quantization.md) and [pruning](../explanations/pruning.md) introduce specific hyper-parameters that influence the accumulator sizes. It is possible to chose quantization and pruning configurations that reduce the accumulator size. A trade-off between latency and accuracy can be obtained by varying these hyper-parameters as described in the [deep learning design guide](torch_support.md#configuring-quantization-parameters). ## Structured pruning -While un-structured pruning is used to ensure the accumulator bit-width stays low, [structured pruning](https://pytorch.org/docs/stable/generated/torch.nn.utils.prune.ln_structured.html) can eliminate entire neurons from the network. Many neural networks are over-parametrized (since this enables easier training) and some neurons can be removed. Structured pruning, applied to a trained network as a fine-tuning step, can be applied to built-in neural networks using the [prune](../developer-guide/api/concrete.ml.sklearn.base.md#method-prune) helper function as shown in [this example](../advanced_examples/FullyConnectedNeuralNetworkOnMNIST.ipynb). To apply structured pruning to -custom models, it is recommended to use the [torch-pruning](https://github.com/VainF/Torch-Pruning) package. +While un-structured pruning is used to ensure the accumulator bit-width stays low, [structured pruning](https://pytorch.org/docs/stable/generated/torch.nn.utils.prune.ln_structured.html) can eliminate entire neurons from the network. Many neural networks are over-parametrized (since this enables easier training) and some neurons can be removed. Structured pruning, applied to a trained network as a fine-tuning step, can be applied to built-in neural networks using the [prune](../references/api/concrete.ml.sklearn.base.md#method-prune) helper function as shown in [this example](../advanced_examples/FullyConnectedNeuralNetworkOnMNIST.ipynb). To apply structured pruning to custom models, it is recommended to use the [torch-pruning](https://github.com/VainF/Torch-Pruning) package. ## Rounded activations and quantizers -Reducing the bit-width of the inputs to the Table Lookup (TLU) operations is a major source of improvements in the latency. Post-training, -it is possible to leverage some properties of the fused activation and quantization functions expressed in the TLUs to -further reduce the accumulator. This is achieved through the _rounded PBS_ feature as described in the [rounded activations and quantizers reference](../advanced-topics/advanced_features.md#rounded-activations-and-quantizers). Adjusting the rounding amount, relative to the initial accumulator size, can bring large improvements in latency while maintaining accuracy. +Reducing the bit-width of the inputs to the Table Lookup (TLU) operations is a major source of improvements in the latency. Post-training, it is possible to leverage some properties of the fused activation and quantization functions expressed in the TLUs to further reduce the accumulator. This is achieved through the _rounded PBS_ feature as described in the [rounded activations and quantizers reference](../explanations/advanced_features.md#rounded-activations-and-quantizers). Adjusting the rounding amount, relative to the initial accumulator size, can bring large improvements in latency while maintaining accuracy. ## TLU error tolerance adjustment -Finally, the TFHE scheme exposes a TLU error tolerance parameter that has an impact on crypto-system parameters that influence latency. A higher tolerance of TLU off-by-one errors results in faster computations but may reduce accuracy. One can think of the error of obtaining $$T[x]$$ as a Gaussian distribution centered on $$x$$: $$TLU[x]$$ is obtained with probability of `1 - p_error`, while $$T[x-1]$$, $$T[x+1]$$ are obtained with much lower probability, etc. In Deep NNs, these type of errors can be tolerated up to some point. See the [`p_error` documentation for details](../advanced-topics/advanced_features.md#approximate-computations) and more specifically the usage example of [the API for finding the best `p_error`](../advanced-topics/advanced_features.md#searching-for-the-best-error-probability). +Finally, the TFHE scheme exposes a TLU error tolerance parameter that has an impact on crypto-system parameters that influence latency. A higher tolerance of TLU off-by-one errors results in faster computations but may reduce accuracy. One can think of the error of obtaining $$T[x]$$ as a Gaussian distribution centered on $$x$$: $$TLU[x]$$ is obtained with probability of `1 - p_error`, while $$T[x-1]$$, $$T[x+1]$$ are obtained with much lower probability, etc. In Deep NNs, these type of errors can be tolerated up to some point. See the [`p_error` documentation for details](../explanations/advanced_features.md#approximate-computations) and more specifically the usage example of [the API for finding the best `p_error`](../explanations/advanced_features.md#searching-for-the-best-error-probability). diff --git a/docs/deep-learning/torch_support.md b/docs/deep-learning/torch_support.md index ebcae62dd..d63754114 100644 --- a/docs/deep-learning/torch_support.md +++ b/docs/deep-learning/torch_support.md @@ -2,12 +2,12 @@ In addition to the built-in models, Concrete ML supports generic machine learning models implemented with Torch, or [exported as ONNX graphs](onnx_support.md). -As [Quantization Aware Training (QAT)](../advanced-topics/quantization.md) is the most appropriate method of training neural networks that are compatible with [FHE constraints](../getting-started/concepts.md#model-accuracy-considerations-under-fhe-constraints), Concrete ML works with [Brevitas](../developer-guide/external_libraries.md#brevitas), a library providing QAT support for PyTorch. +As [Quantization Aware Training (QAT)](../explanations/quantization.md) is the most appropriate method of training neural networks that are compatible with [FHE constraints](../getting-started/concepts.md#model-accuracy-considerations-under-fhe-constraints), Concrete ML works with [Brevitas](../explanations/inner-workings/external_libraries.md#brevitas), a library providing QAT support for PyTorch. The following example uses a simple QAT PyTorch model that implements a fully connected neural network with two hidden layers. Due to its small size, making this model respect FHE constraints is relatively easy. {% hint style="info" %} -Converting neural networks to use FHE can be done with `compile_brevitas_qat_model` or with `compile_torch_model` for post-training quantization. If the model can not be converted to FHE two types of errors can be raised: (1) crypto-parameters can not be found and, (2) table look-up bit-width limit is exceeded. See the [debugging section](./fhe_assistant.md#compilation-error-debugging) if you encounter these errors. +Converting neural networks to use FHE can be done with `compile_brevitas_qat_model` or with `compile_torch_model` for post-training quantization. If the model can not be converted to FHE two types of errors can be raised: (1) crypto-parameters can not be found and, (2) table look-up bit-width limit is exceeded. See the [debugging section](fhe_assistant.md#compilation-error-debugging) if you encounter these errors. {% endhint %} ```python @@ -38,8 +38,7 @@ class QATSimpleNet(nn.Module): ``` -Once the model is trained, calling the [`compile_brevitas_qat_model`](../developer-guide/api/concrete.ml.torch.compile.md#function-compile_brevitas_qat_model) from Concrete ML will automatically perform conversion and compilation of a QAT network. Here, 3-bit quantization is used for both the weights and activations. The `compile_brevitas_qat_model` function automatically -identifies the number of quantization bits used in the Brevitas model. +Once the model is trained, calling the [`compile_brevitas_qat_model`](../references/api/concrete.ml.torch.compile.md#function-compile_brevitas_qat_model) from Concrete ML will automatically perform conversion and compilation of a QAT network. Here, 3-bit quantization is used for both the weights and activations. The `compile_brevitas_qat_model` function automatically identifies the number of quantization bits used in the Brevitas model. @@ -58,14 +57,9 @@ quantized_module = compile_brevitas_qat_model( ## Configuring quantization parameters -The PyTorch/Brevitas models, created following the example above, require the user to configure -quantization parameters such as `bit_width` (activation bit-width) and `weight_bit_width`. The -quantization parameters, along with the number of neurons on each layer, will determine the -accumulator bit-width of the network. Larger accumulator bit-widths result in higher accuracy -but slower FHE inference time. +The PyTorch/Brevitas models, created following the example above, require the user to configure quantization parameters such as `bit_width` (activation bit-width) and `weight_bit_width`. The quantization parameters, along with the number of neurons on each layer, will determine the accumulator bit-width of the network. Larger accumulator bit-widths result in higher accuracy but slower FHE inference time. -The following configurations were determined through experimentation for convolutional and -dense layers. +The following configurations were determined through experimentation for convolutional and dense layers. | target accumulator bit-width | activation bit-width | weight bit-width | number of active neurons | | ---------------------------- | -------------------- | ---------------- | ------------------------ | @@ -75,23 +69,20 @@ dense layers. | 14 | 6 | 6 | 110 | | 16 | 7 | 6 | 120 | -Using the templates above, the probability of obtaining the target accumulator -bit-width, for a single layer, was determined experimentally by training 10 models for each of -the following data-sets. +Using the templates above, the probability of obtaining the target accumulator bit-width, for a single layer, was determined experimentally by training 10 models for each of the following data-sets. -| probability of obtaining
the accumulator bit-width | 8 | 10 | 12 | 14 | 16 | -| ------------------------------------------------------ | --- | ---- | --- | --- | ---- | -| mnist,fashion | 72% | 100% | 72% | 85% | 100% | -| cifar10 | 88% | 88% | 75% | 75% | 88% | -| cifar100 | 73% | 88% | 61% | 66% | 100% | +|

probability of obtaining
the accumulator bit-width

| 8 | 10 | 12 | 14 | 16 | +| ------------------------------------------------------------ | --- | ---- | --- | --- | ---- | +| mnist,fashion | 72% | 100% | 72% | 85% | 100% | +| cifar10 | 88% | 88% | 75% | 75% | 88% | +| cifar100 | 73% | 88% | 61% | 66% | 100% | -Note that the accuracy on larger data-sets, when the accumulator size is low, is also reduced -strongly. +Note that the accuracy on larger data-sets, when the accumulator size is low, is also reduced strongly. -| accuracy for target
accumulator bit-width | 8 | 10 | 12 | 14 | 16 | -| ---------------------------------------------- | --- | --- | --- | --- | --- | -| cifar10 | 20% | 37% | 89% | 90% | 90% | -| cifar100 | 6% | 30% | 67% | 69% | 69% | +|

accuracy for target
accumulator bit-width

| 8 | 10 | 12 | 14 | 16 | +| --------------------------------------------------- | --- | --- | --- | --- | --- | +| cifar10 | 20% | 37% | 89% | 90% | 90% | +| cifar100 | 6% | 30% | 67% | 69% | 69% | ## Running encrypted inference @@ -105,20 +96,18 @@ x_test = numpy.array([numpy.random.randn(N_FEAT)]) y_pred = quantized_module.forward(x_test, fhe="execute") ``` -In this example, the input values `x_test` and the predicted values `y_pred` are floating points. -The quantization (resp. de-quantization) step is done in the clear within the `forward` method, before (resp. after) any FHE computations. +In this example, the input values `x_test` and the predicted values `y_pred` are floating points. The quantization (resp. de-quantization) step is done in the clear within the `forward` method, before (resp. after) any FHE computations. ## Simulated FHE Inference in the clear The user can also perform the inference on clear data. Two approaches exist: - `quantized_module.forward(quantized_x, fhe="simulate")`: simulates FHE execution taking into account Table Lookup errors.\ - De-quantization must be done in a second step as for actual FHE execution. Simulation takes into - account the `p_error`/`global_p_error` parameters + De-quantization must be done in a second step as for actual FHE execution. Simulation takes into account the `p_error`/`global_p_error` parameters - `quantized_module.forward(quantized_x, fhe="disable")`: computes predictions in the clear on quantized data, and then de-quantize the result. The return value of this function contains the de-quantized (float) output of running the model in the clear. Calling this function on clear data is useful when debugging, but this does not perform actual FHE simulation. {% hint style="info" %} -FHE simulation allows to measure the impact of the Table Lookup error on the model accuracy. The Table Lookup error can be adjusted using `p_error`/`global_p_error`, as described in the [approximate computation ](../advanced-topics/advanced_features.md#approximate-computations)section. +FHE simulation allows to measure the impact of the Table Lookup error on the model accuracy. The Table Lookup error can be adjusted using `p_error`/`global_p_error`, as described in the [approximate computation ](../explanations/advanced_features.md#approximate-computations)section. {% endhint %} ## Generic Quantization Aware Training import @@ -127,7 +116,7 @@ While the example above shows how to import a Brevitas/PyTorch model, Concrete M QAT models contain quantizers in the PyTorch graph. These quantizers ensure that the inputs to the Linear/Dense and Conv layers are quantized. -Suppose that `n_bits_qat` is the bit-width of activations and weights during the QAT process. To import a PyTorch QAT network, you can use the [`compile_torch_model`](../developer-guide/api/concrete.ml.torch.compile.md#function-compile_torch_model) library function, passing `import_qat=True`: +Suppose that `n_bits_qat` is the bit-width of activations and weights during the QAT process. To import a PyTorch QAT network, you can use the [`compile_torch_model`](../references/api/concrete.ml.torch.compile.md#function-compile_torch_model) library function, passing `import_qat=True`: @@ -143,7 +132,7 @@ quantized_module = compile_torch_model( ) ``` -Alternatively, if you want to import an ONNX model directly, please see [the ONNX guide](onnx_support.md). The [`compile_onnx_model`](../developer-guide/api/concrete.ml.torch.compile.md#function-compile_onnx_model) also supports the `import_qat` parameter. +Alternatively, if you want to import an ONNX model directly, please see [the ONNX guide](onnx_support.md). The [`compile_onnx_model`](../references/api/concrete.ml.torch.compile.md#function-compile_onnx_model) also supports the `import_qat` parameter. {% hint style="warning" %} When importing QAT models using this generic pipeline, a representative calibration set should be given as quantization parameters in the model need to be inferred from the statistics of the values encountered during inference. diff --git a/docs/developer-guide/inner-workings/README.md b/docs/developer-guide/inner-workings/README.md deleted file mode 100644 index 9b5114266..000000000 --- a/docs/developer-guide/inner-workings/README.md +++ /dev/null @@ -1 +0,0 @@ -# Inner Workings diff --git a/docs/developer-guide/workflow/README.md b/docs/developer-guide/workflow/README.md deleted file mode 100644 index dd049b139..000000000 --- a/docs/developer-guide/workflow/README.md +++ /dev/null @@ -1 +0,0 @@ -# Workflow diff --git a/docs/developer-guide/contributing.md b/docs/developer/contributing.md similarity index 100% rename from docs/developer-guide/contributing.md rename to docs/developer/contributing.md diff --git a/docs/developer-guide/debug_support_submit_issues.md b/docs/developer/debug_support_submit_issues.md similarity index 100% rename from docs/developer-guide/debug_support_submit_issues.md rename to docs/developer/debug_support_submit_issues.md diff --git a/docs/developer-guide/docker_setup.md b/docs/developer/docker_setup.md similarity index 100% rename from docs/developer-guide/docker_setup.md rename to docs/developer/docker_setup.md diff --git a/docs/developer-guide/documenting.md b/docs/developer/documenting.md similarity index 100% rename from docs/developer-guide/documenting.md rename to docs/developer/documenting.md diff --git a/docs/developer-guide/project_setup.md b/docs/developer/project_setup.md similarity index 98% rename from docs/developer-guide/project_setup.md rename to docs/developer/project_setup.md index e2d5d5aac..4bbfaa4d6 100644 --- a/docs/developer-guide/project_setup.md +++ b/docs/developer/project_setup.md @@ -1,15 +1,15 @@ -# Set Up the Project +# Set up the project Concrete ML is a `Python` library, so `Python` should be installed to develop Concrete ML. `v3.8` and `v3.9` are the only supported versions. Concrete ML also uses `Poetry` and `Make`. First of all, you need to `git clone` the project: - + @@ -19,8 +19,6 @@ git clone https://github.com/zama-ai/concrete-ml Several files are tracked by [git-lfs](https://git-lfs.github.com/). While a few are required for running some tests, most of them are used for benchmarking and use case examples. By default, `git clone` downloads all LFS files, which can add up to several hundreds of MB to the directory. Is it however possible to disable such behavior by running the running the following command instead : - - ```bash @@ -168,7 +166,7 @@ rm -rf .venv make setup_env ``` -At this point, you should consider using Docker as nobody will have the exact same setup as you. If, however, you need to develop on your OS directly, you can [ask Zama for help](../README.md#support). +At this point, you should consider using Docker as nobody will have the exact same setup as you. If, however, you need to develop on your OS directly, you can [ask Zama for help](../README.md#supports). #### in Docker diff --git a/docs/advanced-topics/advanced_features.md b/docs/explanations/advanced_features.md similarity index 99% rename from docs/advanced-topics/advanced_features.md rename to docs/explanations/advanced_features.md index d30180a9b..e0963ea0c 100644 --- a/docs/advanced-topics/advanced_features.md +++ b/docs/explanations/advanced_features.md @@ -1,4 +1,4 @@ -# Advanced Features +# Advanced features Concrete ML provides features for advanced users to adjust cryptographic parameters generated by the Concrete stack. This allows users to identify the best trade-off between latency and performance for their specific machine learning models. @@ -26,7 +26,7 @@ In Concrete ML, there are three different ways to define the tolerance to off-by The first way to set error probabilities in Concrete ML is at the local level, by directly setting the tolerance to error of each individual TLU operation (such as activation functions for a neuron output). This tolerance is referred to as `p_error`. A given PBS operation has a `1 - p_error` chance of being correct 100% of the time. The successful evaluation here means that the value decrypted after FHE evaluation is exactly the same as the one that would be computed in the clear. Otherwise, off-by-one errors might occur, but, in practice, these errors are not necessarily problematic if they are sufficiently rare. -For simplicity, it is best to use [default options](advanced_features.md#using-default-error-probability), irrespective of the type of model. Especially for deep neural networks, default values may be too pessimistic, reducing computation speed without any improvement in accuracy. For deep neural networks, some TLU errors might not affect the accuracy of the network, so `p_error` can be safely increased (e.g., see CIFAR classifications in [our showcase](../getting-started/showcase.md)). +For simplicity, it is best to use [default options](advanced_features.md#using-default-error-probability), irrespective of the type of model. Especially for deep neural networks, default values may be too pessimistic, reducing computation speed without any improvement in accuracy. For deep neural networks, some TLU errors might not affect the accuracy of the network, so `p_error` can be safely increased (e.g., see CIFAR classifications in [our showcase](../tutorials/showcase.md)). Here is a visualization of the effect of the `p_error` on a neural network model with a `p_error = 0.1` compared to execution in the clear (i.e., no error): @@ -162,7 +162,7 @@ $$t = L - P$$ Then, the rounding operation can be computed as: -$$ \mathrm{round\_to\_P\_bits}(x, t) = \left\lfloor \frac{x}{2^t} \right\rceil \cdot 2^t $$ +$$\mathrm{round\_to\_P\_bits}(x, t) = \left\lfloor \frac{x}{2^t} \right\rceil \cdot 2^t$$ where $$x$$ is the input number, and $$\lfloor \cdot \rceil$$ denotes the operation that rounds to the nearest integer. diff --git a/docs/advanced-topics/compilation.md b/docs/explanations/compilation.md similarity index 91% rename from docs/advanced-topics/compilation.md rename to docs/explanations/compilation.md index 298cfafcb..261f5bd05 100644 --- a/docs/advanced-topics/compilation.md +++ b/docs/explanations/compilation.md @@ -14,13 +14,13 @@ From the perspective of the Concrete ML user, the compilation process performed 1. checking the op-graph for FHE compatability 1. producing machine code for the op-graph (this step automatically determines cryptographic parameters) -Additionally, the [client/server API](client_server.md) packages the result of the last step in a way that allows the deployment of the encrypted circuit to a server, as well as key generation, encryption, and decryption on the client side. +Additionally, the [client/server API](../guides/client_server.md) packages the result of the last step in a way that allows the deployment of the encrypted circuit to a server, as well as key generation, encryption, and decryption on the client side. ### Built-in models Compilation is performed for built-in models with the `compile` method : - + ```python clf.compile(X_train) @@ -28,8 +28,7 @@ Compilation is performed for built-in models with the `compile` method : ### scikit-learn pipelines -When using a pipeline, the Concrete ML model can predict with FHE during the pipeline execution, but it needs -to be compiled beforehand. The compile function must be called on the Concrete ML model: +When using a pipeline, the Concrete ML model can predict with FHE during the pipeline execution, but it needs to be compiled beforehand. The compile function must be called on the Concrete ML model: ```python import numpy @@ -71,7 +70,7 @@ model_pca.predict(X_test[[0]], fhe="execute") For custom models, with one of the `compile_brevitas_qat_model` (for Brevitas models with Quantization Aware Training) or `compile_torch_model` (PyTorch models using Post-Training Quantization) functions: - + ```python quantized_numpy_module = compile_brevitas_qat_model(torch_model, X_train) @@ -88,7 +87,7 @@ The result of this single step of the compilation pipeline allows the: Simulation is enabled for all Concrete ML models once they are compiled as shown above. Obtaining the simulated predictions of the models is done by setting the `fhe="simulate"` argument to prediction methods: - + ```python Z = clf.predict_proba(X, fhe="simulate") @@ -96,7 +95,7 @@ Simulation is enabled for all Concrete ML models once they are compiled as shown Moreover, the maximum accumulator bit-width is determined as follows: - + ```python bit_width = clf.quantized_module_.fhe_circuit.graph.maximum_integer_bit_width() diff --git a/docs/explanations/inner-workings/README.md b/docs/explanations/inner-workings/README.md new file mode 100644 index 000000000..ec1fb4694 --- /dev/null +++ b/docs/explanations/inner-workings/README.md @@ -0,0 +1,3 @@ +# Project architecture + +
Importing ONNXonnx_pipeline.md
Quantization toolsquantization_internal.md
FHE op-graph designfhe-op-graphs.md
External librariesexternal_libraries.md
diff --git a/docs/developer-guide/external_libraries.md b/docs/explanations/inner-workings/external_libraries.md similarity index 85% rename from docs/developer-guide/external_libraries.md rename to docs/explanations/inner-workings/external_libraries.md index 28918e9aa..7e0da2b2c 100644 --- a/docs/developer-guide/external_libraries.md +++ b/docs/explanations/inner-workings/external_libraries.md @@ -1,4 +1,4 @@ -# External Libraries +# External libraries ## Hummingbird @@ -48,9 +48,9 @@ Concrete ML uses [skorch](https://skorch.readthedocs.io/en/stable/) to implement This wrapper implements Torch training boilerplate code, lessening the work required of the user. It is possible to add hooks during the training phase, for example once an epoch is finished. -skorch allows the user to easily create a classifier or regressor around a neural network (NN), implemented in Torch as a `nn.Module`, which is used by Concrete ML to provide a fully-connected, multi-layer NN with a configurable number of layers and optional pruning (see [pruning](../advanced-topics/pruning.md) and the [neural network documentation](../built-in-models/neural-networks.md) for more information). +skorch allows the user to easily create a classifier or regressor around a neural network (NN), implemented in Torch as a `nn.Module`, which is used by Concrete ML to provide a fully-connected, multi-layer NN with a configurable number of layers and optional pruning (see [pruning](../pruning.md) and the [neural network documentation](../../built-in-models/neural-networks.md) for more information). -Under the hood, Concrete ML uses a skorch wrapper around a single PyTorch module, `SparseQuantNeuralNetwork`. More information can be found [in the API guide](./api/concrete.ml.sklearn.qnn_module.md#class-sparsequantneuralnetwork). +Under the hood, Concrete ML uses a skorch wrapper around a single PyTorch module, `SparseQuantNeuralNetwork`. More information can be found [in the API guide](../../references/api/concrete.ml.sklearn.qnn_module.md#class-sparsequantneuralnetwork). ``` class SparseQuantNeuralNetImpl(nn.Module): @@ -64,7 +64,7 @@ class SparseQuantNeuralNetImpl(nn.Module): While Brevitas provides many types of quantization, for Concrete ML, a custom _"mixed integer"_ quantization applies. This _"mixed integer"_ quantization is much simpler than the _"integer only"_ mode of Brevitas. The _"mixed integer"_ network design is defined as: - all weights and activations of convolutional, linear and pooling layers must be quantized (e.g., using Brevitas layers, `QuantConv2D`, `QuantAvgPool2D`, `QuantLinear`) -- PyTorch floating-point versions of univariate functions can be used (e.g., `torch.relu`, `nn.BatchNormalization2D`, `torch.max` (encrypted vs. constant), `torch.add`, `torch.exp`). See the [PyTorch supported layers page](../deep-learning/torch_support.md) for a full list. +- PyTorch floating-point versions of univariate functions can be used (e.g., `torch.relu`, `nn.BatchNormalization2D`, `torch.max` (encrypted vs. constant), `torch.add`, `torch.exp`). See the [PyTorch supported layers page](../../deep-learning/torch_support.md) for a full list. The _"mixed integer"_ mode used in Concrete ML neural networks is based on the [_"integer only"_ Brevitas quantization](https://github.com/Xilinx/brevitas#low-precision-integer-only-lenet) that makes both weights and activations representable as integers during training. However, through the use of lookup tables in Concrete ML, floating point univariate PyTorch functions are supported. @@ -88,7 +88,7 @@ class QATnetwork(nn.Module): For examples of such a _"mixed integer"_ network design, please see the Quantization Aware Training examples: -- [QuantizationAwareTraining.ipynb](../../docs/advanced_examples/QuantizationAwareTraining.ipynb) -- [ConvolutionalNeuralNetwork.ipynb](../../docs/advanced_examples/ConvolutionalNeuralNetwork.ipynb) +- [QuantizationAwareTraining.ipynb](../../advanced_examples/QuantizationAwareTraining.ipynb) +- [ConvolutionalNeuralNetwork.ipynb](../../advanced_examples/ConvolutionalNeuralNetwork.ipynb) -You can also refer to the [`SparseQuantNeuralNetImpl`](./api/concrete.ml.sklearn.qnn_module.md#class-sparsequantneuralnetwork) class, which is the basis of the built-in `NeuralNetworkClassifier`. +You can also refer to the [`SparseQuantNeuralNetImpl`](../../references/api/concrete.ml.sklearn.qnn_module.md#class-sparsequantneuralnetwork) class, which is the basis of the built-in `NeuralNetworkClassifier`. diff --git a/docs/developer-guide/fhe-op-graphs.md b/docs/explanations/inner-workings/fhe-op-graphs.md similarity index 97% rename from docs/developer-guide/fhe-op-graphs.md rename to docs/explanations/inner-workings/fhe-op-graphs.md index 22c511431..a83bf1e46 100644 --- a/docs/developer-guide/fhe-op-graphs.md +++ b/docs/explanations/inner-workings/fhe-op-graphs.md @@ -1,4 +1,4 @@ -# FHE Op-graph Design +# FHE Op-graph design The [ONNX import](onnx_pipeline.md) section gave an overview of the conversion of a generic ONNX graph to an FHE-compatible Concrete ML op-graph. This section describes the implementation of operations in the Concrete ML op-graph and the way floating point can be used in some parts of the op-graphs through table lookup operations. @@ -9,13 +9,13 @@ Concrete, the underlying implementation of TFHE that powers Concrete ML, enables 1. **arithmetic operations**: the addition of two encrypted values and multiplication of encrypted values with clear scalars. These are used, for example, in dot-products, matrix multiplication (linear layers), and convolution. 1. **table lookup operations (TLU)**: using an encrypted value as an index, return the value of a lookup table at that index. This is implemented using Programmable Bootstrapping. This operation is used to perform any non-linear computation such as activation functions, quantization, and normalization. -Since machine learning models use floating point inputs and weights, they first need to be converted to integers using [quantization](../advanced-topics/quantization.md). +Since machine learning models use floating point inputs and weights, they first need to be converted to integers using [quantization](../quantization.md). Alternatively, it is possible to use a table lookup to avoid the quantization of the entire graph, by converting floating-point ONNX subgraphs into lambdas and computing their corresponding lookup tables to be evaluated directly in FHE. This operator-fusion technique only requires the input and output of the lambdas to be integers. For example, in the following graph there is a single input, which must be an encrypted integer tensor. The following series of univariate functions is then fed into a matrix multiplication (MatMul) and fused into a single table lookup with integer inputs and outputs. -![](../.gitbook/assets/image_3.png) +![](../../.gitbook/assets/image_3.png) ## ONNX operations @@ -30,7 +30,7 @@ Thus, `QuantizedOp` instances may need to quantize their inputs or the result of The `QuantizedOp` class provides a generic implementation of an ONNX operation, including the quantization of inputs and outputs, with the computation implemented in NumPy in `ops_impl.py`. It is possible to picture the architecture of the `QuantizedOp` as the following structure: -![](../.gitbook/assets/image_4.png) +![](../../.gitbook/assets/image_4.png) This figure shows that the `QuantizedOp` has a body that implements the computation of the operation, following the [ONNX spec](https://github.com/onnx/onnx/blob/main/docs/Operators.md). The operation's body can take either integer or float inputs and can output float or integer values. Two quantizers are attached to the operation: one that takes float inputs and produces integer inputs and one that does the same for the output. @@ -38,7 +38,7 @@ This figure shows that the `QuantizedOp` has a body that implements the computat Depending on the position of the op in the graph and its inputs, the `QuantizedOp` can be fully fused to a TLU. -![](../.gitbook/assets/image_8.png) +![](../../.gitbook/assets/image_8.png) Many ONNX ops are trivially univariate, as they multiply variable inputs with constants or apply univariate functions such as ReLU, Sigmoid, etc. This includes operations between the input and the MatMul in the graph above (subtraction, comparison, multiplication, etc. between inputs and constants). @@ -46,15 +46,15 @@ Many ONNX ops are trivially univariate, as they multiply variable inputs with co Operations, such as matrix multiplication of encrypted inputs with a constant matrix or convolution with constant weights, require that the encrypted inputs be integers. In this case, the input quantizer of the `QuantizedOp` is applied. These types of operations are implemented with a class that derives from `QuantizedOp` and implements `q_impl`, such as `QuantizedGemm` and `QuantizedConv`. -![](../.gitbook/assets/image_5.png) +![](../../.gitbook/assets/image_5.png) ### Operations that produce graph outputs Finally, some operations produce graph outputs, which must be integers. These operations need to quantize their outputs as follows: -![](../.gitbook/assets/image_1.png) +![](../../.gitbook/assets/image_1.png) -![](../.gitbook/assets/image_9.png) +![](../../.gitbook/assets/image_9.png) The diagram above shows that both float ops and integer ops need to quantize their outputs to integers when placed at the end of the graph. @@ -62,7 +62,7 @@ The diagram above shows that both float ops and integer ops need to quantize the To chain the operation types described above following the ONNX graph, Concrete ML constructs a function that calls the `q_impl` of the `QuantizedOp` instances in the graph in sequence, and uses Concrete to trace the execution and compile to FHE. Thus, in this chain of function calls, all groups of that instruction that operate in floating point will be fused to TLUs. In FHE, this lookup table is computed with a PBS. -![](../.gitbook/assets/image_6.png) +![](../../.gitbook/assets/image_6.png) The red contours show the groups of elementary Concrete instructions that will be converted to TLUs. diff --git a/docs/developer-guide/onnx_pipeline.md b/docs/explanations/inner-workings/onnx_pipeline.md similarity index 79% rename from docs/developer-guide/onnx_pipeline.md rename to docs/explanations/inner-workings/onnx_pipeline.md index 91fb21076..58a65d66a 100644 --- a/docs/developer-guide/onnx_pipeline.md +++ b/docs/explanations/inner-workings/onnx_pipeline.md @@ -14,17 +14,17 @@ All Concrete ML built-in models follow the same pattern for FHE conversion: 1. All models have a PyTorch implementation for inference. This implementation is provided either by a third-party tool such as [Hummingbird](external_libraries.md#hummingbird) or implemented directly in Concrete ML. 1. The PyTorch model is exported to ONNX. For more information on the use of ONNX in Concrete ML, see [here](onnx_pipeline.md#torch-to-numpy-conversion-using-onnx). 1. The Concrete ML ONNX parser checks that all the operations in the ONNX graph are supported and assigns reference NumPy operations to them. This step produces a `NumpyModule`. -1. Quantization is performed on the [`NumpyModule`](./api/concrete.ml.torch.numpy_module.md#class-numpymodule), producing a [`QuantizedModule`](./api/concrete.ml.quantization.quantized_module.md#class-quantizedmodule). Two steps are performed: calibration and assignment of equivalent [`QuantizedOp`](./api/concrete.ml.quantization.base_quantized_op.md#class-quantizedop) objects to each ONNX operation. The `QuantizedModule` class is the quantized counterpart of the `NumpyModule`. +1. Quantization is performed on the [`NumpyModule`](../../references/api/concrete.ml.torch.numpy_module.md#class-numpymodule), producing a [`QuantizedModule`](../../references/api/concrete.ml.quantization.quantized_module.md#class-quantizedmodule). Two steps are performed: calibration and assignment of equivalent [`QuantizedOp`](../../references/api/concrete.ml.quantization.base_quantized_op.md#class-quantizedop) objects to each ONNX operation. The `QuantizedModule` class is the quantized counterpart of the `NumpyModule`. 1. Once the `QuantizedModule` is built, Concrete is used to trace the `._forward()` function of the `QuantizedModule`. -Moreover, by passing a user provided `nn.Module` to step 2 of the above process, Concrete ML supports custom user models. See the associated [FHE-friendly model documentation](../deep-learning/fhe_friendly_models.md) for instructions about working with such models. +Moreover, by passing a user provided `nn.Module` to step 2 of the above process, Concrete ML supports custom user models. See the associated [FHE-friendly model documentation](../../deep-learning/fhe_friendly_models.md) for instructions about working with such models. -![Torch compilation flow with ONNX](../.gitbook/assets/torch_to_numpy_with_onnx.svg) +![Torch compilation flow with ONNX](../../.gitbook/assets/torch_to_numpy_with_onnx.svg) Once an ONNX model is imported, it is converted to a `NumpyModule`, then to a `QuantizedModule` and, finally, to an FHE circuit. However, as the diagram shows, it is perfectly possible to stop at the `NumpyModule` level if you just want to run the PyTorch model as NumPy code without doing quantization. {% hint style="info" %} -Note that the `NumpyModule` interpreter currently [supports the following ONNX operators](../deep-learning/onnx_support.md#supported-operators). +Note that the `NumpyModule` interpreter currently [supports the following ONNX operators](../../deep-learning/onnx_support.md#supported-operators). {% endhint %} ## Inspecting the ONNX models diff --git a/docs/developer-guide/quantization_internal.md b/docs/explanations/inner-workings/quantization_internal.md similarity index 93% rename from docs/developer-guide/quantization_internal.md rename to docs/explanations/inner-workings/quantization_internal.md index 370e87d6c..69fac2c29 100644 --- a/docs/developer-guide/quantization_internal.md +++ b/docs/explanations/inner-workings/quantization_internal.md @@ -1,17 +1,17 @@ -# Quantization Tools +# Quantization tools ## Quantizing data Concrete ML has support for quantized ML models and also provides quantization tools for Quantization Aware Training and Post-Training Quantization. The core of this functionality is the conversion of floating point values to integers and back. This is done using `QuantizedArray` in `concrete.ml.quantization`. -The [`QuantizedArray`](./api/concrete.ml.quantization.quantizers.md#class-quantizedarray) class takes several arguments that determine how float values are quantized: +The [`QuantizedArray`](../../references/api/concrete.ml.quantization.quantizers.md#class-quantizedarray) class takes several arguments that determine how float values are quantized: - `n_bits` defines the precision used in quantization - `values` are floating point values that will be converted to integers - `is_signed` determines if the quantized integer values should allow negative values - `is_symmetric` determines if the range of floating point values to be quantized should be taken as symmetric around zero -See also the [UniformQuantizer](./api/concrete.ml.quantization.quantizers.md#class-uniformquantizer) reference for more information: +See also the [UniformQuantizer](../../references/api/concrete.ml.quantization.quantizers.md#class-uniformquantizer) reference for more information: ```python from concrete.ml.quantization import QuantizedArray @@ -92,7 +92,7 @@ Calibration is the process of determining the typical distributions of values en To perform calibration, an interpreter goes through the ONNX graph in [topological order](https://en.wikipedia.org/wiki/Topological_sorting) and stores the intermediate results as it goes. The statistics of these values determine quantization parameters. {% endhint %} -That `QuantizedModule` generates the Concrete function that is compiled to FHE. The compilation will succeed if the intermediate values conform to the 16-bits precision limit of the Concrete stack. See [the compilation section](../advanced-topics/compilation.md) for details. +That `QuantizedModule` generates the Concrete function that is compiled to FHE. The compilation will succeed if the intermediate values conform to the 16-bits precision limit of the Concrete stack. See [the compilation section](../compilation.md) for details. ## Resources diff --git a/docs/advanced-topics/pruning.md b/docs/explanations/pruning.md similarity index 97% rename from docs/advanced-topics/pruning.md rename to docs/explanations/pruning.md index 45fdc990d..33989917b 100644 --- a/docs/advanced-topics/pruning.md +++ b/docs/explanations/pruning.md @@ -33,7 +33,7 @@ Fixing some of the weights to 0 makes the network graph look more similar to the ![Pruned Fully Connected Neural Network](../figures/prunednet.png) -While pruning weights can reduce the prediction performance of the neural network, studies show that a high level of pruning (above 50%) can often be applied. See here how Concrete ML uses pruning in [Fully Connected Neural Networks](../developer-guide/api/concrete.ml.sklearn.qnn.md#class-neuralnetclassifier). +While pruning weights can reduce the prediction performance of the neural network, studies show that a high level of pruning (above 50%) can often be applied. See here how Concrete ML uses pruning in [Fully Connected Neural Networks](../references/api/concrete.ml.sklearn.qnn.md#class-neuralnetclassifier). ## Pruning in practice diff --git a/docs/advanced-topics/quantization.md b/docs/explanations/quantization.md similarity index 98% rename from docs/advanced-topics/quantization.md rename to docs/explanations/quantization.md index 66f549ec9..c9866ddc4 100644 --- a/docs/advanced-topics/quantization.md +++ b/docs/explanations/quantization.md @@ -63,7 +63,7 @@ For built-in **neural networks**, the maximum accumulator bit-width cannot be pr The models implemented in Concrete ML provide features to let the user quantize the input data and de-quantize the output data. -In a client/server setting, the client is responsible for quantizing inputs before sending them, encrypted, to the server. The client must then de-quantize the encrypted integer results received from the server. See the [Production Deployment](client_server.md) section for more details. +In a client/server setting, the client is responsible for quantizing inputs before sending them, encrypted, to the server. The client must then de-quantize the encrypted integer results received from the server. See the [Production Deployment](../guides/client_server.md) section for more details. Here is a simple example showing how to perform inference, starting from float values and ending up with float values. The FHE engine that is compiled for ML models does not support data batching. diff --git a/docs/getting-started/README.md b/docs/getting-started/README.md new file mode 100644 index 000000000..5202c2dc7 --- /dev/null +++ b/docs/getting-started/README.md @@ -0,0 +1,114 @@ +# What is Concrete ML? + +
+ +Concrete ML is an open source, privacy-preserving, machine learning framework based on Fully Homomorphic Encryption (FHE). It enables data scientists without any prior knowledge of cryptography to automatically turn machine learning models into their FHE equivalent, using familiar APIs from scikit-learn and PyTorch (see how it looks for [linear models](../built-in-models/linear.md), [tree-based models](../built-in-models/tree.md), and [neural networks](../built-in-models/neural-networks.md)). Concrete ML supports converting models for inference with FHE but can also [train some models](../built-in-models/training.md) on encrypted data. + +Fully Homomorphic Encryption is an encryption technique that allows computing directly on encrypted data, without needing to decrypt it. With FHE, you can build private-by-design applications without compromising on features. You can learn more about FHE in [this introduction](https://www.zama.ai/post/tfhe-deep-dive-part-1) or by joining the [FHE.org](https://fhe.org) community. + +Training on encrypted data provides the highest level of privacy but is slower than training on clear data. Federated learning is an alternative approach, where data privacy can be ensured by using a trusted gradient aggregator, coupled with optional _differential privacy_ instead of encryption. Concrete ML can import linear models, including logistic regression, that are trained using federated learning using the [`from_sklearn` function](../built-in-models/linear.md#pre-trained-models). + +## Example usage + +Here is a simple example of classification on encrypted data using logistic regression. More examples can be found [here](../tutorials/ml_examples.md). + +```python +from sklearn.datasets import make_classification +from sklearn.model_selection import train_test_split +from concrete.ml.sklearn import LogisticRegression + +# Lets create a synthetic data-set +x, y = make_classification(n_samples=100, class_sep=2, n_features=30, random_state=42) + +# Split the data-set into a train and test set +X_train, X_test, y_train, y_test = train_test_split( + x, y, test_size=0.2, random_state=42 +) + +# Now we train in the clear and quantize the weights +model = LogisticRegression(n_bits=8) +model.fit(X_train, y_train) + +# We can simulate the predictions in the clear +y_pred_clear = model.predict(X_test) + +# We then compile on a representative set +model.compile(X_train) + +# Finally we run the inference on encrypted inputs +y_pred_fhe = model.predict(X_test, fhe="execute") + +print(f"In clear : {y_pred_clear}") +print(f"In FHE : {y_pred_fhe}") +print(f"Similarity: {(y_pred_fhe == y_pred_clear).mean():.1%}") + +# Output: + # In clear : [0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0] + # In FHE : [0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0] + # Similarity: 100.0% +``` + +It is also possible to call encryption, model prediction, and decryption functions separately as follows. Executing these steps separately is equivalent to calling `predict_proba` on the model instance. + + + +```python +# Predict probability for a single example +y_proba_fhe = model.predict_proba(X_test[[0]], fhe="execute") + +# Quantize an original float input +q_input = model.quantize_input(X_test[[0]]) + +# Encrypt the input +q_input_enc = model.fhe_circuit.encrypt(q_input) + +# Execute the linear product in FHE +q_y_enc = model.fhe_circuit.run(q_input_enc) + +# Decrypt the result (integer) +q_y = model.fhe_circuit.decrypt(q_y_enc) + +# De-quantize and post-process the result +y0 = model.post_processing(model.dequantize_output(q_y)) + +print("Probability with `predict_proba`: ", y_proba_fhe) +print("Probability with encrypt/run/decrypt calls: ", y0) +``` + +This example shows the typical flow of a Concrete ML model: + +- The model is trained on unencrypted (plaintext) data using scikit-learn. As FHE operates over integers, Concrete ML quantizes the model to use only integers during inference. +- The quantized model is compiled to an FHE equivalent. Under the hood, the model is first converted to a Concrete Python program, then compiled. +- Inference can then be done on encrypted data. The above example shows encrypted inference in the model-development phase. Alternatively, during [deployment](cloud.md) in a client/server setting, the data is encrypted by the client, processed securely by the server, and then decrypted by the client. + +## Current limitations + +To make a model work with FHE, the only constraint is to make it run within the supported precision limitations of Concrete ML (currently 16-bit integers). Thus, machine learning models must be quantized, which sometimes leads to a loss of accuracy versus the original model, which operates on plaintext. + +Additionally, Concrete ML currently only supports training on encrypted data for some models, while it supports _inference_ for a large variety of models. + +Finally, there is currently no support for pre-processing model inputs and post-processing model outputs. These processing stages may involve text-to-numerical feature transformation, dimensionality reduction, KNN or clustering, featurization, normalization, and the mixing of results of ensemble models. + +These issues are currently being addressed, and significant improvements are expected to be released in the near future. + +## Concrete stack + +Concrete ML is built on top of Zama's [Concrete](https://github.com/zama-ai/concrete). + +## Online demos and tutorials + +Various tutorials are available for [built-in models](../tutorials/ml_examples.md) and [deep learning](../tutorials/dl_examples.md). Several stand-alone demos for use cases can be found in the [Demos and Tutorials](../tutorials/showcase.md) section. + +If you have built awesome projects using Concrete ML, feel free to let us know and we'll link to your work! + +## Additional resources + +- [Dedicated Concrete ML community support](https://community.zama.ai/c/concrete-ml/8) +- [Zama's blog](https://www.zama.ai/blog) +- [FHE.org community](https://fhe.org) + +## Support + +- Support forum: [https://community.zama.ai](https://community.zama.ai) (we answer in less than 24 hours). +- Live discussion on the FHE.org Discord server: [https://discord.fhe.org](https://discord.fhe.org) (inside the #**concrete** channel). +- Do you have a question about Zama? Write us on [Twitter](https://twitter.com/zama_fhe) or send us an email at: **hello@zama.ai** diff --git a/docs/getting-started/cloud.md b/docs/getting-started/cloud.md index 6422e6cab..b825c02b1 100644 --- a/docs/getting-started/cloud.md +++ b/docs/getting-started/cloud.md @@ -1,4 +1,4 @@ -# Inference in the Cloud +# Inference in the cloud Concrete ML models can be easily deployed in a client/server setting, enabling the creation of privacy-preserving services in the cloud. @@ -18,4 +18,4 @@ The steps detailed above are: 1. The server uses the _evaluation_ key to securely run inference on the user's data and sends back the encrypted result. 1. The client now decrypts the result and can send back new requests. -For more information on how to implement this basic secure inference protocol, refer to the [Production Deployment section](../advanced-topics/client_server.md) and to the [client/server example](../advanced_examples/ClientServer.ipynb). +For more information on how to implement this basic secure inference protocol, refer to the [Production Deployment section](../guides/client_server.md) and to the [client/server example](../advanced_examples/ClientServer.ipynb). diff --git a/docs/getting-started/concepts.md b/docs/getting-started/concepts.md index 5190449e7..9b1793db9 100644 --- a/docs/getting-started/concepts.md +++ b/docs/getting-started/concepts.md @@ -1,4 +1,4 @@ -# Key Concepts +# Key concepts Concrete ML is built on top of Concrete, which enables NumPy programs to be converted into FHE circuits. @@ -7,12 +7,12 @@ Concrete ML is built on top of Concrete, which enables NumPy programs to be conv ### I. Model development 1. **training:** A model is trained using plaintext, non-encrypted, training data. -1. **quantization:** The model is converted into an integer equivalent using quantization. Concrete ML performs this step either during training (Quantization Aware Training) or after training (Post-training Quantization), depending on model type. Quantization converts inputs, model weights, and all intermediate values of the inference computation to integers. More information is available [here](../advanced-topics/quantization.md). -1. **simulation:** Testing FHE models on very large data-sets can take a long time. Furthermore, not all models are compatible with FHE constraints out of the box. Simulation allows you to execute a model that was quantized, to measure the accuracy it would have in FHE, but also to determine the modifications required to make it FHE compatible. Simulation is described in more detail [here](../advanced-topics/compilation.md#fhe-simulation). -1. **compilation:** Once the model is quantized, simulation can confirm it has good accuracy in FHE. The model then needs to be compiled using Concrete's FHE Compiler to produce an equivalent FHE circuit. This circuit is represented as an MLIR program consisting of low level cryptographic operations. You can read more about FHE compilation [here](../advanced-topics/compilation.md), MLIR [here](https://mlir.llvm.org/), and about the low-level Concrete library [here](https://docs.zama.ai/concrete-core). +1. **quantization:** The model is converted into an integer equivalent using quantization. Concrete ML performs this step either during training (Quantization Aware Training) or after training (Post-training Quantization), depending on model type. Quantization converts inputs, model weights, and all intermediate values of the inference computation to integers. More information is available [here](../explanations/quantization.md). +1. **simulation:** Testing FHE models on very large data-sets can take a long time. Furthermore, not all models are compatible with FHE constraints out of the box. Simulation allows you to execute a model that was quantized, to measure the accuracy it would have in FHE, but also to determine the modifications required to make it FHE compatible. Simulation is described in more detail [here](../explanations/compilation.md#fhe-simulation). +1. **compilation:** Once the model is quantized, simulation can confirm it has good accuracy in FHE. The model then needs to be compiled using Concrete's FHE Compiler to produce an equivalent FHE circuit. This circuit is represented as an MLIR program consisting of low level cryptographic operations. You can read more about FHE compilation [here](../explanations/compilation.md), MLIR [here](https://mlir.llvm.org/), and about the low-level Concrete library [here](https://docs.zama.ai/concrete-core). 1. **inference:** The compiled model can then be executed on encrypted data, once the proper keys have been generated. The model can also be deployed to a server and used to run private inference on encrypted inputs. -You can find examples of the model development workflow [here](../built-in-models/ml_examples.md). +You can find examples of the model development workflow [here](../tutorials/ml_examples.md). ### II. Model deployment @@ -40,10 +40,10 @@ While Concrete ML users only need to understand the cryptography concepts above, To respect FHE constraints, all numerical programs that include non-linear operations over encrypted data must have all inputs, constants, and intermediate values represented with integers of a maximum of 16 bits. -Concrete ML quantizes the input data and model outputs in the same way as weights and activations. The main levers to control accumulator bit-width are the number of bits used for the inputs, weights, and activations of the model. These parameters are crucial to comply with the constraint on accumulator bit-widths. Please refer to [the quantization documentation](../advanced-topics/quantization.md) for more details about how to develop models with quantization in Concrete ML. +Concrete ML quantizes the input data and model outputs in the same way as weights and activations. The main levers to control accumulator bit-width are the number of bits used for the inputs, weights, and activations of the model. These parameters are crucial to comply with the constraint on accumulator bit-widths. Please refer to [the quantization documentation](../explanations/quantization.md) for more details about how to develop models with quantization in Concrete ML. -These methods may cause a reduction in the accuracy of the model since its representative power is diminished. Carefully choosing a quantization approach can alleviate accuracy loss, all the while allowing compilation to FHE. Concrete ML offers built-in models that include quantization algorithms, and users only need to configure some of their parameters, such as the number of bits, discussed above. See [the advanced quantization guide](../advanced-topics/quantization.md#configuring-model-quantization-parameters) for information about configuring these parameters for various models. +These methods may cause a reduction in the accuracy of the model since its representative power is diminished. Carefully choosing a quantization approach can alleviate accuracy loss, all the while allowing compilation to FHE. Concrete ML offers built-in models that include quantization algorithms, and users only need to configure some of their parameters, such as the number of bits, discussed above. See [the advanced quantization guide](../explanations/quantization.md#configuring-model-quantization-parameters) for information about configuring these parameters for various models. Additional specific methods can help to make models compatible with FHE constraints. For instance, dimensionality reduction can reduce the number of input features and, thus, the maximum accumulator bit-width reached within a circuit. Similarly, sparsity-inducing training methods, such as pruning, deactivate some features during inference. For now, dimensionality reduction is considered as a pre-processing step, while pruning is used in the [built-in neural networks](../built-in-models/neural-networks.md). -The configuration of model quantization parameters is illustrated in the advanced examples for [Linear and Logistic Regressions](../built-in-models/ml_examples.md) and dimensionality reduction is shown in the [Poisson regression example](../advanced_examples/PoissonRegression.ipynb). +The configuration of model quantization parameters is illustrated in the advanced examples for [Linear and Logistic Regressions](../tutorials/ml_examples.md) and dimensionality reduction is shown in the [Poisson regression example](../advanced_examples/PoissonRegression.ipynb). diff --git a/docs/getting-started/showcase.md b/docs/getting-started/showcase.md deleted file mode 100644 index e13bc2571..000000000 --- a/docs/getting-started/showcase.md +++ /dev/null @@ -1,129 +0,0 @@ -# Demos and Tutorials - -This section lists several demos that apply Concrete ML to some popular machine learning problems. They show -how to build ML models that perform well under FHE constraints, and then how to perform the conversion to FHE. - -Simpler tutorials that discuss only model usage and compilation are also available for [built-in models](../built-in-models/ml_examples.md) and [deep learning](../deep-learning/examples.md). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GPT-2 in FHE -

-

Privacy-preserving text generation based on a user's prompt

-
health.pnguse_case_examples/llm
Titanic -

-

Train an XGB classifier that can perform encrypted prediction for the Kaggle Titanic competition

-
titanic.pnguse_case_examples/titanic
Federated Learning and Private Inference -

-

Use federated learning to train a Logistic Regression while preserving training data confidentiality. - Import the model into Concrete ML and perform encrypted prediction

-
mnist.pnguse_case_examples/federated_learning
Neural Network Fine-tuning -

-

Fine-tune a VGG network to classify the CIFAR image data-sets and predict on encrypted data

-
nn.pnguse_case_examples/cifar/cifar_brevitas_finetuning
Neural Network Splitting for SaaS deployment -

-

Train a VGG-like CNN that classifies CIFAR10 encrypted images, and where an initial feature extractor is executed client-side

-
client-server-1.pnguse_case_examples/cifar/cifar_brevitas_with_model_splitting
Encrypted Image filtering -

-

A Hugging Face space that applies a variety of image filters to encrypted images

-
blurring.pnguse_case_examples/image_filtering
Encrypted sentiment analysis -

-

A Hugging Face space that securely analyzes the sentiment expressed in a short text

-
sentiment.pnguse_case_examples/sentiment_analysis_with_transformer
Credit Scoring -

-

Predict the chance of a given loan applicant defaulting on loan repayment

-
credit.pnguse_case_examples/credit_scoring
Healthcare diagnosis -

-

Give a diagnosis using FHE to preserve the privacy of the patient

-
health.pnguse_case_examples/disease_prediction
diff --git a/docs/advanced-topics/client_server.md b/docs/guides/client_server.md similarity index 100% rename from docs/advanced-topics/client_server.md rename to docs/guides/client_server.md diff --git a/docs/advanced-topics/hybrid-models.md b/docs/guides/hybrid-models.md similarity index 70% rename from docs/advanced-topics/hybrid-models.md rename to docs/guides/hybrid-models.md index 1c3b4c4f4..0cfc107eb 100644 --- a/docs/advanced-topics/hybrid-models.md +++ b/docs/guides/hybrid-models.md @@ -1,4 +1,4 @@ -# Hybrid model deployment +# Hybrid models FHE enables cloud applications to process private user data without running the risk of data leaks. Furthermore, deploying ML models in the cloud is advantageous as it eases model updates, allows to scale to large numbers of users by using large amounts of compute power, and protects model IP by keeping the model on a trusted server instead of the client device. @@ -7,13 +7,10 @@ However, not all applications can be easily converted to FHE computation and the Hybrid models provide a balance between on-device deployment and cloud-based deployment. This approach entails executing parts of the model directly on the client side, while other parts are securely processed with FHE on the server side. Concrete ML facilitates the hybrid deployment of various neural network models, including MLP (multilayer perceptron), CNN (convolutional neural network), and Large Language Models. {% hint style="warning" %} -If model IP protection is important, care must be taken in choosing the parts of a model to be executed on the cloud. Some -black-box model stealing attacks rely on knowledge distillation -or on differential methods. As a general rule, the difficulty -to steal a machine learning model is proportional to the size of the model, in terms of numbers of parameters and model depth. +If model IP protection is important, care must be taken in choosing the parts of a model to be executed on the cloud. Some black-box model stealing attacks rely on knowledge distillation or on differential methods. As a general rule, the difficulty to steal a machine learning model is proportional to the size of the model, in terms of numbers of parameters and model depth. {% endhint %} -The hybrid model deployment API provides an easy way to integrate the [standard deployment procedure](client_server.md) into neural network style models that are compiled with [`compile_brevitas_qat_model`](../developer-guide/api/concrete.ml.torch.compile.md#function-compile_brevitas_qat_model) or [`compile_torch_model`](../developer-guide/api/concrete.ml.torch.compile.md#function-compile_torch_model). +The hybrid model deployment API provides an easy way to integrate the [standard deployment procedure](client_server.md) into neural network style models that are compiled with [`compile_brevitas_qat_model`](../references/api/concrete.ml.torch.compile.md#function-compile_brevitas_qat_model) or [`compile_torch_model`](../references/api/concrete.ml.torch.compile.md#function-compile_torch_model). ## Compilation @@ -71,11 +68,9 @@ hybrid_model.save_and_clear_private_info(model_dir, via_mlir=True) ## Server Side Deployment -The [`save_and_clear_private_info`](../developer-guide/api/concrete.ml.torch.hybrid_model.md#method-save_and_clear_private_info) function serializes the FHE circuits -corresponding to the various parts of the model that were chosen to be moved -server-side. It also saves the client-side model, removing the weights of the layers that are transferred server-side. Furthermore it saves all necessary information required to serve these sub-models with FHE, using the [`FHEModelDev`](../developer-guide/api/concrete.ml.deployment.fhe_client_server.md#class-fhemodeldev) class. +The [`save_and_clear_private_info`](../references/api/concrete.ml.torch.hybrid_model.md#method-save_and_clear_private_info) function serializes the FHE circuits corresponding to the various parts of the model that were chosen to be moved server-side. It also saves the client-side model, removing the weights of the layers that are transferred server-side. Furthermore it saves all necessary information required to serve these sub-models with FHE, using the [`FHEModelDev`](../references/api/concrete.ml.deployment.fhe_client_server.md#class-fhemodeldev) class. -The [`FHEModelServer`](../developer-guide/api/concrete.ml.deployment.fhe_client_server.md#class-fhemodelserver) class should be used to create a server application that creates end-points to serve these sub-models: +The [`FHEModelServer`](../references/api/concrete.ml.deployment.fhe_client_server.md#class-fhemodelserver) class should be used to create a server application that creates end-points to serve these sub-models: @@ -89,8 +84,7 @@ For more information about serving FHE models, see the [client/server section](c ## Client Side -A client application that deploys a model with hybrid deployment can be developed -in a very similar manner to on-premise deployment: the model is loaded normally with PyTorch, but an extra step is required to specify the remote endpoint and the model parts that are to be executed remotely. +A client application that deploys a model with hybrid deployment can be developed in a very similar manner to on-premise deployment: the model is loaded normally with PyTorch, but an extra step is required to specify the remote endpoint and the model parts that are to be executed remotely. @@ -105,8 +99,7 @@ hybrid_model = HybridFHEModel( ) ``` -Next, the client application must obtain the parameters necessary to encrypt and -quantize data, as detailed in the [client/server documentation](client_server.md#production-deployment). +Next, the client application must obtain the parameters necessary to encrypt and quantize data, as detailed in the [client/server documentation](client_server.md#production-deployment). @@ -115,8 +108,7 @@ path_to_clients = Path(__file__).parent / "clients" hybrid_model.init_client(path_to_clients=path_to_clients) ``` -When the client application is ready to make inference requests to the server, it must -set the operation mode of the `HybridFHEModel` instance to `HybridFHEMode.REMOTE`: +When the client application is ready to make inference requests to the server, it must set the operation mode of the `HybridFHEModel` instance to `HybridFHEMode.REMOTE`: diff --git a/docs/advanced-topics/prediction_with_fhe.md b/docs/guides/prediction_with_fhe.md similarity index 100% rename from docs/advanced-topics/prediction_with_fhe.md rename to docs/guides/prediction_with_fhe.md diff --git a/docs/advanced-topics/serialization.md b/docs/guides/serialization.md similarity index 100% rename from docs/advanced-topics/serialization.md rename to docs/guides/serialization.md diff --git a/docs/index.toc.txt b/docs/index.toc.txt index a9cbab77a..5b8a45c79 100644 --- a/docs/index.toc.txt +++ b/docs/index.toc.txt @@ -9,10 +9,10 @@ :hidden: :caption: Getting Started + getting-started/README.md getting-started/pip_installing.md getting-started/concepts.md getting-started/cloud.md - getting-started/showcase.md .. toctree:: :maxdepth: 0 @@ -24,7 +24,6 @@ built-in-models/neural-networks.md built-in-models/nearest-neighbors.md built-in-models/pandas.md - built-in-models/ml_examples.md built-in-models/training.md .. toctree:: @@ -34,7 +33,6 @@ deep-learning/torch_support.md deep-learning/onnx_support.md - deep-learning/examples.md deep-learning/fhe_friendly_models.md deep-learning/fhe_assistant.md deep-learning/optimizing_inference.md @@ -42,41 +40,59 @@ .. toctree:: :maxdepth: 0 :hidden: - :caption: Advanced topics + :caption: Guides - advanced-topics/quantization.md - advanced-topics/pruning.md - advanced-topics/compilation.md - advanced-topics/prediction_with_fhe.md - advanced-topics/client_server.md - advanced-topics/advanced_features.md - advanced-topics/serialization.md - advanced-topics/hybrid-models.md + guides/prediction_with_fhe.md + guides/client_server.md + guides/hybrid-models.md + guides/serialization.md .. toctree:: :maxdepth: 0 :hidden: - :caption: Developer - Workflow + :caption: Tutorials - developer-guide/project_setup.md - developer-guide/docker_setup.md - developer-guide/documenting.md - developer-guide/debug_support_submit_issues.md - developer-guide/contributing.md + tutorials/showcase.md + tutorials/ml_examples.md + tutorials/dl_examples.md + +.. toctree:: + :maxdepth: 1 + :hidden: + :caption: API + + API <_apidoc/modules.rst> .. toctree:: :maxdepth: 0 :hidden: - :caption: Developer - Inner Workings + :caption: Explanations + + explanations/quantization.md + explanations/pruning.md + explanations/compilation.md + explanations/advanced_features.md + +.. toctree:: + :maxdepth: 1 + :hidden: + :caption: Project Architecture - developer-guide/onnx_pipeline.md - developer-guide/quantization_internal.md - developer-guide/fhe-op-graphs.md - developer-guide/external_libraries.md + explanations/inner-workings/README.md + explanations/inner-workings/onnx_pipeline.md + explanations/inner-workings/quantization_internal.md + explanations/inner-workings/fhe-op-graphs.md + explanations/inner-workings/external_libraries.md .. toctree:: :maxdepth: 0 :hidden: - :caption: API + :caption: Developer + + developer/project_setup.md + developer/docker_setup.md + developer/documenting.md + developer/debug_support_submit_issues.md + developer/contributing.md + - API <_apidoc/modules.rst> diff --git a/docs/developer-guide/api/README.md b/docs/references/api/README.md similarity index 100% rename from docs/developer-guide/api/README.md rename to docs/references/api/README.md diff --git a/docs/developer-guide/api/concrete.ml.common.check_inputs.md b/docs/references/api/concrete.ml.common.check_inputs.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.check_inputs.md rename to docs/references/api/concrete.ml.common.check_inputs.md diff --git a/docs/developer-guide/api/concrete.ml.common.debugging.custom_assert.md b/docs/references/api/concrete.ml.common.debugging.custom_assert.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.debugging.custom_assert.md rename to docs/references/api/concrete.ml.common.debugging.custom_assert.md diff --git a/docs/developer-guide/api/concrete.ml.common.debugging.md b/docs/references/api/concrete.ml.common.debugging.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.debugging.md rename to docs/references/api/concrete.ml.common.debugging.md diff --git a/docs/developer-guide/api/concrete.ml.common.md b/docs/references/api/concrete.ml.common.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.md rename to docs/references/api/concrete.ml.common.md diff --git a/docs/developer-guide/api/concrete.ml.common.serialization.decoder.md b/docs/references/api/concrete.ml.common.serialization.decoder.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.serialization.decoder.md rename to docs/references/api/concrete.ml.common.serialization.decoder.md diff --git a/docs/developer-guide/api/concrete.ml.common.serialization.dumpers.md b/docs/references/api/concrete.ml.common.serialization.dumpers.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.serialization.dumpers.md rename to docs/references/api/concrete.ml.common.serialization.dumpers.md diff --git a/docs/developer-guide/api/concrete.ml.common.serialization.encoder.md b/docs/references/api/concrete.ml.common.serialization.encoder.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.serialization.encoder.md rename to docs/references/api/concrete.ml.common.serialization.encoder.md diff --git a/docs/developer-guide/api/concrete.ml.common.serialization.loaders.md b/docs/references/api/concrete.ml.common.serialization.loaders.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.serialization.loaders.md rename to docs/references/api/concrete.ml.common.serialization.loaders.md diff --git a/docs/developer-guide/api/concrete.ml.common.serialization.md b/docs/references/api/concrete.ml.common.serialization.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.serialization.md rename to docs/references/api/concrete.ml.common.serialization.md diff --git a/docs/developer-guide/api/concrete.ml.common.utils.md b/docs/references/api/concrete.ml.common.utils.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.common.utils.md rename to docs/references/api/concrete.ml.common.utils.md diff --git a/docs/developer-guide/api/concrete.ml.deployment.deploy_to_aws.md b/docs/references/api/concrete.ml.deployment.deploy_to_aws.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.deployment.deploy_to_aws.md rename to docs/references/api/concrete.ml.deployment.deploy_to_aws.md diff --git a/docs/developer-guide/api/concrete.ml.deployment.deploy_to_docker.md b/docs/references/api/concrete.ml.deployment.deploy_to_docker.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.deployment.deploy_to_docker.md rename to docs/references/api/concrete.ml.deployment.deploy_to_docker.md diff --git a/docs/developer-guide/api/concrete.ml.deployment.fhe_client_server.md b/docs/references/api/concrete.ml.deployment.fhe_client_server.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.deployment.fhe_client_server.md rename to docs/references/api/concrete.ml.deployment.fhe_client_server.md diff --git a/docs/developer-guide/api/concrete.ml.deployment.md b/docs/references/api/concrete.ml.deployment.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.deployment.md rename to docs/references/api/concrete.ml.deployment.md diff --git a/docs/developer-guide/api/concrete.ml.deployment.server.md b/docs/references/api/concrete.ml.deployment.server.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.deployment.server.md rename to docs/references/api/concrete.ml.deployment.server.md diff --git a/docs/developer-guide/api/concrete.ml.deployment.utils.md b/docs/references/api/concrete.ml.deployment.utils.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.deployment.utils.md rename to docs/references/api/concrete.ml.deployment.utils.md diff --git a/docs/developer-guide/api/concrete.ml.onnx.convert.md b/docs/references/api/concrete.ml.onnx.convert.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.onnx.convert.md rename to docs/references/api/concrete.ml.onnx.convert.md diff --git a/docs/developer-guide/api/concrete.ml.onnx.md b/docs/references/api/concrete.ml.onnx.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.onnx.md rename to docs/references/api/concrete.ml.onnx.md diff --git a/docs/developer-guide/api/concrete.ml.onnx.onnx_impl_utils.md b/docs/references/api/concrete.ml.onnx.onnx_impl_utils.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.onnx.onnx_impl_utils.md rename to docs/references/api/concrete.ml.onnx.onnx_impl_utils.md diff --git a/docs/developer-guide/api/concrete.ml.onnx.onnx_model_manipulations.md b/docs/references/api/concrete.ml.onnx.onnx_model_manipulations.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.onnx.onnx_model_manipulations.md rename to docs/references/api/concrete.ml.onnx.onnx_model_manipulations.md diff --git a/docs/developer-guide/api/concrete.ml.onnx.onnx_utils.md b/docs/references/api/concrete.ml.onnx.onnx_utils.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.onnx.onnx_utils.md rename to docs/references/api/concrete.ml.onnx.onnx_utils.md diff --git a/docs/developer-guide/api/concrete.ml.onnx.ops_impl.md b/docs/references/api/concrete.ml.onnx.ops_impl.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.onnx.ops_impl.md rename to docs/references/api/concrete.ml.onnx.ops_impl.md diff --git a/docs/developer-guide/api/concrete.ml.pytest.md b/docs/references/api/concrete.ml.pytest.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.pytest.md rename to docs/references/api/concrete.ml.pytest.md diff --git a/docs/developer-guide/api/concrete.ml.pytest.torch_models.md b/docs/references/api/concrete.ml.pytest.torch_models.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.pytest.torch_models.md rename to docs/references/api/concrete.ml.pytest.torch_models.md diff --git a/docs/developer-guide/api/concrete.ml.pytest.utils.md b/docs/references/api/concrete.ml.pytest.utils.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.pytest.utils.md rename to docs/references/api/concrete.ml.pytest.utils.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.base_quantized_op.md b/docs/references/api/concrete.ml.quantization.base_quantized_op.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.base_quantized_op.md rename to docs/references/api/concrete.ml.quantization.base_quantized_op.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.md b/docs/references/api/concrete.ml.quantization.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.md rename to docs/references/api/concrete.ml.quantization.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.post_training.md b/docs/references/api/concrete.ml.quantization.post_training.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.post_training.md rename to docs/references/api/concrete.ml.quantization.post_training.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.quantized_module.md b/docs/references/api/concrete.ml.quantization.quantized_module.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.quantized_module.md rename to docs/references/api/concrete.ml.quantization.quantized_module.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.quantized_module_passes.md b/docs/references/api/concrete.ml.quantization.quantized_module_passes.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.quantized_module_passes.md rename to docs/references/api/concrete.ml.quantization.quantized_module_passes.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.quantized_ops.md b/docs/references/api/concrete.ml.quantization.quantized_ops.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.quantized_ops.md rename to docs/references/api/concrete.ml.quantization.quantized_ops.md diff --git a/docs/developer-guide/api/concrete.ml.quantization.quantizers.md b/docs/references/api/concrete.ml.quantization.quantizers.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.quantization.quantizers.md rename to docs/references/api/concrete.ml.quantization.quantizers.md diff --git a/docs/developer-guide/api/concrete.ml.search_parameters.md b/docs/references/api/concrete.ml.search_parameters.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.search_parameters.md rename to docs/references/api/concrete.ml.search_parameters.md diff --git a/docs/developer-guide/api/concrete.ml.search_parameters.p_error_search.md b/docs/references/api/concrete.ml.search_parameters.p_error_search.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.search_parameters.p_error_search.md rename to docs/references/api/concrete.ml.search_parameters.p_error_search.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.base.md b/docs/references/api/concrete.ml.sklearn.base.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.base.md rename to docs/references/api/concrete.ml.sklearn.base.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.glm.md b/docs/references/api/concrete.ml.sklearn.glm.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.glm.md rename to docs/references/api/concrete.ml.sklearn.glm.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.linear_model.md b/docs/references/api/concrete.ml.sklearn.linear_model.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.linear_model.md rename to docs/references/api/concrete.ml.sklearn.linear_model.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.md b/docs/references/api/concrete.ml.sklearn.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.md rename to docs/references/api/concrete.ml.sklearn.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.neighbors.md b/docs/references/api/concrete.ml.sklearn.neighbors.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.neighbors.md rename to docs/references/api/concrete.ml.sklearn.neighbors.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.qnn.md b/docs/references/api/concrete.ml.sklearn.qnn.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.qnn.md rename to docs/references/api/concrete.ml.sklearn.qnn.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.qnn_module.md b/docs/references/api/concrete.ml.sklearn.qnn_module.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.qnn_module.md rename to docs/references/api/concrete.ml.sklearn.qnn_module.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.rf.md b/docs/references/api/concrete.ml.sklearn.rf.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.rf.md rename to docs/references/api/concrete.ml.sklearn.rf.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.svm.md b/docs/references/api/concrete.ml.sklearn.svm.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.svm.md rename to docs/references/api/concrete.ml.sklearn.svm.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.tree.md b/docs/references/api/concrete.ml.sklearn.tree.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.tree.md rename to docs/references/api/concrete.ml.sklearn.tree.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.tree_to_numpy.md b/docs/references/api/concrete.ml.sklearn.tree_to_numpy.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.tree_to_numpy.md rename to docs/references/api/concrete.ml.sklearn.tree_to_numpy.md diff --git a/docs/developer-guide/api/concrete.ml.sklearn.xgb.md b/docs/references/api/concrete.ml.sklearn.xgb.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.sklearn.xgb.md rename to docs/references/api/concrete.ml.sklearn.xgb.md diff --git a/docs/developer-guide/api/concrete.ml.torch.compile.md b/docs/references/api/concrete.ml.torch.compile.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.torch.compile.md rename to docs/references/api/concrete.ml.torch.compile.md diff --git a/docs/developer-guide/api/concrete.ml.torch.hybrid_model.md b/docs/references/api/concrete.ml.torch.hybrid_model.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.torch.hybrid_model.md rename to docs/references/api/concrete.ml.torch.hybrid_model.md diff --git a/docs/developer-guide/api/concrete.ml.torch.md b/docs/references/api/concrete.ml.torch.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.torch.md rename to docs/references/api/concrete.ml.torch.md diff --git a/docs/developer-guide/api/concrete.ml.torch.numpy_module.md b/docs/references/api/concrete.ml.torch.numpy_module.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.torch.numpy_module.md rename to docs/references/api/concrete.ml.torch.numpy_module.md diff --git a/docs/developer-guide/api/concrete.ml.version.md b/docs/references/api/concrete.ml.version.md similarity index 100% rename from docs/developer-guide/api/concrete.ml.version.md rename to docs/references/api/concrete.ml.version.md diff --git a/docs/tutorials/dl_examples.md b/docs/tutorials/dl_examples.md new file mode 100644 index 000000000..6ff3017db --- /dev/null +++ b/docs/tutorials/dl_examples.md @@ -0,0 +1,23 @@ +# Deep learning examples + +These examples illustrate the basic usage of Concrete ML to build various types of neural networks. They use simple data-sets, focusing on the syntax and usage of Concrete ML. For examples showing how to train high-accuracy models on more complex data-sets, see the [Demos and Tutorials](showcase.md) section. + +## FHE constraints considerations + +The examples listed here make use of [simulation](../explanations/compilation.md#fhe-simulation) to perform evaluation over large test sets. Since FHE execution can be slow, only a few FHE executions can be performed. The [correctness guarantees](../getting-started/concepts.md#cryptography-concepts) of Concrete ML ensure that accuracy measured with simulation is the same as that which will be obtained during FHE execution. + +Some examples constrain accumulators to 7-8 bits, which can be sufficient for simple data-sets. Up to 16-bit accumulators can be used, but this introduces a slowdown of 4-5x compared to 8-bit accumulators. + +## List of Examples + +### 1. Step-by-step guide to building a custom NN + +[![](../.gitbook/assets/jupyter_logo.png) Quantization aware training example](../advanced_examples/QuantizationAwareTraining.ipynb) + +This shows how to use Quantization Aware Training and pruning when starting out from a classical PyTorch network. This example uses a simple data-set and a small NN, which achieves good accuracy with low accumulator size. + +### 2. Custom convolutional NN on the [Digits](https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html) data-set + +[![](../.gitbook/assets/jupyter_logo.png) Convolutional Neural Network](../advanced_examples/ConvolutionalNeuralNetwork.ipynb) + +Following the [Step-by-step guide](../deep-learning/fhe_friendly_models.md), this notebook implements a Quantization Aware Training convolutional neural network on the MNIST data-set. It uses 3-bit weights and activations, giving a 7-bit accumulator. diff --git a/docs/built-in-models/ml_examples.md b/docs/tutorials/ml_examples.md similarity index 60% rename from docs/built-in-models/ml_examples.md rename to docs/tutorials/ml_examples.md index 4fac38868..0751fc613 100644 --- a/docs/built-in-models/ml_examples.md +++ b/docs/tutorials/ml_examples.md @@ -1,6 +1,6 @@ -# Built-in Model Examples +# Built-in model examples -These examples illustrate the basic usage of built-in Concrete ML models. For more examples showing how to train high-accuracy models on more complex data-sets, see the [Demos and Tutorials](../getting-started/showcase.md) section. +These examples illustrate the basic usage of built-in Concrete ML models. For more examples showing how to train high-accuracy models on more complex data-sets, see the [Demos and Tutorials](showcase.md) section. ## FHE constraints @@ -11,59 +11,53 @@ Tree-based models apply non-linear functions that enable comparisons of inputs a In the examples below, built-in neural networks can be configured to work with user-specified accumulator sizes, which allow the user to adjust the speed/accuracy trade-off. {% hint style="info" %} -It is recommended to use [simulation](../advanced-topics/compilation.md#fhe-simulation) to configure the speed/accuracy trade-off for tree-based models and neural networks, using grid-search or your own heuristics. +It is recommended to use [simulation](../explanations/compilation.md#fhe-simulation) to configure the speed/accuracy trade-off for tree-based models and neural networks, using grid-search or your own heuristics. {% endhint %} ## List of examples ### 1. Linear models -[   Linear Regression example](../advanced_examples/LinearRegression.ipynb) -[   Logistic Regression example](../advanced_examples/LogisticRegression.ipynb) -[   Linear Support Vector Regression example](../advanced_examples/LinearSVR.ipynb) -[   Linear SVM classification](../advanced_examples/SVMClassifier.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) Linear Regression example](../advanced_examples/LinearRegression.ipynb) [![](../.gitbook/assets/jupyter_logo.png) Logistic Regression example](../advanced_examples/LogisticRegression.ipynb) [![](../.gitbook/assets/jupyter_logo.png) Linear Support Vector Regression example](../advanced_examples/LinearSVR.ipynb) [![](../.gitbook/assets/jupyter_logo.png) Linear SVM classification](../advanced_examples/SVMClassifier.ipynb) These examples show how to use the built-in linear models on synthetic data, which allows for easy visualization of the decision boundaries or trend lines. Executing these 1D and 2D models in FHE takes around 1 millisecond. ### 2. Generalized linear models -[   Poisson Regression example](../advanced_examples/PoissonRegression.ipynb) -[   Generalized Linear Models comparison](../advanced_examples/GLMComparison.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) Poisson Regression example](../advanced_examples/PoissonRegression.ipynb) [![](../.gitbook/assets/jupyter_logo.png) Generalized Linear Models comparison](../advanced_examples/GLMComparison.ipynb) These two examples show generalized linear models (GLM) on the real-world [OpenML insurance](https://www.openml.org/d/41214) data-set. As the non-linear, inverse-link functions are computed, these models do not use [PBS](../getting-started/concepts.md#cryptography-concepts), and are, thus, very fast (~1ms execution time). ### 3. Decision tree -[    Decision Tree Classifier](../advanced_examples/DecisionTreeClassifier.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) Decision Tree Classifier](../advanced_examples/DecisionTreeClassifier.ipynb) Using the [OpenML spams](https://www.openml.org/d/44) data-set, this example shows how to train a classifier that detects spam, based on features extracted from email messages. A grid-search is performed over decision-tree hyper-parameters to find the best ones. -[    Decision Tree Regressor](../advanced_examples/DecisionTreeRegressor.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) Decision Tree Regressor](../advanced_examples/DecisionTreeRegressor.ipynb) Using the [House Price prediction](https://www.openml.org/search?type=data&sort=runs&id=537) data-set, this example shows how to train regressor that predicts house prices. ### 4. XGBoost and Random Forest classifier -[   XGBoost/Random Forest example](../advanced_examples/XGBClassifier.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) XGBoost/Random Forest example](../advanced_examples/XGBClassifier.ipynb) This example shows how to train tree-ensemble models (either XGBoost or Random Forest), first on a synthetic data-set, and then on the [Diabetes](https://www.openml.org/d/37) data-set. Grid-search is used to find the best number of trees in the ensemble. ### 5. XGBoost regression -[   XGBoost Regression example](../advanced_examples/XGBRegressor.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) XGBoost Regression example](../advanced_examples/XGBRegressor.ipynb) Privacy-preserving prediction of house prices is shown in this example, using the [House Prices](https://www.openml.org/d/43926) data-set. Using 50 trees in the ensemble, with 5 bits of precision for the input features, the FHE regressor obtains an $$R^2$$ score of 0.90 and an execution time of 7-8 seconds. ### 6. Fully connected neural network -[   NN Iris example](../advanced_examples/FullyConnectedNeuralNetwork.ipynb) -[   NN MNIST example](../advanced_examples/FullyConnectedNeuralNetworkOnMNIST.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) NN Iris example](../advanced_examples/FullyConnectedNeuralNetwork.ipynb) [![](../.gitbook/assets/jupyter_logo.png) NN MNIST example](../advanced_examples/FullyConnectedNeuralNetworkOnMNIST.ipynb) Two different configurations of the built-in, fully-connected neural networks are shown. First, a small bit-width accumulator network is trained on [Iris](https://www.openml.org/d/61) and compared to a PyTorch floating point network. Second, a larger accumulator (>8 bits) is demonstrated on [MNIST](http://yann.lecun.com/exdb/mnist/). ### 7. Comparison of models -[   Classifier comparison](../advanced_examples/ClassifierComparison.ipynb) -[   Regressor comparison](../advanced_examples/RegressorComparison.ipynb) +[![](../.gitbook/assets/jupyter_logo.png) Classifier comparison](../advanced_examples/ClassifierComparison.ipynb) [![](../.gitbook/assets/jupyter_logo.png) Regressor comparison](../advanced_examples/RegressorComparison.ipynb) Based on three different synthetic data-sets, all the built-in classifiers are demonstrated in this notebook, showing accuracies, inference times, accumulator bit-widths, and decision boundaries. diff --git a/docs/tutorials/showcase.md b/docs/tutorials/showcase.md new file mode 100644 index 000000000..666350e8a --- /dev/null +++ b/docs/tutorials/showcase.md @@ -0,0 +1,43 @@ +# See all tutorials + +## Start here + +- [Build-in model examples](ml_examples.md) +- [Deep learning examples](dl_examples.md) + +## Go further + +### Live demos on Hugging Face: + +- [Credit card approval](https://huggingface.co/spaces/zama-fhe/credit_card_approval_prediction): Predicting credit scoring card approval application in which sensitive data can be shared and analyzed without exposing the actual information to neither the three parties involved, nor the server processing it. + - Check the code [here](https://huggingface.co/spaces/zama-fhe/credit_card_approval_prediction/tree/main) +- [Sentiment analysis with transformers](https://huggingface.co/blog/sentiment-analysis-fhe): predicting if an encrypted tweet / short message is positive, negative or neutral, using FHE. + - Check the code [here](https://huggingface.co/spaces/zama-fhe/encrypted_sentiment_analysis/tree/main) and the [blog post](https://huggingface.co/blog/sentiment-analysis-fhe) +- [Health diagnosis](https://huggingface.co/spaces/zama-fhe/encrypted_health_prediction): giving a diagnosis using FHE to preserve the privacy of the patient based on a patient's symptoms, history and other health factors. + - Check the code [here](https://huggingface.co/spaces/zama-fhe/encrypted_health_prediction/tree/main) +- [Encrypted image filtering](https://huggingface.co/spaces/zama-fhe/encrypted_image_filtering): filtering encrypted images by applying filters such as black-and-white, ridge detection, or your own filter. + - Check the code [here](https://huggingface.co/spaces/zama-fhe/encrypted_image_filtering/tree/main) + +### Code examples on Github: + +- [GPT-2 in FHE](../../use_case_examples/llm/README.md): Privacy-preserving text generation based on a user's prompt +- [Titanic](../../use_case_examples/titanic/README.md): Train an XGB classifier that can perform encrypted prediction for the [Kaggle Titanic competition](https://www.kaggle.com/c/titanic/) +- [Federated learning and private inference](../../use_case_examples/federated_learning/README.md): Use federated learning to train a Logistic Regression while preserving training data confidentiality. Import the model into Concrete ML and perform encrypted prediction +- [Neutral network fine-tuning](../../use_case_examples/cifar/cifar_brevitas_finetuning/README.md): Fine-tune a VGG network to classify the CIFAR image data-sets and predict on encrypted data +- [Encrypted sentiment analysis](../../use_case_examples/sentiment_analysis_with_transformer/README.md):A Hugging Face space that securely analyzes the sentiment expressed in a short text +- [Credit scoring](../../use_case_examples/credit_scoring/README.md): Predict the chance of a given loan applicant defaulting on loan repayment + +### Blog tutorials: + +- [Build an end-to-end encrypted Shazam application using Concrete ML](https://www.zama.ai/post/encrypted-shazam-using-fully-homomorphic-encryption-concrete-ml-tutorial) - February 2024 +- [Linear regression over encrypted data with homomorphic encryption](https://www.zama.ai/post/linear-regression-using-linear-svr-and-concrete-ml-homomorphic-encryption) - June 2023 +- [Comparison of Concrete ML regressors](https://www.zama.ai/post/comparison-of-concrete-ml-regressors) - June 2023 +- [How to deploy a machine learning model with Concrete ML](https://www.zama.ai/post/how-to-deploy-machine-learning-models-with-concrete-ml) - May 2023 +- [Encrypted image filtering using homomorphic encryption](https://www.zama.ai/post/encrypted-image-filtering-using-homomorphic-encryption) - February 2023 +- [Sentiment analysis over encrypted data](https://huggingface.co/blog/sentiment-analysis-fhe) - November 2022 +- [Titanic Competition with Privacy Preserving Machine Learning](https://www.zama.ai/post/titanic-competition-with-privacy-preserving-machine-learning-using-concrete-ml) - August 2022 + +### Video tutorials + +- [Train a linear classifier on encrypted data using Concrete ML and Fully Homomorphic Encryption (FHE)](https://www.zama.ai/post/video-tutorial-train-a-linear-classifier-on-encrypted-data-using-concrete-ml-and-fully-homomorphic-encryption-fhe) - February 2024 +- [How to convert a scikit-learn model into its homomorphic equivalent](https://www.zama.ai/post/how-to-convert-a-scikit-learn-model-into-its-homomorphic-equivalent) - June 2023 diff --git a/script/doc_utils/check_apidocs.sh b/script/doc_utils/check_apidocs.sh index 958e831c1..d507f23bd 100755 --- a/script/doc_utils/check_apidocs.sh +++ b/script/doc_utils/check_apidocs.sh @@ -2,11 +2,11 @@ set -e -rm -rf docs/developer-guide/tmp.api_for_check -APIDOCS_OUTPUT=./docs/developer-guide/tmp.api_for_check make apidocs -rm -f docs/developer-guide/tmp.api_for_check/.pages -rm -f docs/developer-guide/api/.pages -diff ./docs/developer-guide/api ./docs/developer-guide/tmp.api_for_check -rm -rf docs/developer-guide/tmp.api_for_check +rm -rf docs/references/tmp.api_for_check +APIDOCS_OUTPUT=./docs/references/tmp.api_for_check make apidocs +rm -f docs/references/tmp.api_for_check/.pages +rm -f docs/references/api/.pages +diff ./docs/references/api ./docs/references/tmp.api_for_check +rm -rf docs/references/tmp.api_for_check diff --git a/script/doc_utils/check_forbidden_words.py b/script/doc_utils/check_forbidden_words.py index f4903aa4e..11e7cc5b6 100644 --- a/script/doc_utils/check_forbidden_words.py +++ b/script/doc_utils/check_forbidden_words.py @@ -49,7 +49,7 @@ def process_file(file_str: str, do_open_problematic_files=False): file_path = Path(file_str).resolve() # Don't do it on API or advanced example data files - if "docs/developer-guide/api" in file_str or "docs/advanced_examples/data" in file_str: + if "docs/references/api" in file_str or "docs/advanced_examples/data" in file_str: return True, 0 # Don't do it for conventions.md file that explains what should or not be done diff --git a/script/doc_utils/fix_api_readme_reference.py b/script/doc_utils/fix_api_readme_reference.py new file mode 100644 index 000000000..5d0d164cb --- /dev/null +++ b/script/doc_utils/fix_api_readme_reference.py @@ -0,0 +1,68 @@ +"""Helper script to replace Replace `references/api/README.md` with `_apidoc/modules.html`.""" + +import argparse +import multiprocessing +import re +import sys +from pathlib import Path + + +def process_file(file_str: str) -> bool: + """Replace `references/api/README.md` with `_apidoc/modules.html`. + + Also changes "references/api" pattern to Sphinx's "_apidoc" + + Args: + file_str (str): the path to the file to process. + + Returns: + bool: True once done + """ + verbose = False + + file_path = Path(file_str).resolve() + file_path_output = Path(file_str).resolve() + + if verbose: + print(f"Fix api reference problems for {str(file_path)} into {str(file_path_output)}") + + api_pattern = "references/api/README.md" + apidoc_pattern = "_apidoc/modules.html" + + processed_content = "" + with open(file_path, "r", encoding="utf-8") as f: + + for line in f: + newline = re.sub(api_pattern, apidoc_pattern, line) + processed_content += newline + + with open(file_path_output, "w", encoding="utf-8") as fout: + print(processed_content, file=fout, end="") + + return True + + +def main(args): + """Entry point. + + Args: + args (List[str]): a list of arguments + """ + with multiprocessing.Pool(multiprocessing.cpu_count()) as pool: + res = pool.map(process_file, args.files) + # Exit 0 if all went well as True == 1 + sys.exit(not all(res)) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + "Replace `references/api/README.md` with `_apidoc/modules.html`.", + allow_abbrev=False, + ) + + parser.add_argument( + "--files", type=str, nargs="+", required=True, help="The files to modify in place" + ) + + cli_args = parser.parse_args() + main(cli_args) diff --git a/script/doc_utils/fix_gitbook_table.py b/script/doc_utils/fix_gitbook_table.py deleted file mode 100644 index d538a84bf..000000000 --- a/script/doc_utils/fix_gitbook_table.py +++ /dev/null @@ -1,101 +0,0 @@ -"""Helper script to turn GitBook card boards into something sphinx-style.""" - -import argparse -import multiprocessing -import sys -from functools import partial -from pathlib import Path - - -def process_file(file_str: str): - """Change table-car from gitbook-style to sphinx-style - - Args: - file_str (str): the path to the file to process. - - Raises: - ValueError: value error - - Returns: - True if everything went alright. - """ - - file_path = Path(file_str).resolve() - file_path_output = Path(file_str).resolve() - - processed_content = "" - has_started = False - which_line = 0 - how_many = 0 - - with open(file_path, "r", encoding="utf-8") as f: - - for line in f: - - line = line.rstrip() - - if "" in line: - assert not has_started - has_started = True - which_line = 0 - - processed_content += line - - elif "" in line: - assert has_started - has_started = False - how_many += 1 - - processed_content += line - elif has_started: - if which_line == 0: - # Find the png - which_line += 1 - png = line.split(".gitbook/assets/")[1].split('"')[0] - elif which_line == 1: - # Find link - link = line.split('a href="')[1].split('">')[0] - # Add the line - processed_content += ( - f'
' - ) - - else: - raise ValueError - else: - processed_content += line - - processed_content += "\n" - - with open(file_path_output, "w", encoding="utf-8") as fout: - print(processed_content, file=fout) - - assert how_many == 9 - - return True - - -def main(args): - """Entry point. - - Args: - args: a Namespace object - - """ - with multiprocessing.Pool(multiprocessing.cpu_count()) as pool: - res = pool.map(partial(process_file), args.files) - # Exit 0 if all went well as True == 1 - sys.exit(not all(res)) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - "Change table-cards from gitbook-style to sphinx-style", allow_abbrev=False - ) - - parser.add_argument( - "--files", type=str, nargs="+", required=True, help="The files to modify in place" - ) - - cli_args = parser.parse_args() - main(cli_args) diff --git a/script/doc_utils/fix_md_to_html_conversion_from_sphinx_in_href.py b/script/doc_utils/fix_md_to_html_conversion_from_sphinx_in_href.py new file mode 100644 index 000000000..3aaa6f1df --- /dev/null +++ b/script/doc_utils/fix_md_to_html_conversion_from_sphinx_in_href.py @@ -0,0 +1,68 @@ +"""Helper script to replace `href="*.md` patterns with `href="*.html`.""" + +import argparse +import multiprocessing +import re +import sys +from pathlib import Path + + +def process_file(file_str: str) -> bool: + """Replace `href="*.md` patterns with `href="*.html` because Sphinx does not handle them. + + Args: + file_str (str): the path to the file to process. + + Returns: + bool: True once done + """ + verbose = False + + file_path = Path(file_str).resolve() + file_path_output = Path(file_str).resolve() + + if verbose: + print( + f"Fix 'md to html in href' problems for {str(file_path)} into {str(file_path_output)}" + ) + + md_pattern = r'href="([^"]*)\.md' + html_pattern = r'href="\1.html' + + processed_content = "" + with open(file_path, "r", encoding="utf-8") as f: + + for line in f: + newline = re.sub(md_pattern, html_pattern, line) + processed_content += newline + + with open(file_path_output, "w", encoding="utf-8") as fout: + print(processed_content, file=fout, end="") + + return True + + +def main(args): + """Entry point. + + Args: + args (List[str]): a list of arguments + """ + with multiprocessing.Pool(multiprocessing.cpu_count()) as pool: + res = pool.map(process_file, args.files) + # Exit 0 if all went well as True == 1 + sys.exit(not all(res)) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + 'Replace `href="*.md` patterns with `href="*.html` because Sphinx does not handle them.', + allow_abbrev=False, + ) + + parser.add_argument( + "--files", type=str, nargs="+", required=True, help="The files to modify in place" + ) + + cli_args = parser.parse_args() + main(cli_args) diff --git a/script/doc_utils/update_apidocs_files_in_SUMMARY.sh b/script/doc_utils/update_apidocs_files_in_SUMMARY.sh index 545ca61dc..fd34379a7 100755 --- a/script/doc_utils/update_apidocs_files_in_SUMMARY.sh +++ b/script/doc_utils/update_apidocs_files_in_SUMMARY.sh @@ -2,7 +2,7 @@ set -e -FILES=$(cd docs && find developer-guide/api -name "*.md") +FILES=$(cd docs && find references/api -name "*.md") # New apidocs section TMP_FILE=$(mktemp /tmp/apidocs.XXXXXX) diff --git a/script/make_utils/check_double_dollars_in_doc.sh b/script/make_utils/check_double_dollars_in_doc.sh index 66af321dc..e030ac2ec 100755 --- a/script/make_utils/check_double_dollars_in_doc.sh +++ b/script/make_utils/check_double_dollars_in_doc.sh @@ -12,9 +12,9 @@ # MacOS's grep is different from GNU's so we need to differenciate here. if [[ $(uname) == "Darwin" ]]; then - OUT=$(find docs -name "*.md" -not -path "docs/developer-guide/*" -print0 | xargs -0 grep -n -E '((^| |^$)\$[^$])|([^$]\$$)|([^$]$[^$])') + OUT=$(find docs -name "*.md" -not -path "docs/developer/*" -print0 | xargs -0 grep -n -E '((^| |^$)\$[^$])|([^$]\$$)|([^$]$[^$])') else - OUT=$(find docs -name "*.md" -not -path "docs/developer-guide/*" -print0 | xargs -0 grep -n -P '((^| |^$)\$[^$])|([^$]\$$)|([^$]$[^$])') + OUT=$(find docs -name "*.md" -not -path "docs/developer/*" -print0 | xargs -0 grep -n -P '((^| |^$)\$[^$])|([^$]\$$)|([^$]$[^$])') fi if [ -n "${OUT}" ]; then diff --git a/script/make_utils/fix_api_readme_reference.sh b/script/make_utils/fix_api_readme_reference.sh new file mode 100755 index 000000000..9cc7fefa7 --- /dev/null +++ b/script/make_utils/fix_api_readme_reference.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -e +DIRECTORY=$1 + +MD_FILES=$(find "$DIRECTORY" -type f -name "index.rst") + +# Replace `references/api/README.md` with `_apidoc/modules.html`. +# shellcheck disable=SC2086 +poetry run python script/doc_utils/fix_api_readme_reference.py --files $MD_FILES diff --git a/script/make_utils/fix_md_to_html_conversion_from_sphinx_in_href.sh b/script/make_utils/fix_md_to_html_conversion_from_sphinx_in_href.sh new file mode 100755 index 000000000..83f87c3b7 --- /dev/null +++ b/script/make_utils/fix_md_to_html_conversion_from_sphinx_in_href.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -e +DIRECTORY=$1 + +MD_FILES=$(find "$DIRECTORY" -type f -name "*.md") + +# Replace `href="*.md` patterns with `href="*.html` because Sphinx does not handle these +# shellcheck disable=SC2086 +poetry run python script/doc_utils/fix_md_to_html_conversion_from_sphinx_in_href.py --files $MD_FILES diff --git a/use_case_examples/cifar/cifar_brevitas_with_model_splitting/README.md b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/README.md index 30ff736e2..5bcc8a2cb 100644 --- a/use_case_examples/cifar/cifar_brevitas_with_model_splitting/README.md +++ b/use_case_examples/cifar/cifar_brevitas_with_model_splitting/README.md @@ -53,7 +53,7 @@ Once we had this `p_error` validated we re-run the FHE inference using this new - Time to keygen: 30 seconds - Time to infer: 1738 seconds -We see a 20x improvement with a simple change in the `p_error` parameter, for more details on how to handle `p_error` please refer to the [documentation](../../../docs/advanced-topics/advanced_features.md#approximate-computations). +We see a 20x improvement with a simple change in the `p_error` parameter, for more details on how to handle `p_error` please refer to the [documentation](../../../docs/explanations/advanced_features.md#approximate-computations). ## Results diff --git a/use_case_examples/deployment/breast_cancer_builtin/README.md b/use_case_examples/deployment/breast_cancer_builtin/README.md index a97998ab5..167e0aee0 100644 --- a/use_case_examples/deployment/breast_cancer_builtin/README.md +++ b/use_case_examples/deployment/breast_cancer_builtin/README.md @@ -9,7 +9,7 @@ To do so please refer to [AWS documentation](https://docs.aws.amazon.com/cli/lat One can also run this example locally using Docker, or just by running the scripts locally. 1. To train your model you can use `train.py`, or `train_with_docker.sh` to use Docker (recommended way). - This will train a model and [serialize the FHE circuit](../../../docs/advanced-topics/client_server.md) in a new folder called `./dev`. + This will train a model and [serialize the FHE circuit](../../../docs/guides/client_server.md) in a new folder called `./dev`. 1. Once that's done you can use the script provided in Concrete ML in `src/concrete/ml/deployment/`, either use `deploy_to_aws.py` or `deploy_to_docker.py` according to your need. - `python -m concrete.ml.deployment.deploy_to_docker --path-to-model ./dev` diff --git a/use_case_examples/deployment/cifar_8_bit/README.md b/use_case_examples/deployment/cifar_8_bit/README.md index f7395efae..d6357df28 100644 --- a/use_case_examples/deployment/cifar_8_bit/README.md +++ b/use_case_examples/deployment/cifar_8_bit/README.md @@ -11,7 +11,7 @@ One can also run this example locally using Docker, or just by running the scrip Deployment this model on your personal machine is not recommended as running a VGG in FHE is computationally intensive. It is recommended to run this on a `m6i.metal` instance from AWS. -1. To compile your model you can use `compile.py`, or `compile_with_docker.py` to use Docker. This will compile the model to an FHE circuit and [serialize it](../../../docs/advanced-topics/client_server.md). This will result in a new folder called `./dev`. +1. To compile your model you can use `compile.py`, or `compile_with_docker.py` to use Docker. This will compile the model to an FHE circuit and [serialize it](../../../docs/guides/client_server.md). This will result in a new folder called `./dev`. 1. Once that's done you can use the script provided in Concrete ML in `src/concrete/ml/deployment/`, either use `deploy_to_aws.py` or `deploy_to_docker.py` according to your need. - `python -m concrete.ml.deployment.deploy_to_docker` diff --git a/use_case_examples/deployment/sentiment_analysis/README.md b/use_case_examples/deployment/sentiment_analysis/README.md index 93f28bcee..a1e77b12a 100644 --- a/use_case_examples/deployment/sentiment_analysis/README.md +++ b/use_case_examples/deployment/sentiment_analysis/README.md @@ -10,7 +10,7 @@ To do so please refer to [AWS documentation](https://docs.aws.amazon.com/cli/lat One can also run this example locally using Docker, or just by running the scripts locally. 1. To train your model you can use `train.py`, or `train_with_docker.sh` to use Docker (recommended). This operation might take some time. - This will train a model and [serialize the FHE circuit](../../../docs/advanced-topics/client_server.md). + This will train a model and [serialize the FHE circuit](../../../docs/guides/client_server.md). This will result in a new folder called `./dev`. 1. Once that's done you can use the script provided in Concrete ML in `src/concrete/ml/deployment/`, either use `deploy_to_aws.py` or `deploy_to_docker.py` according to your need.