Machine Learning zk-VM

Machine Learning zk-VM

Fast and flexible zk-Proofs of Machine Learning models!

The problem Machine Learning zk-VM solves

Check out this presentation!

There are two approaches to building zk-SNARKS for generalized computation: Building a hard-wired circuit and zk-VMs. Usually, zk-VMs are built to support general-purpose computation (e.g. run the RISC-V or EVM instruction set), which can be slow for any specific task (e.g. ZKML). On the other hand, the Circuit approach can yield very efficient SNARKs, but they are less flexible, because the computational graph is hard-wired.

This project finds a compromise: A zk-VM with an instruction set that is optimized for Machine Learning tasks.

The benefits over a circuit-based approach include:

  • being able to completely hide the network architecture
  • being able to deploy a verifier for the zk-VM that can run all machine learning models, rather than a specific one
  • better integration with "bigger" zk-VMs (e.g. RISC-V or EVM): They can use this zk-VM s a sub-component to effently run machine learning inference of any model

Challenges I ran into

The main challenge for my was to pull the information I needed out of EZKL. However, the team provided me with some excellent live support, thanks a lot for this!

Technologies used

Discussion