concrete-ml  by zama-ai

PPML framework for homomorphic encryption (FHE) model deployment

created 3 years ago
1,240 stars

Top 32.4% on sourcepulse

GitHubView on GitHub
Project Summary

Concrete ML is a Python framework for privacy-preserving machine learning (PPML) that leverages Fully Homomorphic Encryption (FHE). It enables data scientists to convert traditional ML models into their homomorphic equivalents, allowing inference on encrypted data without cryptographic expertise. The library offers built-in FHE-friendly models with scikit-learn-like APIs and supports custom models developed in PyTorch or Keras/TensorFlow via ONNX.

How It Works

Concrete ML builds upon Zama's Concrete library, abstracting the complexities of FHE. It employs quantization-aware training and model compilation to transform models into FHE-compatible circuits. This approach allows for computations on encrypted data, preserving privacy while enabling ML tasks. The framework aims for a seamless transition for users familiar with traditional ML workflows, offering familiar APIs and clear pathways for FHE integration.

Quick Start & Requirements

  • Installation:
    • Docker: docker pull zamafhe/concrete-ml:latest
    • Pip: pip install concrete-ml
  • Prerequisites: Python 3.8-3.12. Docker support is limited on macOS (Apple Silicon) and not available on Windows (native).
  • Resources: Installation instructions, demos, and tutorials are available in the documentation.

Highlighted Details

  • Provides FHE-friendly implementations of common models (e.g., Logistic Regression) with scikit-learn-like APIs.
  • Supports conversion of PyTorch and Keras/TensorFlow models via ONNX for FHE execution.
  • Demonstrates use cases in healthcare, finance, advertising, and biometrics for secure data analysis.
  • Offers live demos on Hugging Face for various applications like sentiment analysis and image filtering.

Maintenance & Community

  • Actively developed by Zama.
  • Community support is available via Discord/Slack channels.
  • Links to documentation, demos, and tutorials are provided.

Licensing & Compatibility

  • License: BSD-3-Clause-Clear.
  • Commercial Use: Requires a separate patent license from Zama. The open-source code is free for development, research, prototyping, and experimentation.

Limitations & Caveats

  • Commercial use of the open-source code is restricted and requires a patent license from Zama.
  • Native Docker support is not available for Windows. macOS (Apple Silicon) Docker support is "coming soon."
Health Check
Last commit

6 days ago

Responsiveness

1 day

Pull Requests (30d)
7
Issues (30d)
0
Star History
89 stars in the last 90 days

Explore Similar Projects

Starred by Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), Stas Bekman Stas Bekman(Author of Machine Learning Engineering Open Book; Research Engineer at Snowflake), and
2 more.

gpustack by gpustack

1.6%
3k
GPU cluster manager for AI model deployment
created 1 year ago
updated 2 days ago
Feedback? Help us improve.