Recent Releases of https://github.com/zama-ai/concrete-ml

https://github.com/zama-ai/concrete-ml - v1.9.0

Summary

Concrete ML v1.9.0 adds support for the TFHE-rs ciphertext format to tree-based classifiers, enabling interoperability in both developer mode and in client/server deployment. This release also expands the LoRA LLM fine-tuning examples and shows a fully functional encrypted fine-tuning pipeline on GPU.

What's Changed

New Features

  • Add client/server for tfhers interoperable models (#1014) (b2a7c89)
  • Add tfhe-rs compatibility for tree classifier model inputs /outputs (#997) (0de76b1)
  • Add logs + evaluation llama lora (#962) (18547bb)

Fixes

Resources

- Python
Published by jfrery about 1 year ago

https://github.com/zama-ai/concrete-ml - v1.8.0

Summary

Concrete ML v1.8 improves the functionality for fine-tuning LLMs on encrypted data. This release adds a new, GPU-enabled high-performance cryptographic back-end specialized for this task, improving the speed and usability of hybrid model compilation and testing. Furthermore, the developer experience was improved by using the GPU to speed up LLM hybrid model compilation and testing. Additionally, Concrete ML v1.8 adds support for Python 3.12, aligning with the latest development environment.

What's Changed

New features

  • Support Python 3.12 (#847) (0edf038)
  • Integrate a faster GPU backend for hybrid model (#868) ([3be0d42](https://github.com/zama-ai/concrete-ml/commit/3be0d42d49565df04abff8e332fbad37>
  • Speed up hybrid model compilation with GPU (#963)

Fix

  • Faster rounding test for weekly builds (#957) ([5b9466c](https://github.com/zama-ai/concrete-ml/commit/5b9466ccbe782a9a1bbb0466f6440be>
  • Remove custom QAT test (#956) ([1ccaceb](https://github.com/zama-ai/concrete-ml/commit/1ccaceb67f420b2fcafd24d2f66e396b53e70cc>
  • Add Python 3.12 test in CI pipeline (#950) (96a94c4)
  • Propagate GLWE configuration on hybrid MLP unit test (#935) ([664cbd4](https://github.com/zama-ai/concrete-ml/commit/664cbd472d044b43>

Resources

Demo & Examples

  • Add LORA fine tuning demo for LLAMA 3.2 (#958) ([ef602d9](https://github.com/zama-ai/concrete-ml/commit/ef602d9d00a600fcc9edd5a9b3f>

- Python
Published by github-actions[bot] over 1 year ago

https://github.com/zama-ai/concrete-ml - v1.7.0

Summary

Concrete ML 1.7 adds functionality to fine-tune LLMs and neural networks on encrypted data using low rank approximation parameter efficient fine-tuning. This allows users to securely outsource large weight matrix computations to remote servers while keeping a small set of private fine-tuned parameters locally. Additionally, this release includes GPU support, providing a 1-2x speed-up for large neural networks on server-grade GPUs like the NVIDIA H100. Concrete ML now also supports Python 3.11 and PyTorch 2.

What's Changed

New features

  • Lora fine-tuning in FHE with MLP tutorial and gpt2 use case example (#823) (4d2f2e6)
  • Add GPU support (#849) (945aead)
  • Add support for Python3.11 (#701) (819dca7)
  • Support for embedding layers (#778) (296bc8c)
  • Support for encrypted multiplication and division (#690) (a1bd9b8)
  • Upgrade PyTorch to 2.3.1, and Brevitas to 0.10 (#788) (c3d7c81)

Improvements

  • Relax Python version restrictions for deployment (#853) (040c308)
  • Remove Protobuf 2GB limit when checking ONNX (#811) (c8908fa)
  • Always using evaluation key compression (#726) (b4e1060)

Fixes

  • Fix dtype check in quantizer dequant (77ced60)
  • Dynamic import of transformers in hybrid model (829b68b)
  • Use correct torch version for Intel Mac (#798) (a8eab89)

Resources

  • Documentation:
  • Add encrypted LORA fine-tuning documentation (#887) (3f65ec2)
  • Add GPU usage guide (#786) (1988936)

  • Demo & Examples:

  • Encrypted DNA Ancestry : https://huggingface.co/spaces/zama-fhe/encrypted_dna

- Python
Published by github-actions[bot] over 1 year ago

https://github.com/zama-ai/concrete-ml - v1.6.1

Summary

Minor fixes.

Links

Docker Image: zamafhe/concrete-ml:v1.6.1 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.6.1 Documentation: https://docs.zama.ai/concrete-ml

v1.6.1

Fix

  • Dynamic import of transformers in hybrid model (270efbe)

- Python
Published by github-actions[bot] almost 2 years ago

https://github.com/zama-ai/concrete-ml - v1.6.0

Summary

Concrete ML 1.6 includes the following enhancements: * Latency improvements on large neural networks * Support for pre-trained tree-based models such as those trained using Federated Learning * Enhanced collaborative computation * Introduction of DataFrame schemas * Deployment of logistic regression training

What's Changed

New features

  • Enable non-interactive encrypted training for logistic regression (#660) (ec58bca)
  • Support pre-trained tree-based models using from_sklearn (5ca282b)
  • Add FHE training deployment (#665) (b718629)
  • Support approximate rounding to speed up neural networks (9ef890e)
  • Allow users to define a schema for dataframe encryption (‘ccd6641’)

Fixes

  • Fix fhe-training classes behavior (a88d704)
  • Update qgpt2_class.py to fix typo (d376d85)
  • Fix post-processing shape mismatches for linear models (#585) (b097022)
  • Disable overflow protection in rounding (4db0157)
  • Make skorch import fail without error (81de55c)

Improvements

  • Replace python release install with setup-python (899b9f1)
  • Add support to AvgPool's missing parameters (15a8340)

Resources

  • Documentation:

    • Add schema example for encrypted data-frames (#715) (b174509)
    • Add a license FAQ in README (#711) (f937c9f)
    • Update documentation on client / server API (#663) (f864407)
    • Document n_bits for compile torch functions (0306c65)
    • Add examples for the impact of feature scaling on linear models (9252f57)
  • Demo & Examples:

    • Add NN-20 and NN-50 deep MLPs for MNIST classification (1b5ce84)

- Python
Published by github-actions[bot] almost 2 years ago

https://github.com/zama-ai/concrete-ml - v1.6.0-rc3

Summary

1.6.0 - Release Candidate - 3

- Python
Published by github-actions[bot] almost 2 years ago

https://github.com/zama-ai/concrete-ml - v1.6.0-rc0

Summary

1.6.0 - Release Candidate - 0

- Python
Published by zama-bot almost 2 years ago

https://github.com/zama-ai/concrete-ml - v1.5.0

Summary

Add support for encrypted data-frames, approximate rounding and PyTorch's Conv1D operator. Fix AvgPool's countincludepad missing parameter error.

Links

Docker Image: zamafhe/concrete-ml:v1.5.0 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.5.0 Documentation: https://docs.zama.ai/concrete-ml

v1.5.0

Feature

Fix

  • Disable overflow protection in rounding (4db0157)
  • Fix survey link (e5661c1)
  • Reinstate apidoc generated tags (2878a07)
  • Make skorch import fail without error (81de55c)
  • Replace python release install with setup-python (899b9f1)
  • Fix concurrency issue in release process (1295ea9)
  • Add support to AvgPool's missing parameters (15a8340)
  • Update README.md (ba1fdad)

Documentation

  • Add dataframe documentation (#576) (d3bf5ac)
  • Update main landing pages (cfb862e)
  • New structure and landing page (85cb962)
  • Update operator list in torch support's documentation section (b617740)
  • Add links to credit card approval space in use case examples (df81aca)
  • Improve contributing section (1696799)
  • Document n_bits for compile torch functions (0306c65)
  • Add explanation of encrypted training and federated learning (57dbdff)
  • Add documentation about scaling (9252f57)

- Python
Published by zama-bot about 2 years ago

https://github.com/zama-ai/concrete-ml - v1.5.0-rc1

Summary

Add support for encrypted data-frames and approximate rounding. Fix AvgPool's count_include_pad missing parameter error.

Links

Docker Image: zamafhe/concrete-ml:v1.5.0-rc1 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.5.0-rc1 Documentation: https://docs.zama.ai/concrete-ml

v1.5.0-rc1

Feature

Fix

  • Fix survey link (e5661c1)
  • Reinstate apidoc generated tags (2878a07)
  • Make skorch import fail without error (81de55c)
  • Replace python release install with setup-python (899b9f1)
  • Fix concurrency issue in release process (1295ea9)
  • Add support to AvgPool's missing parameters (15a8340)
  • Update README.md (ba1fdad)

Documentation

  • Add dataframe documentation (#576) (d3bf5ac)
  • Update main landing pages (cfb862e)
  • New structure and landing page (85cb962)
  • Update operator list in torch support's documentation section (b617740)
  • Add links to credit card approval space in use case examples (df81aca)
  • Improve contributing section (1696799)
  • Document n_bits for compile torch functions (0306c65)
  • Add explanation of encrypted training and federated learning (57dbdff)
  • Add documentation about scaling (9252f57)

- Python
Published by zama-bot about 2 years ago

https://github.com/zama-ai/concrete-ml - v1.4.1

Summary

Update Concrete-Python to 2.5.1 and fixes AvgPool's missing parameters.

Links

Docker Image: zamafhe/concrete-ml:v1.4.1 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.4.1 Documentation: https://docs.zama.ai/concrete-ml

v1.4.1

Fix

  • Make skorch import fail without error (5863a4b)
  • Replace python release install with setup-python (f41c65c)
  • Update README.md (8bef8e5)
  • Add support to AvgPool's missing parameters (559d99c)

Documentation

  • Document n_bits for compile torch functions (065df89)
  • Add explanation of encrypted training and federated learning (8002ed8)
  • Add documentation about scaling (1bad5cc)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.5.0-rc0

Summary

Add support to torch's Conv1d and Unfold operators

Links

Docker Image: zamafhe/concrete-ml:v1.5.0-rc0 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.5.0-rc0 Documentation: https://docs.zama.ai/concrete-ml

v1.5.0-rc0

Feature

  • Support conv1d operator (09ad7a6)
  • Implement quantized unfold (fa3ef88)

Fix

  • Make skorch import fail without error (81de55c)
  • Replace python release install with setup-python (899b9f1)
  • Fix concurrency issue in release process (1295ea9)
  • Add support to AvgPool's missing parameters (15a8340)
  • Update README.md (ba1fdad)

Documentation

  • Update operator list in torch support's documentation section (b617740)
  • Add links to credit card approval space in use case examples (df81aca)
  • Improve contributing section (1696799)
  • Document n_bits for compile torch functions (0306c65)
  • Add explanation of encrypted training and federated learning (57dbdff)
  • Add documentation about scaling (9252f57)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.4.0

Summary

1.4.0 release

Links

Docker Image: zamafhe/concrete-ml:v1.4.0 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.4.0 Documentation: https://docs.zama.ai/concrete-ml

v1.4.0

Feature

  • SGDClassifier training in FHE (0893718)
  • Support Expand Equal ONNX op (cf3ce49)
  • Add rounding feature on cml trees (064eb82)
  • Add multi-output support (fef23a9)
  • Allow QuantizedAdd producesoutputgraph (0b57c71)
  • Encrypted gemm support - 3d inputs - better rounding control - sgd training test (111c7e3)

Fix

  • Add --no-warnings flag to linkchecker (1dc547e)
  • Fix wrong assumption in ReduceSum operator's axis parameter (1a592d7)
  • Mark flaky tests due to issue in simulation (4f67883)
  • Update learning rate default value for XGB models (e4984d6)

Documentation

  • Improve XGBClassifier notebook (b1906a5)
  • Update api doc (d8e9e64)
  • Update Apple Silicon install information (4c0c02f)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.4.0-rc2

Summary

1.4.0 - Release Candidate - 2

Links

Docker Image: zamafhe/concrete-ml:v1.4.0-rc2 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.4.0-rc2 Documentation: https://docs.zama.ai/concrete-ml

v1.4.0-rc2

Feature

  • SGDClassifier training in FHE (0893718)
  • Support Expand Equal ONNX op (cf3ce49)
  • Add rounding feature on cml trees (064eb82)
  • Add multi-output support (fef23a9)
  • Allow QuantizedAdd producesoutputgraph (0b57c71)
  • Encrypted gemm support - 3d inputs - better rounding control - sgd training test (111c7e3)

Fix

  • Add --no-warnings flag to linkchecker (1dc547e)
  • Fix wrong assumption in ReduceSum operator's axis parameter (1a592d7)
  • Mark flaky tests due to issue in simulation (4f67883)
  • Update learning rate default value for XGB models (e4984d6)

Documentation

  • Update api doc (d8e9e64)
  • Update Apple Silicon install information (4c0c02f)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.4.0-rc1

Summary

Please fill here with information about the main features in this release, or the main reason for having a delivery (e.g., fixing an annoying bug)

Links

Docker Image: zamafhe/concrete-ml:v1.4.0-rc1 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.4.0-rc1 Documentation: https://docs.zama.ai/concrete-ml

v1.4.0-rc1

Feature

  • Support Expand Equal ONNX op (cf3ce49)
  • Add rounding feature on cml trees (064eb82)
  • Add multi-output support (fef23a9)
  • Allow QuantizedAdd producesoutputgraph (0b57c71)
  • Encrypted gemm support - 3d inputs - better rounding control - sgd training test (111c7e3)

Fix

  • Add --no-warnings flag to linkchecker (1dc547e)
  • Fix wrong assumption in ReduceSum operator's axis parameter (1a592d7)
  • Mark flaky tests due to issue in simulation (4f67883)
  • Update learning rate default value for XGB models (e4984d6)

Documentation

  • Update api doc (d8e9e64)
  • Update Apple Silicon install information (4c0c02f)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.3.0

Summary

Adds SGDRegressor built-in model and some bugfixes.

Links

Docker Image: zamafhe/concrete-ml:v1.3.0 Docker Hub: https://hub.docker.com/r/zamafhe/concrete-ml/tags pip: https://pypi.org/project/concrete-ml/1.3.0 Documentation: https://docs.zama.ai/concrete-ml

v1.3.0

Feature

Fix

  • Fix shape output mismatch for KNNClassifier (6de7c6e)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.2.1

Summary

Bug fix for XGBoostRegressor.

Links

Docker Image: zamafhe/concrete-ml:v1.2.1 pip: https://pypi.org/project/concrete-ml/1.2.1 Documentation: https://docs.zama.ai/concrete-ml

v1.2.1

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.2.0

Summary

This new version of Concrete ML adds support for hybrid deployment and K-nearest neighbor classification. Hybrid deployment with FHE is an approach that improves on-premise deployment by converting parts of the model to remote FHE computation, in order to protect model intellectual property (IP), ensure license compliance and facilitate usage monitoring. The 1.2 version also adds an improvement to the built-in neural networks, making them 10x faster out-of-the-box.

Links

Docker Image: zamafhe/concrete-ml:v1.2.0 pip: https://pypi.org/project/concrete-ml/1.2.0 Documentation: https://docs.zama.ai/concrete-ml

v1.2.0

Feature

  • Enable import of fitted linear sklearn models (771c7ff)
  • Support QAT models in hybrid model (526b000)
  • Expose statuses to compile torch (8abddf6)
  • Add KNN classifier in CML (1c33ec8)
  • Add power of two scaling adapter for roundPBS (546fac9)
  • Add hybrid FHE models (be6aa6e)

Fix

  • Fix confusing print in CNN tutorial of advanced-examples (9136c47)
  • Fix path parsing and default in hybrid serving (afd049a)
  • Fix flaky padding test (6aaf5f0)
  • Fix issues with OMP library (2b61846)
  • Make sure structured pruning and unstructured pruning work well together (ada18ab)
  • Fix structured pruning crash not caught by test (cafd8d1)
  • Fix bad top1 accuracy in cifarbrevitastraining use case (f0a984e)
  • Fix flaky double_fit test (3da6408)
  • Remove workaround for simulating linear models (3f622bc)
  • Re-compute quantization params when re-fitting linear models (3bad62e)

Documentation

  • Fix and improve credit scoring use case example (e4db376)
  • Update contribution part (f2822d1)
  • Document KNN, PoT, Hybrid models (68a0b4c)
  • Update mnist CNN (f80c90b)
  • Update mnist Fully Connected example with PoT + rounding (6e3d003)
  • Update cifarbrevitastraining accuracy using representative calibration set (39480ef)
  • Correct n_bits markdown value in the LLM use case notebook (0cf1174)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.2.0-rc0

Summary

Trying out the new release process.

Links

Docker Image: zamafhe/concrete-ml:v1.2.0-rc0 pip: https://pypi.org/project/concrete-ml/1.2.0-rc0 Documentation: https://docs.zama.ai/concrete-ml

v1.2.0-rc0

Feature

Fix

  • Flaky test double_fit (3da6408)
  • Re-compute quantization parameters when re-fitting linear models (3bad62e)

Documentation

  • Add link to deployment use case examples (f9333b3)
  • Correct mention of n_bits in LLM use case notebook text (0cf1174)

- Python
Published by zama-bot over 2 years ago

https://github.com/zama-ai/concrete-ml - v1.1.0

Summary

Concrete-ML 1.1.0 adds optimization tools that speed-up the FHE inference time of neural-network models, up to a factor of 20x. Furthermore, this version also improves the support for built-in neural-networks and classical models.

Links

Docker Image: zamafhe/concrete-ml:v1.1.0 pip: https://pypi.org/project/concrete-ml/1.1.0 Documentation: https://docs.zama.ai/concrete-ml

v1.1.0

- Python
Published by zama-bot almost 3 years ago

https://github.com/zama-ai/concrete-ml - v1.0.3

Summary

Expose training parameters from scikit-learn in built-in models and add new advanced examples.

Links

Docker Image: zamafhe/concrete-ml:v1.0.3 pip: https://pypi.org/project/concrete-ml/1.0.3 Documentation: https://docs.zama.ai/concrete-ml

v1.0.3

Feature

  • Support multi-input QM with inputs of different shapes (6e1315f)
  • Add a function to build a quantized module from a model (34e5f68)
  • Expose scikit-learn training attributes in built-in models (37ab8c0)
  • Add serialization to QNN models (33312a8)

Documentation

  • Add example notebook on LinearSVR (f42f0e6)
  • Add svm classifier tutorial (49e13ec)
  • Add DecisionTreeRegressor to advanced_examples (148e626)
  • Add regressor comparison tutorial (6c7cbf7)

- Python
Published by zama-bot about 3 years ago

https://github.com/zama-ai/concrete-ml - v1.0.2

Summary

Fix for the Gather operator to handle fancy indexing.

Links

Docker Image: zamafhe/concrete-ml:v1.0.2 pip: https://pypi.org/project/concrete-ml/1.0.2 Documentation: https://docs.zama.ai/concrete-ml

v1.0.2

- Python
Published by zama-bot about 3 years ago

https://github.com/zama-ai/concrete-ml - v1.0.1

Summary

Fixing minor things, like few typos or rewording the documentation.

Links

Docker Image: zamafhe/concrete-ml:v1.0.1 pip: https://pypi.org/project/concrete-ml/1.0.1 Documentation: https://docs.zama.ai/concrete-ml

v1.0.1

- Python
Published by zama-bot about 3 years ago

https://github.com/zama-ai/concrete-ml - v1.0.0

Summary

This version features a stable API, better inference performance, and user-friendly error reporting. Most importantly, tools have been added to make your model deployment in cloud environments hassle-free. Support for Apple Silicon was also added.

Links

Docker Image: zamafhe/concrete-ml:v1.0.0 pip: https://pypi.org/project/concrete-ml/1.0.0 Documentation: https://docs.zama.ai/concrete-ml

v1.0.0

Feature

  • Add structured pruning to QNNs (70bff38)
  • Add accumulator rounding (8ee9267)
  • Add bitwidth and value range report per layer (dd37f4e)
  • Extend deployment features (AWS and docker) (77e2d80)
  • Add sentiment analysis deployment use-case (96c9158)
  • Support ONNX operators Gather, Slice, Shape, ConstantOfShape (667e9ae)
  • Include quant and dequant steps in QuantizedModule's forward method (55369ed)
  • Add scikit-learn model serialization (ae7658b)
  • Add cifar-10 8-bit model deployment (9177058)
  • Support pandas and list inputs in predict and compile methods for NNs (6a5e619)
  • Add example of model deployment to use-cases (be7bcb0)
  • Support pandas, list and torch for trees and linear models (8156bc9)
  • Simplify the API by removing nbits for compilebrevitas_qat (d081212)

Fix

  • Fix ci packaging (bdda1da)
  • Fix deploytoaws for python 3.10 (7665809)
  • Non-quantized NN constant folding bug (bdc04c4)
  • Make the client-server API support Tweedie models (0de7398)
  • QNN API improvements and pruning fix (33c4bf0)
  • Set specific dependency versions (9729dc6)
  • Flaky client server (3eb86c1)
  • Fixing issues with pytest and macOS (a0c22fa)

Documentation

  • Add tree experiments (e1c0ce0)
  • Add chapter on optimization and simulation (5454620)
  • Update simulation (d298459)
  • Good quantization configurations for target accumulator bit-widths (ef6355f)
  • Add rounding documentation (b7f56d5)
  • Add an example that separates encryption, FHE execution and decryption (d4681fb)

- Python
Published by zama-bot about 3 years ago

https://github.com/zama-ai/concrete-ml - v0.6.1

Summary

This Concrete-ML release adds support for: - 16-bits built-in NN models, - 20+ bits purely leveled (i.e., very fast) linear models, which makes them match floating point models in term of accuracy

New tutorials show how to train large neural networks either from scratch or by transfer learning, how to convert them into an FHE-friendly models and finally how to evaluate them in FHE and with simulation. The release adds tools that leverage FHE simulation to select optimal parameters that speed up the inference of neural networks. Python 3.10 support is included in this release.

Links

Docker Image: zamafhe/concrete-ml:v0.6.1 pip: https://pypi.org/project/concrete-ml/0.6.1 Documentation: https://docs.zama.ai/concrete-ml

v0.6.1

Feature

  • Support 20+ bits linear models (4f112ca)
  • Add python 3.10 support (aede49b)
  • Add a CIFAR-10 CNN with 8-bit accumulators and show p_error search (35715e2)
  • Add tutorials for transfer learning for CIFAR-10/100. (42405c5)
  • Add CIFAR-10 VGG CNN with split clear/FHE compilation. (637c272)
  • Change the license (a52d917)
  • Add support for globalperror (b54fcac)

Fix

  • Flaky FHE vs VirtualLib overflow (1780cd5)
  • Ensure all operations in QNNs are done in FP64 (52e87b7)
  • Raise error when model results are mismatched between Concrete-ML and VL (b7fa8c1)
  • Set specific dependency versions (f2dfc3e)
  • Flaky client server API (1495214)
  • Issues with pytest and macOS (5196c68)

Documentation

  • Add a showcase of use-cases and tutorials (36adc09)
  • Add globalperror (b6b4d7a)
  • Add CIFAR-10/100 examples for the fine-tuning approach. (45a4f66)
  • Fully connected NN on MNIST using 16b in VL (f0be5f3)
  • Provide an image filtering demo app (fd11f25)

- Python
Published by bcm-at-zama over 3 years ago

https://github.com/zama-ai/concrete-ml - v0.5.1

Summary

The main objective of this release is to fix some issues with recent updates in dependencies, and to extend the support from python 3.7.14 to python 3.7.1.

Links

Docker Image: zamafhe/concrete-ml:v0.5.1 pip: https://pypi.org/project/concrete-ml/0.5.1 Documentation: https://docs.zama.ai/concrete-ml

v0.5.1

Feature

  • Extend python 3.7.14 support to 3.7.1 (eb212bf)

Fix

  • Fixing an issue with LinearRegression (ebd06b4)

- Python
Published by fd0r over 3 years ago

https://github.com/zama-ai/concrete-ml - v0.5.0

Summary

The main objective of this release is to add python 3.7 support.

Links

Docker Image: zamafhe/concrete-ml:v0.5.0 pip: https://pypi.org/project/concrete-ml/0.5.0 Documentation: https://docs.zama.ai/concrete-ml

v0.5.0

Feature

  • Python 3.7 support (fef90d1)
  • Remove constraints in numpyreducesum (89668bf)
  • Check if a network imported with import_qat=True is quantized (24e8f88)

Documentation

  • Move titanic notebook to usecaseexamples and cleaned SentimentClassification notebook (14502f0)

- Python
Published by fd0r over 3 years ago

https://github.com/zama-ai/concrete-ml - v0.4.0

Summary

This version of Concrete-ML adds more support for quantization-aware training neural networks, adds decision tree-ensemble regressors, and includes additional linear regression models. For custom models, first-class support for Brevitas quantization aware training neural networks was added: a dedicated function imports models containing Brevitas layers directly. Design rules for these neural networks using Brevitas are detailed in the documentation. Moreover, quantization aware training is now the default for built-in neural networks, giving good accuracy out-of-the-box, with low bit-widths for weights, activations, and accumulators. Tree-based RandomForest and XGBoost regression models are now supported, while the linear regressors are complemented by the Ridge, Lasso, and ElasticNet models. Many usage example notebooks were added, showing how to use the new models, and also showing more complex use-cases such as sentiment analysis, MNIST classification, and Kaggle Titanic dataset classification.

Links

Docker Image: zamafhe/concrete-ml:v0.4.0 pip: https://pypi.org/project/concrete-ml/0.4.0 Documentation: https://docs.zama.ai/concrete-ml/v/0.4/

v0.4.0

Feature

  • Add a XGBoost regression tutorial (#1911) (174f6f7)
  • Add encrypted sentiment analysis demo (fd684df)
  • Make netinputs and netouputs optional (5ed9476)
  • Add RandomForestRegressor (0c7853c)
  • Add XGBRegressor (9736557)
  • Add tree-regressor (5b12d53)
  • Add Ridge, Lasso and ElasticNet regression models. (675c7b3)
  • Import Quantized Brevitas ONNX graphs and upgrade QAT notebook (13d8d74)

Fix

  • Remove pygraphviz dependancy (f708ba7)
  • Flaky client server (#1927) (d162cd6)
  • Tweedie overflow underterministic bug (922d60e)
  • XGBRegressor verifies that n_targets is 1 (a15fe9d)
  • Make linear models with fit_intercept=False possible (90a50b4)
  • Add quantizeinputswithnetoutputs_precision to calibration process (1dd9ba3)

Documentation

  • Update p_error with api call (d214216)
  • Improve ClassifierComparison notebook (f45b79f)
  • Integration of API docs with lazydocs (985d0d5)
  • Major Revision of Inner Workings and integration of Quantization Aware Training (accfd3e)
  • Improve contribution doc (0a0534a)
  • Adding new models to the docs (081d8f9)
  • Be more precise on installation (88fed0b)
  • Improve our README (b2d81e4)
  • Decrease net_ouputs values from 8 to 5 bits in notebooks (49717bf)
  • Add comment about tqdm in linear.md (ba06e5e)
  • Update the LICENSE (30b2b27)
  • Add tqdm and remove inference slicing in titanic notebook (4419438)

- Python
Published by fd0r over 3 years ago

https://github.com/zama-ai/concrete-ml - v0.3.0

Summary

Concrete-ML now gives the user the possibility to deploy models in a client-server setting, separating encryption and decryption from execution, which can now be done by a remote machine. The release also adds support for new models and for new neural network layers, but also allows importing ONNX directly, thus supporting some keras/tensorflow models. Furthermore, this release provides some support for importing Quantization Aware Training neural networks, which contain quantizers in the operation graph and can be built with brevitas.

Links

Docker Image: zamafhe/concrete-ml:v0.3.0 pip: https://pypi.org/project/concrete-ml/0.3.0 Documentation: https://docs.zama.ai/concrete-ml

v0.3.0

Feature

  • Allow recompiling from onnx model (9b69e73)
  • Adding support for p_error (fe03441)
  • Adding GELU activation (c732d15)
  • Add random_state to models for client server reproducibility (6f887d0)
  • Add QAT notebook (64c4512)
  • Import Brevitas QAT networks (6c40a0c)
  • Integration of the encrypt decrypt api (3c2a68a)
  • Support more input types in predict() (76e142c)
  • Support more input types in fit() (1fa74f7)
  • Add Round and Pow operators (d6880ce)
  • Ability to import Quantization Aware Training networks (c1bb947)
  • Compile user supplied ONNX to support keras/tf (fae3dc5)
  • Implement Generalized Linear Regression models (8e8e025)
  • Add SoftSign activation (3ce338e)
  • Adding more activations (e43ce5c)
  • Implement Poisson Regression (09eefa5)
  • Use the 8b of precision of Concrete Numpy (249c712)
  • Add ONNX flatten support (c5f215f)
  • Handle more tree-based classifiers (950cc6c)
  • Add Batch Normalization ONNX operator (7969739)
  • Add Where, Greater, Mul, Sub ONNX operator support (f939149)
  • Add ONNX Average Pooling and Pad operator (40f1ef9)
  • Add more activation functions (26b2221)

Fix

  • Make tree inference faster by creating new numpy boolean operators (206caa5)
  • Set a compatible version for protobuf (97ccfc0)
  • Improve IRIS FCNN FHE accuracy and visualization (02e497c)
  • Replace init call by set_params (111419e)
  • Fix wrong fit_benchmark in linear models (f257def)
  • Fix GridSearchCV on trees (b614285)
  • Support decision tree with custom classes (baa3b4d)

Documentation

  • Major refresh of 0.3 doc (e5e3205)
  • Add sentiment classification notebook (68ae7d0)
  • Restrict hyperparameters in titanic notebook for faster inference (9b63c8a)
  • QAT explanation (9430ba6)
  • Document ONNX compilation (972d05e)
  • Explain quantized vs float ops and fusing (fb9b409)
  • Add doc for pandas support (34652ce)
  • Add notebook and docs client server api (99ff1e7)
  • Developing custom models (1c6f571)
  • Explain built-in quantized Neural Networks (972d464)
  • Add a notebook for Kaggle Titanic competition (0a44853)

- Python
Published by andrei-stoian-zama over 3 years ago

https://github.com/zama-ai/concrete-ml - v0.2.1

Summary

Fixing issues to updates in some dependancies that we used with a not-fixed version

Links

Docker Image: zamafhe/concrete-ml:v0.2.1 pip: https://pypi.org/project/concrete-ml/0.2.1 Documentation: https://docs.zama.ai/concrete-ml

v0.2.1

Fix

  • Set a compatible version for protobuf (4dd46cf)
  • Force ONNX package version to 1.11.0 in CLM 0.2 (fa90586)

Documentation

- Python
Published by bcm-at-zama almost 4 years ago

https://github.com/zama-ai/concrete-ml - v0.2.0

Summary

Use Concrete Numpy 0.5. Add multi-class classification to XGBoost. Fixing some minor broken links or issues.

Links

Docker Image: zamafhe/concrete-ml:v0.2.0 pip: https://pypi.org/project/concrete-ml/0.2.0 Documentation: https://docs.zama.ai/concrete-ml/ (old link https://docs.zama.ai/concrete-ml/0.2.0 has been moved)

v0.2.0

Breaking Changes (as compared to 0.1.x)

  • run method is renamed to encrypt_run_decrypt after changes in Concrete-Numpy 0.5.0. Individual APIs to encrypt/run/decrypt separately will be available in a further release of Concrete-ML

Feature

  • Some breaking changes in Concrete Numpy API. (ecbb26e)
  • Using Concrete Numpy 0.5 (ee5987b)
  • Add multiclass xgboost (9247f35)
  • Adding a set_version_and_push command to the makefile (ab853c2)
  • Add multiclass capability to decision trees (df0a64d)

Fix

  • Fixing Pypi's Homepage button link (bf52514)

Breaking

  • The API .forward_fhe.run() has been renamed into .forward_fhe.encrypt_run_decrypt() (ecbb26e)

Documentation

- Python
Published by jfrery about 4 years ago

https://github.com/zama-ai/concrete-ml - v0.1.1

Summary

Use Concrete Numpy 0.4. Fixing some minor broken links or issues.

Links

Docker Image: zamafhe/concrete-ml:v0.1.1 pip: https://pypi.org/project/concrete-ml/0.1.1 Documentation: https://docs.zama.ai/concrete-ml/0.1.1

v0.1.1

Feature

  • Add multiclass capability to decision trees (6f9651e)
  • Update to Concrete Numpy 0.4.0 and update the theme. (27839be)

Fix

  • Fixing Pypi's Homepage button link (d1c0e5d)
  • Broken links in README.md (0c47668)

Documentation

- Python
Published by bcm-at-zama about 4 years ago

https://github.com/zama-ai/concrete-ml - v0.1.0

Summary

First release of Concrete-ML package

Links

Docker Image: zamafhe/concrete-ml:v0.1.0 pip: https://pypi.org/project/concrete-ml/0.1.0 Documentation: https://docs.zama.ai/concrete-ml/0.1.0

v0.1.0

Feature

  • Add tests for more torch functions that are supported, mention them in the docs (0478854)
  • Add FHE in xgboost notebook (1367d4e)
  • Make all classifier demos run in FHE for the datasets and in VL for the domain grid (d95af58)
  • Remove workaround reshape and remaining 3dmatmul (28ea1eb)
  • Change predict to predictproba for averageprecision (a057881)
  • Allow FHE on xgboost (7b5c118)
  • Add CNN notebook (4acca2f)
  • Optimize QuantizeAdd to use TLUs when one of the inputs is a constant(1ffcdfb)
  • Different n_bits for weights/activations/outputs (321d151)
  • Add virtual lib management to SklearnLinearModelMixin (596d16e)
  • Add quantized CNN. (1a78593)
  • Start refactoring tree based models (8e62cf8)
  • Set symmetric quantization by default in PTQ (8fcd307)
  • Add random forest + benchmark (5630f17)
  • Allow base_score with xgboost (17d5cc4)
  • Add predict_proba to logistic regression (9aaeec5)
  • Add xgboost (699603d)
  • Add NN regression benchmarks (9de2ba4)
  • Add symetric quantization (needed for tree output) (4a173ee)
  • Implement LinearSVC (d048077)
  • Implement LinearSVRegression (36df77e)
  • Remove identity nodes from ONNX models (9719c08)
  • Add binary + multiclass logistic regression (85c25df)
  • Improve r2 test for low variance targets. (44ec0b3)
  • Add sklearn linear regression model (060a4c6)
  • Add virtual lib basic class (ad32509)
  • Improve NN benchmarks (ae8313e)
  • Add NN benchmarks and sklearn wrapper for FHE NNs (e73a514)
  • More efficient numpy_gemm, since traced (609f1df)
  • Integrate hummingbird (01c3a4a)
  • Add ONNX quantized implementation for MatMul and Add (716fc43)
  • Allow multiple inputs for a QuantizedModule (1fa530d)
  • Allow QuantizedModule to handle complicated NN topologies (da91e40)
  • Let's allow (alpha, beta) == (1, 0) in Gemm (4b9927a)
  • Manage constant folding in PTQ (a0c56d7)
  • Replace numpy.isclose with r2 score (65f0a6e)
  • Replace the torch quantization functions with ones usable with ONNX (ecdeb50)
  • Add test when input is float to quantized module (d58910d)
  • Let user chose its error type (e5d7440)
  • Post training quantization for ONNX repr (8b051df)
  • Adding more activations and numpy functions (73d885c)
  • Let's have relu and relu6 (f64c3bf)
  • Add quantized tanh (ca9c6e5)
  • Add classification benchmarks, fix bugs in DecisionTreeClassifier (d66d7bf)
  • Provide quantized versions of ONNX ops (b63eca2)
  • Add darglint as a pluggin of flake8 (bb568e2)
  • Use ONNX as intermediate format to convert torch models to numpy (072bd63)
  • Add decision trees + update notebook (db163f5)
  • Restore quantized model benchmarks (d1cfc4e)
  • Port quantization and torch from concrete-numpy. (a525e8b)

Fix

  • Remove fixmes, add HardSigmoid (847db99)
  • Docs (8096acc)
  • Safer default parameter for ensemble methods (8da0988)
  • Increase n_bits for clear vs quantized comparison for decision tree (b9f1206)
  • Fix notebook on macOS + some warnings (ab2a821)
  • Xgboost handle the edge case where n_estimators = 1 (3673584)
  • Issues in Classifier Comparison notebook (3053085)
  • One more bug about convergence (c6cee4e)
  • Fix convergence issues in tests (7b92bd8)
  • Remove metric evaluation for n_bits < 16 (7c4bd0e)
  • Wrong xgboost init (2ed49b6)
  • Workaround while #518 is being investigated (7f521f9)
  • Looks like a mistake (69e9b15)
  • Speedup qnn tests (9d07f5c)
  • Workaround for segfaults on macOS (798662f)
  • Remove checkr2score with argmax predictions (7d52750)
  • Review (82abb12)
  • Fully connected notebook (1f7b92e)
  • When we test determinism, it is fine if there is an issue in the underlying Concrete Numpy (6595495)
  • Change the md5, even if the licence hasn't changed (182084f)
  • Decision tree bug (84a65e4)
  • Remove gpl lib + update sphinx-zama-theme ^2.2.0 (65aa1b2)
  • Remove Hardsigmoid and Tanhshrink for a moment, since there are issues with precision (51c0bc5)
  • Remove fc comparison fhe vs quantization (1c527be)
  • Use right imports in docs (9fe43bf)
  • Change qvalues to values in quantized module and fix iris notebook mistake (11c5616)
  • Wrong fixture for a list + flaky test for decision tree + add fixture for model check is good execution (cc3c0b6)
  • Add missing docstrings (0c164f5)
  • Fix docstrings which are incomplete thanks to darglint (45d4fca)

Documentation

  • Refresh notebooks (ff771aa)
  • Update the theme (0d1e672)
  • Update simple example readme (21d9a77)
  • Readme (029237a)
  • Update compute with quantization (b836811)
  • Rewrite the developer section for Quantization, show how to to work with quantized operators (436e71e)
  • Add Pruning docs (33b044f)
  • Add info on skorch (6b3ca04)
  • Adding documentation (ed9ee3f)
  • Adding documentation (c4e73ec)
  • Improve quantization explanation in the User Guide (4508282)
  • Add a summary of our results (1046cc2)
  • Write Virtual Lib documentation for release (4f68f3f)
  • Add hummingbird usage (05103b3)
  • Update docs for release (95a1669)
  • Update our project setup doc (beef6c9)
  • Update README (51ed1be)
  • Add automatic ToC to README (4d51c96)
  • Add source in docs (37227c6)
  • Small update to the docker set up instructions (833d6e4)
  • Update contributing to mention make conformance (bff86ca)
  • No need to update releasing.md (179e235)
  • Add a pruning section. (c977a32)
  • No RF or SVM dedicated notebook (6307508)
  • Warn the user that GLM and PoissonRegression are currently not natively in the package (e3e0234)
  • Add Random Forest to our classifier comparison (858f193)
  • Add XGBClassifier to our classifier comparison (eff1b15)
  • Update our documentation (2b16560)
  • Add a comparison of our classifiers (ce0d24b)
  • Make the plan for the documentation (0306cee)
  • Add a sentence about quantized module 237 (a440de3)
  • Use 2.1.0 theme (4fb1445)
  • Add starter docs for how ONNX is used internally (16978b6)
  • Add relevant docs from concrete-numpy (235322a)
  • Check mdformat (c29504a)

- Python
Published by bcm-at-zama about 4 years ago