Architecture Overview
Aegis accepts pre-trained machine learning ONNX models as input, converts them to MLIR using the ONNX-MLIR integrated into the Aegis frontend, and then compiles the MLIR into a fully homomorphic encryption (FHE) program using Aegis. The program is executed through Aegis FHERuntime. This process enables Aegis to support pre-trained machine learning models that have been trained and fine-tuned using popular machine learning frameworks, such as PyTorch, TensorFlow, Scikit-learn, and more. Aegis significantly simplifies the development of FHE applications, allowing developers to focus on their business logic without needing to delve into the complex mathematical foundations of FHE or the intricate details of efficiently utilizing FHE libraries, such as security parameter selection, noise management, and optimizations for fully homomorphic operations.
ONNX-MLIR is an open-source project designed to compile ONNX models into mlir code. It is built on top of Multi-Level Intermediate Representation (MLIR) compiler infrastructure.