CHET: An Optimizing Compiler for Fully-Homomorphic Neural-Network Inferencing

Published in ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2019

Recommended citation: Roshan Dathathri, Olli Saarikivi, Hao Chen, Kim Laine, Kristin Lauter, Saeed Maleki, Madan Musuvathi, Todd Mytkowicz, “CHET: An Optimizing Compiler for Fully-Homomorphic Neural-Network Inferencing,” Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2019. https://doi.org/10.1145/3314221.3314628

(Download publication here) (Download slides here) (Watch presentation here) (Watch lightning talk here)

(Download an earlier arxiv version of the paper here)

Abstract

Fully Homomorphic Encryption (FHE) refers to a set of encryption schemes that allow computations on encrypted data without requiring a secret key. Recent cryptographic advances have pushed FHE into the realm of practical applications. However, programming these applications remains a huge challenge, as it requires cryptographic domain expertise to ensure correctness, security, and performance.

CHET is a domain-specific optimizing compiler designed to make the task of programming FHE applications easier. Motivated by the need to perform neural network inference on encrypted medical and financial data, CHET supports a domain-specific language for specifying tensor circuits. It automates many of the laborious and error prone tasks of encoding such circuits homomorphically, including encryption parameter selection to guarantee security and accuracy of the computation, determining efficient tensor layouts, and performing scheme-specific optimizations.

Our evaluation on a collection of popular neural networks shows that CHET generates homomorphic circuits that outperform expert-tuned circuits and makes it easy to switch across different encryption schemes. We demonstrate its scalability by evaluating it on a version of SqueezeNet, which to the best of our knowledge, is the deepest neural network to be evaluated homomorphically.