Framework for proofs of ML model execution in ZK-SNARKs
Top 79.1% on sourcepulse
zkml is a framework for constructing Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (ZK-SNARKs) proofs for machine learning model execution. It targets researchers and developers looking to verify the integrity and correctness of ML computations in a privacy-preserving manner. The primary benefit is enabling verifiable and auditable ML inference without revealing the model or input data.
How It Works
zkml translates ML models, currently supporting TFLite format, into ZK-SNARK circuits. It employs a custom circuit design optimized for ML operations, likely leveraging techniques for efficient polynomial commitments and constraint satisfaction. The framework handles the conversion of models and data into a msgpack format suitable for circuit execution and proof generation, aiming for performance and verifiability.
Quick Start & Requirements
rustup override set nightly
).curl
for Rust installation.cargo build --release
followed by ./target/release/time_circuit examples/mnist/model.msgpack examples/mnist/inp.msgpack kzg
.Highlighted Details
scale_factor
, k
, num_cols
, num_randoms
) for model conversion.test_circuit
binary for verifying circuit execution before proving.Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
The project is presented as a framework for constructing proofs, implying it's a foundational tool rather than a complete end-to-end solution. Specific details on supported ML operations, model complexity limits, and performance benchmarks beyond the MNIST example are not provided. The reliance on Rust nightly builds may indicate a rapidly evolving or experimental project.
1 year ago
Inactive