LoginSignup
3
6

More than 3 years have passed since last update.

Rasperry Pi 4のCPUでDeep Learningを高速化

Posted at

私たちは、マルチコアCPUSIMDアーキテクチャのHW性能を引出す組込みSW最適化技術をコアコンピタンスとするスタートアップを目指す有志集団です。

Raspberry Pi 3/4のCPUだけでどれくらいDeep Learningを高速化できるかに挑戦しています。

過去、Chainerやdarknetといったフレームワーを対象としていましたが、現在はONNX runtimeの高速化に挑戦しています。

現時点での結果は以下の通りです。
compare.png

もともとMicrosoftやFacebookがプロジェクトを推進しているだけあって、数倍の高速化は難しいですが、im2colやgemm、Activation関数などをチューニングすることでなんとかパフォーマンスを2倍にすることができました。

その他にもいろいろなモデルのデモ動画を公開しています。
Youtubeチャンネル

私たちのこだわりポイント

1. Raspberry PiのCPUだけを使用してDeep Learningを実行する
2. 32bit版Rasbianを使用する
まだ64bit版Raspbianに対応できていない...
3. 既存モデルをそのまま使用する
私たちで量子化/枝刈り/蒸留などの軽量化を行わない(そもそもできない...)
4. 計算精度を可能な限り変えない

高速化アプローチ

高速化アプローチは以下に示すような一般的なものです。

a. コード最適化
b. マルチコア並列化
c. SIMDベクトル化
d. ソフトウェアパイプライン
e. メモリ効率化

一般的な項目を、プロファイルを取りながら少しでも速くもう少しでも速くと空雑巾を絞るがごとく突き詰めていく姿勢がほかにない私たちの特徴的なところだと思っています。

記事の最後に

今回は、結果の紹介にとどまってしまいましたが、忘備録を兼ねて各項目毎に技術資料をまとめて、随時公開していきたいと考えています。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6