研究計画書

2021-04-01
document

テーマ

平文のプログラムをFHE上のプログラムに変換する研究を行いたいと考えています。

背景

  • FHEは情報を開示せずに信頼出来ない計算資源上で計算できる技術として医療系や金融系などプライバシーを重要視する分野から注目され、顧客のデータを用いた秘密計算で機械学習、データ分析を行うようになることが期待されている
  • しかし、現状では処理速度の問題や、FHEの制約、特定の演算しかできないという課題から実用化、普及には未だ至っていない
  • 既存のアルゴリズムをFHE上で実現する際には, FHEの制約を考慮した上でアルゴリズムを手動で変換しなければいけない

先行研究, 課題

  • FHEのスキームのうち, 固定小数点数が扱えるスキームは, 複素数ベクトルの積, 和, 巡回シフトが実現可能.
  • なので線形的な評価は行うことができるが、一方で非線形的な評価や分岐などの処理を行いたい場合は線形関数に近似する方法 \cite や, 違うスキームの暗号文に変換する手法 \cite がある.
  • また計算グラフをFHEの制約をみたし、かつ最適化をするような変形を行うFHEコンパイラの研究も行われている. \cite

計画タイムライン

2021/5, 6月: CKKS方式-FHEのシミュレーター作成

  • ノイズの理論値についての理解
  • 計算量についての理解

7月:

9月-11月:

11月: 学内ポスター発表

2021/10月: SCIS

2022/1月: SCIS

課題

  • FHEの処理時間の遅さ

→ 多項式計算(数学フレームワークレイヤ), パラメータ選択(FHEレイヤ), プログラム(FHEアプリケーションレイヤ) の最適化がある

  • 制約が多いことによるFHE用アルゴリズムを考えなければならない

調査

最終目標

  • クラスタでFHEの計算をうまく分散させたい(->なんの計算?)
    • テンソル(行列)計算(秘密機械学習を見据える)
  • FHEを言語のインターフェース作って楽に扱いたい

→ 既存の平文のアルゴリズムを再利用したい
→ 非線形処理とか添字アクセスとか気にしたくない
→ うまく変換するコンパイラ

貢献

  • 既存のアルゴリズムをFHEにシームレスに変換できる
  • ことによりFHEの実用化に貢献できるのでは無いかと考える.

新規性

  • テンソル演算に特化したFHEとかって構成できるのか

  • 自然言語処理的なことしたい

  • 特異値分解? やっぱりデータ分析的なことをやろうとすると非線形な処理必要

→ polynomial approximation, FHE Bridgeがある

  • 複数台コンピューターを用いたスケールするFHE計算
  • (特異値分解できないのか → 割り算と添字アクセスを高速化すればどうにかなる?)
  • for文と添字アクセスのアルゴリズムのfhe-readying & vectorize
  • 添字アクセスの発展or高速化(まとめてアクセスできるよね)

やっていること

  • CKKS方式のシミュレータの作成
    • ノイズの評価
    • 時間の評価(理論と照らし合わせる)
    • 計算グラフの評価

やりたいこと(理論)

  • MultiKey_FHE の理解
  • ノイズの評価の理解
  • 計算量オーダーの理解

やりたいこと(実装)

  • 言語インターフェースの実装
  • Multi CPU/GPUの練習
    • 研究室のPC, SSHできるようにする