Questions regarding the Whitepaper of PBS for DNN inference


I read the whitepaper (Programmable Bootstrapping Enables Efficient Homomorphic Inference of Deep Neural Networks) on programmable bootstrapping and deep neural network inference. I feel very impressed and excited by the ability of TFHE for fast bootstrapping.

I’d like to know some details about the experiments you described in this paper. Particularly:

  1. How is the input MNIST image encoded? From my understanding, each pixel of a single image is encoded and encrypted into a LWE ciphertext. Am I right?

  2. What is the architecture of the NN-20, NN-50 and NN-100, and how many PBS are there in them?

I’m asking because it is reported in another paper ( CONCRETE: Concrete Operates oN Ciphertexts Rapidly by Extending TfhE ) that a PBS takes about 18 ms (N=1024, n=630, 64-bit) on CPU. The NN-20, NN-50, NN-100 inference time is < 60s. Then it seems there are very few PBS in them?

  1. Are there any parallel computing techniques compatible with the Concrete library used in the experiments so that it can utilize the multicore CPUs?

Thank you very much!


Hello @tiany

Thanks for your interest in Zama. Regarding your questions:

  1. Yes you have one cipher text per pixel

  2. First layer is:

  • a convolution followed by RELU activation
  • dense layers with 92 output neurons followed by RELU activations.

In terms of PBS the first layer has 840 PBS, and each other layer have one per neuron (so 92 PBS/layer)

  1. We used custom parallel operations for this experiment as a Proof of Concept. It will be our compiler job to that automatically.