Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs === <!-- .element: style="font-size:160%" --> 2018/10/23 Keno Fischer, Elliot Saba (Julia Computing, Inc.) https://arxiv.org/abs/1810.09868 (まとめ:[@antimon2](https://github.com/antimon2)) --- ## どんなもの? + Julia から XLA IR を直接生成し TPU 上で実行 --- ## どうやって有効だと検証した? + VGG19 を実装し、FW/BW で動作確認 + FW 0.23秒/100枚 + ↑CPUだと52.4秒/100枚かかる --- ## 技術や手法の肝は? (1) + XRT + シリアル化された XLA IR を受け入れ低レベルのメモリ管理機能を提供するWebサービス + つまり PCIe 経由で直接ではない ---- ## 技術や手法の肝は? (2) + XLA (Accelerated Linear Algebra) + Google が提供する(多次元?)線型代数コンパイラプロジェクト ---- ## 技術や手法の肝は? (3) + Julia + ダイナミックセマンティクス(動的な多重ディスパッチ等) + 静的コンパイラ埋込(対応するLLVM関数へのマッピング等) + ↑をLLVMの代わりにXLAにコンパイルのが今回の研究 + 型推論 --- ## 議論はある? + 現状は "All or nothing" + 部分的にoffloadする/しないに分ける研究必要 + 分散コンピューティングに未対応(不十分?) + Juliaの分散コンピューティングと統合するの面白そう --- ## 先行研究と比べて何がすごい? + 《該当なし》 --- ## 次に読むべき論文は? + [Don't Unroll Adjoint: Differentiating SSA-Form Programsa](https://arxiv.org/abs/1810.07951) + コード→コードで algorithmic differentiation する話と Julia による実装
{"metaMigratedAt":"2023-06-14T18:47:51.709Z","metaMigratedFrom":"YAML","title":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"theme\":\"white\"}","contributors":"[{\"id\":\"80062a4b-8dad-49ac-95bf-848ce0686e9e\",\"add\":1652,\"del\":471}]"}
    385 views