Skip to content
/ SN Public

A framework for verifiable execution of DNNs on an untrusted cloud.

License

Notifications You must be signed in to change notification settings

zghodsi/SN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SN

This framework allows a client to provably verify the correctness of deep neural network inference computations, outsourced to an untrusted cloud. By leveraging techniques in interactive proof systems, the cloud server can provide (in addition to the result) a proof of the correctess of the result. Read more in our paper.

Build

This repo implements the interactive proof protocol, and measures the running time of the client (verifier) and the server (prover). To build and use the framework, run:

$ make
$ ./sn <arch filepath>

Example

$ ./sn.o timit_arch.txt

Usage

sn takes as input a file <arch filepath> containing the input batch size and the fully connected network architecture. The network architecture is described as input size and the number of neurons in each layer. As an example, timit_arch describes an input batch size of 512, and a neural network with input size of 1845, 3 hidden layers of 2000 neurons each, and an output size of 183. Therefore, timit_arch contains:

512
1845
2000
2000
2000
183

Please note that convolutional neural networks should be first converted to their fully connected equivalents.

About

A framework for verifiable execution of DNNs on an untrusted cloud.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published