7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Elixir Nx Pelemay Backend の OnnxToAxonBench を run して Nx のメモリ消費量を実感する

Last updated at Posted at 2023-06-07

組み込みソフトウェアの有識者や有志の集う高知組み込み会 #6 (2023/06/07 18:00〜) にリモートで参加させていただきました。今回は「FPGA半導体」という興味深い話が聞けました。日本語環境でこういった最先端技術の教育を受けられることは大変ありがたいです。ありがとうございます。

Elixir言語関連では、登壇者の一人である @zacky1972 先生が、FPGAElixirNx に関連付けて話をされていました。
そこで現実的に EXLA.Backend はメモリ消費量が大きいため、組み込み機器でイゴかすのは厳しいと指摘されていました。論より run 。その時に披露されていたベンチマークを早速 run してみようと思います。

@zacky1972 先生からアドバイスをいただきました。ありがとうございます。

このベンチマークは,EXLAを動かしていません.あくまでNxでの数値です.
なお,EXLAは,Elixirの管理外のメモリを使うので,Bencheeでは,使用メモリを正しく計測できません.

ベンチマークはあくまで目安と考えてください。

やりかた

まずは zeam-vm/pelemay_backend プロジェクトを Github からダウンロード(クローン)します。

git clone git@github.com:zeam-vm/pelemay_backend.git

ベンチマークを収容するディレクトリに入ります。

cd pelemay_backend/benchmarks/onnx_to_axon_bench

依存関係を解決し、コンパイルします。

mix do deps.get, compile

ベンチマークのプログラムを RUN します。

mix run -e "OnnxToAxonBench.run"

3つのファイルが比較に使用されます。45MB の モデルふたつと 比較的大きめ(171MB)の ResNet モデル のファイルひとつです。この ResNet モデルは 1000 クラスの画像を高い精度で分類できるそうです。

CleanShot 2023-06-07 at 08.49.51.png

CleanShot 2023-06-07 at 08.32.35.png

実行環境等がプリントされます。

CleanShot 2023-06-07 at 19.37.13.png

結果はこんな感じです。

CleanShot 2023-06-07 at 08.30.23.png

ResNet モデルを Nx でイゴかした場合に 9GB ものメモリを消費しうる事がわかりました。組み込み機器で使うのが容易でない事が想像できます。

PelemayBackend(第2版)

これを解決し、組み込み機器でもバリバリ ElixirNx で AI できる環境を整える試みが、「PelemayBackend(第2版)」と理解しました。詳しくは PelemayBackend(第2版)のコンセプト をご覧ください。

Elixir Chip

以前からウワサになっている Elixir Chip の実現へも着々と進んでいる明るい雰囲気を感じました。夢と希望でいっぱいで元氣がでます。ワクワクします。

コミュニティ

ElixirNxPelemayBackend にご興味のある方はぜひお気軽にお立ち寄りください。

7
2
4

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
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?