Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

LeepMindのJUIZ DLK


LeapMindの組み込み向けDeep LearningコンパイラJUIZ DLK」について、
TFUG KANSAI ハード部 #1での発表資料

関西まで行って、聴けなかったので、自分の記録として残します。

発表者の今井さんの経歴みて、ぴっぴと。。。どこの研究室かを当てました。笑

8頁の「LeapMindのサービス形態」において、
    Deep Learningモデルとしては、
    ・TensorFlow
  ・Client Original
  ・JUIZ DoT

  コンパイル&最適化
  ・JUIZ DLK

  さまざまさ製品へのデプロイ

そして、次の頁(9頁)では、
  ・Research Team : 全社員の約1/4がここ、なぜか全員外国人。ほぼ全員がモデル圧縮の研究
  ・Hardware Team : Deep Learingモデル向けコンパイラ開発、FPGAアクセラレータ設計
  ・Software Team : 研究チームの開発したアルゴリズムをライブラリ化、製品化、サービス化
になっていますが、各チームをお互いに協力しているようですね。

Deep Learingモデル向けコンパイラ開発って、Hardware Team開発なんですよね。

JUIZ DLKの資料(10頁~18頁)
  ・インポートできるモデルのフォーマットは、TensorFlow, PyTorch, Caffe (Caffe2, MXNet)
   TensorFlowとPyTorch(, Caffe2)は、ONNX 経由で NNVM - TVM
   Caffeは、CoreML経由で NNVM - TVM
      (MXNetは、直接 NNVM - TVM)

  ・TVM なので、LLVM経由でCPU(ARMとIntel)、書いていないけど、AMDGPUもね
   GPUは、TVMから直接、CUDAとOpenCLも。

    ・そして、LeapMindは、FPGA(SoCって、IntelXilinx)用に拡張

18頁では、
  ・TensorFlow -> ONNX を開発中で、OSSとして公開予定だと

21~26頁
  ・LeapMindにおける量子化テクニックの開発、めっちゃ、おもろかった。
   Research Teamが全員、外国人なのに、何故か、関西弁だよ。

そして、30頁
  ・TVM から FPGA向けVerilog HDLの生成 (<= ちゃんと、Verilog HDLになっています!)

   TVM (HalideIR)から C++ 生成 => Verilog HDL
    ・Intel HLS Compiler用
    ・Xilinx Vivado HLS用
    ・某社(ひみつ)とも共同開発中

ふむふむ、C++ を生成するのね。。。

一番、面白そうな、「余談」、ばっさりカットされています。。。。残念。