Stimulator

機械学習とか好きな技術話とかエンジニア的な話とかを書く

Deep Learning Acceleration勉強会に参加 #DLAccel

- はじめに -

こちらに行ってきたので簡単に感想など

connpass.com


別に日常ブログでも良い気がしたけど一応技術なのでここに記録しておく


 

- 所感 -

モデルアーキテクチャ観点からの高速化

Yusuke Uchida (@yu4u) | Twitter
https://t.co/4t9EEdI19b

CNNのモデル上での高速化の話
Deep CompressionとかPruningを幅広く浅く紹介

多分本当に上位レイヤ的な工夫等の話をしたのはyu4uだけだった
Deep Compressionに関しては前の人工知能学会以来コツコツ調べてたので大体把握していて、個人的な所感としては本当に浅く広くという感じ(他の登壇者との兼ね合いかな…)

個人的には符号化を上手く進める方法が気になるのでまた調べたい

 

Convolutionの数理とアルゴリズム

Koichi Nakamura (@9_ties) | Twitter
Convolutionの数理とアルゴリズム // Speaker Deck

Nakamura先生のいつものだなあという感じ
後半の同じ界隈の人の登壇のための布石感

ツイートもしたけど、質疑ではWinograd空間でReLUとか処理すれば良くない?みたいなのがあって、ICLRのこれを思い出した。
https://openreview.net/forum?id=r1rqJyHKg


この発表のFast Convolutionの話で数式が増えた辺りから、比例して会場の空気が重くなってTwitterの実況が減ったのがちょっと面白かった。

Keshab大先生のCook-ToomとWinogradのスライドは見ましょう
http://www.win.tue.nl/~wsinmak/Education/2IN35/Parhi/chap8.pdf

あとTwitterでこの辺のwinograd関連情報が得られてよかった
https://www.intelnervana.com/winograd/

 

ウェブブラウザ向け深層学習モデル高速実行フレームワーク「WebDNN」

きくらげ (@Kiikurage) | Twitter
https://t.co/PiG6hjnmBS

MakeGirls.moeでも話題になったWebDNNの中の話
Webassenmblyを使っているらしいので早く、細かい最適化もgraphの最適化から丁寧にやっているなあという印象


質疑でもあったけど、DLは細かな浮動小数点数を切っても最悪精度が出るのでもっと削いで早くするみたいな方向性はありそう
あとやっぱり、この辺のWeb系の開発スピードはDL界隈並に早いので「実装が追いついてない」「WebGL2系に対応できてない」というのは仕方ないよなあという気持ち

個人的にはWebブラウザでユーザの計算リソースを食うよりバックエンド用意するのが好みだけど、今日の話を聞いてフロントで処理するのもまあ良い点が多くなってきたなあと素直に思った。
今後の発展を応援したい

 

Using Raspberry Pi GPU for DNN

Noriyuki OHKAWA (@notogawa) | Twitter
https://www.slideshare.net/notogawa/using-raspberry-pi-gpu-for-dnn

前半はラズパイのアーキテクチャの話
リファレンスの100倍くらい図が分かりやすかった

後半はCNN系の行列計算でim2colやWinogradだと転送コストがすごいのでDirectアルゴリズムをtransposeして使ったという話
そのためのAssembly Golfのコツとか

この発表辺りからだけど完全に上位レイヤな話が無くなって、3割くらいが切り落とされた(空気感として)。

 

TensorFlow XLAの可能性

無限ゲームのなか (@Vengineer) | Twitter
https://www.slideshare.net/ssuser479fa3/tensorflow-xla-78874656

TensorFlow XLAのプラグインで色々なハードウェアへ適応できてすごいんじゃいという話

JITの話はvengineerサンのブログで見たやつってなった
https://blogs.yahoo.co.jp/verification_engineer/71268241.html
(この人だいぶ界隈違うけど自分のTLにも流れてくるので相当過激な人なんだろうと勝手に思っている)

TFやMXNetの中間表現の最適化の現状みたいな話は面白く、Wave ComputingだBrainWaveだといったDPUの話もあって、広くLSIの話を知れて良かった。

 

Googleが開発したニューラルネット専用LSITensor Processing Unit」

Kazunori Sato (@kazunori_279) | Twitter
多分slideはない

大体Googleの記事の要約のようなアレ
Google Cloud Platform Japan 公式ブログ: Google の Tensor Processing Unit (TPU) で機械学習が 30 倍速くなるメカニズム

「まだ、実例できゅうり認識とかすぎゃーん顔識別をアピールしてるんだGoogle…」と思った。

Googleの中の話もあって、「ハードウェアチームずっとあったけど2013年にリソース足りなくなることに気付いて慌てて15ヶ月で作って一発でTPU動かしました」みたいなドヤ話や、TPUをproductionで色々使ってる会社もあるという話もあって「ほえ〜」って感じだった

TPUの第二世台も既に考えていて「学習もできる」らしい
ユーザの用途に合わせて提供していくんだろう

もう全てFPGAでごにょごにょみたいになると、量子化されたNN専用プロセッサと数の暴力でGoogleに勝てる気が全くしなくなったが、一応「Google内でもAssembly直乗せとかじゃなくTensorFlow XLAつかってるよ!」という質疑が見られたので、Googleに乗っかっとけばあるいは…みないな希望がアレした

そしてこの発表で完全にDeep Learning Acceleration勉強会から(NN向け)組み込み最適化勉強会に変貌した

 

ChainerMN による分散深層学習

Takuya Akiba (@iwiwi) | Twitter
多分slideはない

iwiwi「分散深層学習するならGPUだけじゃなくインターコネクトにもお金を使って!」
わかりみが深かった

後スライドが分かりやすくて禿げた。
スライドの中身もそうだけど、一辺倒に「それは○○です」ではなく「○○というのが僕らの主張です」という言い方をしていて、なるほど流石だなあと思った。

TFが分散GPUだと若干遅くて…という話を聞いて「GoogleはもうGPUで〜とかはあんまり注力してないのかもね」と思った

用途と速度と環境を兼ね合いながらChainerもTF使っていきたいですね


 

おわりに

DL系の勉強会にしてはハードの人(というか組み込み屋だと思われる人)の割合が多くて、ハードウェア界隈身内ウケでの笑いみたいなのがちらほらあった
登壇者で明らかだけど、懇親会の感じでもハード屋割合多かったっぽく「これDeep Learning (Hardware) Acceleration勉強会だ…」ってなった

connpass概要の様々な段階とは一体…

Deep Neural Network Modelを用いた訓練や推論の高速化をテーマとした勉強会です。モデリングからハードウェアまで様々な段階での高速化アプローチについて勉強できる場にしたいと思います。


まあでも、入門的な内容はやらないと言い切ってあり、かつ日曜半日使っただけあって知見は多かった
DLは毎日やってるけど、ラズパイとかは高専以来触ってないのでまたやろうかなと思った

あとまとめるとまさにこれ

ハードウェアの気持ちオプティマイザの気持ちコンパイラの気持ちDeepNetモデルの気持ちになってコードを書く時代…できれば来てほしくなかった


開催中にブログを投げるみたいなロックな人も居たのでライブ感はその人のブログの方が良さ
cocodrips.hateblo.jp

あとκeen (@blackenedgold) | TwitterサンがTogetterしてくれたみたいです
togetter.com


最後にかなり個人的な事だけど今この記事を書きながらSIGIR 2017行ったブログが今更下書きから見つかって過去の自分にキレた
あとDeNA今週2回行ったけど、あの会場素敵だしご飯美味しいし良いですね…羨ましい


追記:

Vengineerサンは本人曰く「過激ではない」らしいです!失礼しました!