A Tile Tensors Framework for Large Neural Networks on Encrypted Data
@article{aharonitile,
title={A Tile Tensors Framework for Large Neural Networks on Encrypted Data},
author={Aharoni, Ehud and Adir, Allon and Baruch, Moran and Drucker, Nir and Ezov, Gilad and Farkash, Ariel and Greenberg, Lev and Masalha, Ramy and Murik, Dov and Shaul, Hayim and others}
}Abstract
- パッキング方式を最適化、ユーザーのために抽象化
- 2DConvの新しいアルゴリズムを考案
- HE Friendly版のAlexNetを実装したら x100
1. Introduction
- 現状FHE計算はコスト高くAlexNetは1.5dayかかる(学習?推論?)
- CKKSとかはSIMDサポートし, 固定長のベクトルに対する演算ができる
- パッキングの仕方によって計算時間, メモリ等に劇的な影響を与える
- ex. dxd 行列積
- 単純なアルゴリズム: すべての行列が1つの暗号文にパックされ 時間
- 改善法: 空間使うが 時間で計算できるアルゴリズム
- NNの推論とかになると4次元とか5次元のテンソルの演算を含むので最適なパッキングを見つけるのは難しい
- FHE回路最適化の目標は乗算の深さを減らすこと
- 特に乗算の際ノイズが増える, ノイズが減ることを回避する方法
- bootstrapping
- re-encryption: GAZELLEとかNGraphでMPCとして実装されている
セクション2: 本稿で使用する表記法と、背景となる用語を説明する
セクション3: タイルテンソルフレームワークの概要を説明
セクション4: タイルテンソルのデータ構造を紹介
セクション5: オプティマイザー
セクション6: 新しい畳み込みアルゴリズムについて説明
セクション7: CryptoNetsとAlexNetの実験結果を示す
セクション8: 我々の手法を既存の手法と比較
セクション9: 結論をまとめている。
2. 背景
2.1 Notation
次元テンソル
は各次元のサイズを表す. (ex.
行列:
)
: 要素を表す
2.2 Tensor Basic Operations
テンソルの broadcasting と summation はテンソルのベクトル-行列積とか行列積などの代数的な操作を簡単に表す.
def 2.1 (compatible shapes)
,
のcompatible shapesは
def 2.2 (broadcasting)
テンソル
,
ex.
のとき
def 2.3 (summation)
:
次元目に対する和
ex.
ex.
のとき