Vengineerの妄想(準備期間)

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

SynopsysのarcでもTensorFlow Lite for Microcontrollerが動く

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

vengineer.hatenablog.com

にて、SynopsysがARCをオープンソースでいろいろと公開しているのは知っていましたが、どうやら、TensorFlow Lite for Microcontrollerも動くようになったようです。

github.com

このファイルを覗いてみたら、MLIというのがあったので、調べてみたら、

embARC Machine Learning Inference Libraryというものを使っているようですね。

github.com

で、ARCが載っているデバイスって、市販されているんでしょうかね?

 

 

Intel OpenVINOにて、Movidius Myriad XのCustom Op対応

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった

Intelが oneAPI 対応にて、CPU、GPU(iGPU/dGPU)、FPGAまでは、SYCL => OpenCL のパスにて対応が進んでいるようです。

 あとは、VPU だけなんですが、ユーザー側からは myriad_plugin を使うだけなんですよ。しかしながら、custom op に対応しようとしているコードが github にアップされたんですよね。

github.com

そして、Intelの中の人からも下記のように

 そう、Custom Op を OpenCLカーネルコードとして書けるようになるんですよね。

Graph Transfermer のコードも公開されていますね。

 

OpenVINOでBINARY CONVOLUTION

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった

Intelのこのブログでは、OpenVINOでBINARY CONVOLUTIONをサポートして、BINARY MODELでもそれなりの精度が出るよというお話

www.intel.ai

具体的には、Neural Network Compression Framework (NNCF) というものを使ってバイナリ化しているようです。NNCF はバイナリ化だけでなく、量子化(8ビット化)もできるようです。この NNCF って、PyTorchベースのライブラリのようです。

github.com

どのように量子化しているかは、下記に説明があります。

github.com

この NNCF を使って量子化、バイナリ化した学習済みモデルは、こちら。

docs.openvinotoolkit.org

  • face-detection-adas-binary-0001
  • pedestrian-detection-adas-binary-0001
  • vehicle-detection-adas-binary-0001
  • resnet50-binary-0001

などがありますね。

バイナリ化した場合、popcount をする必要があり、第10世代の Intel Core では下記のように popcount のための命令を持っているようです。これにより、Core i-8700 と Core i7-1065G での popcount のための命令の効果の比較があります。相対的に、Core i7-1065G は速くなっていますね。

10th generation Intel® Core™ processor family introduces support for vectorized popcount operation which makes computation of binary convolution even more efficient.

バイナリモデルは、Intel GPU でも動くようですね。

 

Xilinx : XRT にて、OpenCLのコード公開しているよ。

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった

Xilinxgithubにある XRT。この中のXRT/src/runtime_src/xocl/api になんと、OpenCLの実装コードが公開されていますよ。今まで気がつかなかったです。

github.com

ということは、OpenCL => いろいろ => Device Driver => Hardware までのパスをすべて公開しているってことなのかな?

xclbinのコードも公開していますね。

いやー、凄いですわ。

ドキュメントもいろいろあるしね。

xilinx.github.io

PCIe Accelerator のデバイスドライバ も公開していますね。

lwn.net

デバイスドライバAPIのドキュメントもありますね。

xilinx.github.io

全部分かっちゃうチャンスがあるということですね。

凄いですね。。。。

 

2020年は、ディープラーニングにとっては激変の年になると思ったりもする?

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

 

2020年になりましたね。

 

明けましておめでとうございます。

 

ちなみに、このブログは、12月28日の午前中に書いたので、

その後に起こったことは書いてないです。

 

ここ数年、AI、特にディープラーニングは完全にバブルで、いつはじけてもおかしくないと思っています。特に今までやっていたものをディープラーニングに変えただけというものは、今年かなり淘汰されたり、あれは何だったんだろう?って感じになると思います。

 

そう、昔、ファジーが流行ったように。。。今、ファジーありますか?

 

また、今まで出来なかったものがディープラーニングによって出来たり、劇的に改善できているものに関してもかなり競争が激しくなる、つまり、レッドオーシャンになっていくと。その中でも、このくらいなら頑張ればできるってくらいの案件はまず価格勝負になりそう。この部分でも、淘汰が始まりそう。

 

そして、教育などのビジネスはかなり少なくなりそう。。。何故なら、費用対効果がよくわからなくなるから。。。本来なら、自社内で必要なんだけど、どこにもないのでとりあえずやっておかないとヤバいって感じだから、

 

これらが起こるのは、2020年がオリンピックの年であり、オリンピックの後は景気が悪くなるから。。(今まではオリンピック前年の夏くらい景気が悪くなるのに、何故か?今回は株価も1年で20%ぐらい上がっているのが不思議ですわ)

景気が悪くなれば、本当に必要じゃないところにはお金を使わないわけで、多くの企業ではディープラーニングは本当に必要じゃないところだからね。。。

 

と書いてきましたが、しっかりとやっているところは、それなりの影響は受けると思いますが、来年以降の準備と考えると、非常に重要な1年じゃないかなと思っています。

それから、ここに書いたことは、日本でのこと。海外のことはよくわかりません。。

 

ま、そんなことですが、今年も、人生である映画を観て、お仕事を楽しくやっていきたいと思います。

 

 

Cloud Deep Learning Chipsのおまとめスライド

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

今年最後のブログは、

「Cloud Deep Learning Chips : Training & Inference」

のおまとめスライドにしました。以下のようなチップについて、簡単にまとめました。

Slideshareにて公開しています

Training

  • Google:TPU v2/v3 (HBM2)
  • Intel Nervana:NNP-T (HBM2)
  • Habana Labs:Gaudi (HBM2) <= Intel が買収
  • Alphaics:RAP (HBM2 option) <= EdgeのInference用の模様(AlphaEdge)
  • Huawei:Ascend 910 (HBM2)
  • Baidu:Kunlun (HBM2)
  • Graphcore:GC2 (SRAM)
  • Cerebras:CS-1 (SRAM)

Inference

だけあるんですよね。

でも、推論用チップで外販しているのは、Intel NNP-I、GoyaとGroqだけ。。

Groqは学習よりも推論だろ、って言っているんですがね。。。どうなんでしょうか?

 

2年前の2017年9月30日(土)のChainer Meetup #6での発表資料 このスライド には、Intel Nervana、Graphcore、Wave Computing、Groq、Alphaicsについて書いています。

Wave Computingはチップを2017年のhotchipsで発表しているがその後、IP屋さんになっちゃったみたい。この時は、16nmで実装して、メモリはなんと、HMC(Hybrid Memory Cube)。講演資料は、こちら

news.mynavi.jp

 Alphaicsは、Edge 用推論チップのようなので、2019年で打ち止めかな。

2019年は淘汰の年かな。

Alphaicsがどんな感じになるかはまだ分からないですが、来年2020年は勝負の年になりそう