Skip to content

Commit

Permalink
Add lookups back in and list limitations
Browse files Browse the repository at this point in the history
  • Loading branch information
vicsn committed Apr 25, 2023
1 parent 87b115d commit 5d890af
Show file tree
Hide file tree
Showing 3 changed files with 569,233 additions and 12,007 deletions.
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![](zero-gravity-banner.png)

Zero Gravity is a system for proving an inference pass (i.e. a classification) for a pre-trained, public Weightless Neural Network run on a private input. Zero Gravity builds upon the recent BTHOWeN model by [Susskind et al (2022)](https://arxiv.org/abs/2203.01479), in which the authors improve upon earlier WNN models in a number of interesting ways. Most importantly for this hackathon project, they helpfully provide an [implementation](https://github.com/ZSusskind/BTHOWeN) complete with pre-trained models and reproducible benchmarks.
Zero Gravity is a system for proving an inference pass (i.e. a classification) for a pre-trained, public Weightless Neural Network run on a private input. Zero Gravity builds upon the recent BTHOWeN model by [Susskind et al (2022)](https://arxiv.org/abs/2203.01479), in which the authors improve upon earlier WNN models in a number of interesting ways. Most importantly for this hackathon project, they helpfully provide an [implementation](https://github.com/ZSusskind/BTHOWeN) complete with pre-trained models and reproducible benchmarks.

See our [blog post](https://hackmd.io/@77sjNbqjST6HRnGPQyY9Dw/BkNGwbUW3) for an extensive description!

Expand All @@ -16,3 +16,10 @@ Values in the example below were generated using our fork of [BTHOWeN](https://g
python3 scripts/generate_aleo_code.py 56
../aleo-setup/aleo/target/debug/aleo run main "$(cat input_file.txt)" "$(cat hash_values.txt)" "$(cat bloom_filters.txt)" $(cat winning_discriminator_value.txt) "$(cat winning_discriminator_index.txt)"
```

## Implementation notes and limitations
- All inputs are private, except for which discriminator (category) succeeded, as well as the model itself.
- Proving time of e.g. a full MNIST example is not practical yet. PRs and suggestions for improvement are welcome.
- ❌ Print statements during the build phase are expected - and will be removed in future iterations of Aleo.
- The number of lookup constraints are not included in the final print statement but will show up when compiling in debug mode.
- Note that even when changing certain inputs, the proof might succeed, as it essentially checks which discriminator won.
Loading

0 comments on commit 5d890af

Please sign in to comment.