Skip to main content

Vaultree's Encrypted Machine Learning library built on VENumpy

Project description

Logo

VENumML is a Privacy Preserving Machine Learning (PPML) library designed for building and applying machine learning models on encrypted data. With Vaultree's VENumpy library, VENumML leverages fully homomorphic encryption (FHE) techniques to perform computations on encrypted data without decryption, ensuring data privacy throughout the machine learning workflow. This repo is available to install via PyPI, see the installation instructions below for further details.

Explore the VENumML Documentation to learn more about our tool. Visit our GitHub Repository to access the codebase or check out the demos showcasing the capabilities of VENumML.

VENumML Key Features

  • Encrypted Machine Learning: Implement various machine learning models while keeping the underlying data encrypted.
  • Homomorphic Encryption Support: Works with Vaultree's VENumpy library that provides FHE functionalities.
  • Privacy-Preserving Predictions: Make predictions on encrypted data without revealing the original features.

Modules

The VENumML library is under active development and currently includes implementations for:

  • Linear Models
    • Linear Regression: Train and use a linear regression model on encrypted data for continuous target variables.
    • Logistic Regression: A logistic regression model on encrypted data for binary classification tasks.
  • Optimization
  • Time Series (Phineus)
    • Fast Fourier Transform: Perform FFT on encrypted time series data to analyze frequency domain information while preserving privacy.
    • Time Series: Calculate rolling averages on encrypted time series data for smoothing and trend analysis.
  • Deep Learning
    • Transformers: Explore encrypted implementations of the Transformer architecture for various deep learning tasks.
  • Graphs
    • Venum Graphs: Create, or import from a pandas dataframe or NetworkX object to an encrypted node-edge graph data structure and a built-in PageRank score function.
  • Approximation Functions

Installation

The current version of VENumML supports Python 3.10/3.11 running on MacOS or Linux. It is recommeneded to install VENumML in a virtual environment.

python -m venv <env_name>

At installation, pip install will automatically select the correct version of VENumML for your platform:

pip install venumML

Manual Installation

For manual installation, we have the following wheels available for various systems on our Github Repository.

If you prefer to install manually, pre-built wheel files are available for the following platforms:

  • Linux: venumML-x.x.x-manylinux_2_31_x86_64.whl
  • MacOS (Intel): venumML-x.x.x-macosx_x86_64.whl
  • MacOS (ARM): venumML-x.x.x-macosx_arm64.whl
pip install /path/to/venumML-x.x.x-<platform>.whl

where <platform> should be the appropriate identifier (manylinux, macosx_x86_64, or macosx_arm64).

VENumpy

Vaultree Encrypted Numbers, VENumpy, the Python FHE (Fully Homomorphic Encryption) library developed by Vaultree provides the underlying technology of VENumML.

Demos

For sample usage of VENumML, please see the notebook demos on our Github repository.

Support and Contribution

Please read our Docs.

For other support, bug reports, feature requests or contribution to the VENumML project, please contact us via our Support Portal.

FAQ

  1. What scheme is this based on?

    VENumML is backed by VENum (Vaultree Encryption Numbers) which is a Rust production-grade homomorphic encryption library. We are open-sourcing a Python implementation of the latest version of the library that you can check out at venum-python-backend. This is a simplified version which will continue to update so that it is at functional parity with our Rust library. Additionally the VenumML library will be updated as compatible features come online.

  2. Can I use this project with Docker?

    Yes, provided that the Docker environments match the requirements for venumML.

  3. How do I build or package the project?

    venumML is built on top of our VENumpy library using our proprietary FHE technology, which is not publicly available at the moment.

  4. Can I use this library in a production environment?

    See Note.

Note

This is the community edition of our EML product. It is free to use under the BSD 3-Clause Clear license only for research, prototyping, and experimentation purposes, not for production purposes. For any commercial use of Vaultree’s open source code, companies must purchase our commercial patent license. By installing this product, you agree that Vaultree will not be held liable for any adverse impact, whether due to commercial deployment or otherwise. We pledge to update this edition as we continue to develop our product. Stay tuned for future changes to our support for production use of this edition and we welcome your contributions to make change happen!

Licence

This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

venumML-0.2.1-py3-none-manylinux_2_31_x86_64.whl (503.1 kB view details)

Uploaded Python 3manylinux: glibc 2.31+ x86-64

venumML-0.2.1-py3-none-macosx_11_0_arm64.whl (446.8 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

venumML-0.2.1-py3-none-macosx_10_12_x86_64.whl (460.1 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file venumML-0.2.1-py3-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for venumML-0.2.1-py3-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 73d2fe940898bf2defb72a52457fc89e83c409e7a8f9b31352359b2e9301cb69
MD5 c6257997443ad424c421179f894da0f1
BLAKE2b-256 e958c2ed57eed3d23235c47811303da92cb44a2b0cfd5b8b3dc6d84ca10d2720

See more details on using hashes here.

File details

Details for the file venumML-0.2.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for venumML-0.2.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bd78378f668520dbc63cb0d1c4e14f2f7f1ba4f21440fdcc9c0486107e1d805
MD5 5139d972c80603d9a03d99af2d490a51
BLAKE2b-256 bfc0f51ce658aafe7420be7a3601951f3482e693a7f134b0352f450044480b2d

See more details on using hashes here.

File details

Details for the file venumML-0.2.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for venumML-0.2.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6b55c240b019037c19dcf820a64c46d0d1d0d597d514da125b3652d755a11989
MD5 2b12a149551c2ca6dc8d0589733d401c
BLAKE2b-256 0a382dbed1ff68f68e94db6d3bf4ac5cc294dca4c6990db347644fd0c8ffb758

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page