メインコンテンツへスキップ

Notes

2025

FPGA ハッカソン参加記録

·314 文字·2 分
以前,Agile X FPGA hackathonに参加しました.これは AMD の Kria KV260 を使った FPGA AI デザインハッカソンで、YOLOv5n を FPGA 上で動かし、速度と精度の両立を目指すというものでした. このハッカソンを通して非常に多くの学びを得ることができました. そこでこの記事はその参加記録となります. 本競技のスコアは次式で定義されていました。 $$ \mathrm{score} = \mathrm{mAP} \times \mathrm{FPS} $$ ハッカソンの全体像と我々の戦略 この記事では大会参加時に何をどのように取り組んだのかを整理します. Hackathonのベースラインに関して # 今回の大会のベースラインは YOLOv3系の実装でした。 まずここで分かったのは、精度とスコアのバランスが非常に重要だということでした. 事前評価では、シングルスレッドの YOLOv3 実装は 3.8 FPS, mAP 47.4%, score 180 程度でした。一方で、初期段階で実装した YOLOv3-tiny のマルチスレッド版は、本番動画に対して 52.4 FPS, mAP 24.3%, score 1274 まで伸びました。 この差はかなり象徴的で、推論の処理そのものを速くするだけではなく、その前後処理や表示も含めてパイプライン全体を組み替えた方が効くことを示していました。 そこで戦略を次の 3 本柱に定めました。 YOLOv5n を再学習して精度を確保する。 DPU の構成を比較して、KV260 上で最も throughput が出る設定を探す。 ソフトウェア実装をパイプライン化して、I/O と DPU 実行を重ねる。 モデル選定と学習方針 # 採用したモデルは YOLOv5n でした。理由はかなり実務的で、軽量で再学習しやすく、DPU に載せるところまでの見通しが立ちやすかったからです。