FPGAで機械学習の推論部分を高速に処理する方法を調べた結果、シンプルなサンプルコードは存在しないことが分かりました。
そこで、HDLを使ってランダムフォレストをFPGAに実装しソフトウェアと比較しております。
詳細な検証方法や使用した環境は下記内容をご確認ください。
目次
FPGAに機械学習モデルを実装する方法とは
「FPGAに機械学習の推論部分を実装し高速に処理を行う」という技術は耳にしたことがありましたが,漠然としたイメージがあるだけで実際にどのように実装していくのかということは知りませんでした。調べてみると,高位合成を用いた手法や,学術研究として開発されたアクセラレータとしてのアーキテクチャは存在するようですが,シンプルなサンプルコードの形で存在するものはないようです。
検証
今回はHDLを使って機械学習モデルをFPGAに実装することにしました。まずはシンプルに定番の「ランダムフォレストを用いたMNIST手書き文字のクラス分類(画像の手書き文字を当てる)」をFPGAに実装して推論を行い,ソフトウェアの実装と比較してみます。結果を先に書くと,組み合わせ回路を用いたランダムフォレストの推論器をIntel Cyclone Vにて120個のALMで実装でき,入力・出力間の遅延(処理時間)は約22ns(ソフトウェアは1.4ms)となりました。
検証に際して用意した環境は以下です。
- FPGAボード:Terasic社 DEO-CV / Intel Cyclone V E 5CEBA4F23C7N
- FPGA開発環境:Quartus Prime Lite 20.1
- FPGA開発言語:Verilog HDL
- シミュレータ:ModelSim Intel FPGA Starter Edition 2020.1
- PC:CPU AMD Ryzen 7 1700x / RAM 32GB / SATA SSD
- ソフトウェア・ライブラリ:Windows 10 / Python 3.6.2 / scikit-learn 0.23.2
では実際にどのように検証したのか詳しくみていきましょう。
続きはこちらから……
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(407)
-
イベント(145)
-
カルチャー(34)
-
デザイン(12)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
もっとタグを見る
PICKUP