dsperse  by inference-labs-inc

Toolkit for distributed zero-knowledge machine learning (zkML)

Created 9 months ago
559 stars

Top 57.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Dsperse is a toolkit for distributed zero-knowledge machine learning (zkML), enabling users to slice, analyze, and execute neural network models. It specifically targets ONNX models, facilitating detailed analysis, optimization, and verification through a modular, layered inference approach. The primary benefit is enabling the generation and verification of zero-knowledge proofs for model computations, making complex AI models auditable and privacy-preserving.

How It Works

The core of Dsperse involves breaking down ONNX neural network models into smaller, manageable segments using its slicing functionality. It then orchestrates layered inference, where the output of one segment becomes the input for the next. Crucially, Dsperse integrates with the ezkl library to compile these segments into circuits, generate zero-knowledge proofs for their execution, and verify these proofs. This approach allows for distributed computation and verifiable AI, offering a novel way to ensure the integrity and privacy of machine learning model inferences.

Quick Start & Requirements

Installation is straightforward via PyPI (pip install dsperse or uv tool install dsperse) or from source using the ./install.sh script (requires Python 3.9+). Key dependencies include the ezkl CLI, recommended via cargo (requiring Rust) or alternatively via pip. For optimal performance, EZKL's Setup Reference String (SRS) files are recommended and can be downloaded interactively during installation or manually using ezkl get-srs.

Highlighted Details

  • Comprehensive support for ONNX model formats.
  • Advanced model slicing capabilities, allowing segmentation into individual layers or custom groups.
  • Seamless integration with ezkl for zkML circuit generation, proving, and verification.
  • A full-run command streamlines the entire pipeline from slicing to verification.
  • Generates both operational metadata for execution and analysis metadata for debugging.

Maintenance & Community

The project welcomes contributions via issues and PRs. Specific details regarding core maintainers, community channels (like Discord or Slack), or a public roadmap are not detailed in the provided README.

Licensing & Compatibility

The specific license type is not explicitly stated in the provided text, with a note to "See the LICENSE file for details." This necessitates checking the repository directly for licensing terms and compatibility, especially for commercial use.

Limitations & Caveats

Currently, Dsperse exclusively supports ONNX models. The tool generates absolute paths in its output JSON files, which may require manual adjustment when sharing artifacts across different computing environments. The download of EZKL SRS files can be time-consuming.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
0
Star History
548 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.