FPGAとPCASによるモデル軽量化を利用したAIアクセラレーション
伊田直也

近年ではAIの進歩は目覚ましく、非常に多岐にわたる領NN高速化の最初のアプローチA）として、公開されてい域で活用が進み、人々の生活を便利にしてくれている。まるNNのC言語ソースプログラムを用いて、その畳み込み層たニューラルネットワーク（NN）モデルも、日々新しいモデと全結合層を高位合成ツールによりFPGA化した。苦労しルが研究・開発されている。ここでエッジデバイスでのAIのてF P G A化できたものの、ソフトウェアの流れをそのまま実現性に目を向けてみると、高速化や省スペース、省電力FPGA化したため、期待したほど性能向上はできなかった。などのさまざまな課題がある。

内部演算を固定小数点化する際の量子化誤差低減、及びこれらの課題は「NNの軽量化」と「ハードウェアアクセラ全体フローの最適化が課題として残った。この課題の解決レーション」を用いることで、大きく改善が期待される。NNにはコストとスケジュールの両面で明らかにリスクがあり、この軽量化はより少ないリソースでのAI推論を可能にし、ハーのアプローチの継続には慎重な判断が必要であった。

ドウェアアクセラレーションは高速化だけでなく省エネルギーの観点でも有効である。

その頃から開発ベンダのAI開発ツールが急速に利用できるようになり、実際にOKIアイディエスでもMPSoCなど

本稿では、OKIアイディエスで実現したFPGAデバイスにのエッジデバイスやFPGA搭載のPCIeカードへのNNインよるアクセラレーションとモデル軽量化技術PCASを組み合プリメントを行うようになった。このアプローチB）は、A）にわせて、エッジ装置でも利用可能なAIアクセラレーションを比べて開発期間を大幅に短縮できるようになった。本アプ紹介する。

ローチの結果、当社採用のNNモデルでは、CPUと比較してFPGAによる推論では数十倍〜数百倍の速度向上が見

FPGAを利用したAIアクセラレーションられた。公開されている著明なNNモデルの場合には本ア
プローチによって期待される高速化効果を得られたが、実FPGA（Field Programmable Gate Array）はプログラ

装置上で求められるAIは非常に多岐にわたるユーザーカミングが可能な集積回路であり、並列計算などを得意としスタムNNモデルのインプリメントが要求され、AI開発ツーたデバイスである。適切に内部回路を設計することでCPUルが対応できているのはその一部に留まるのが実情であやマイクロプロセッサーに比べて、特定用途ではより高いる。そのためカスタムNNモデルをFPGA上で動作させるに電力当たりの計算性能を出すことができる。そのため画像は、多くの時間を要する。

処理や暗号化、通信などの幅広い用途で使われ、近年では高速フーリエ変換やNNの計算にも使われている。
一般にFPGAの内部回路開発は、Verilog HDLやVHDLな

そこで次なるアプローチC）として、OKIアイディエスではMipsology＊1）社のFPGA AIアクセラレーションプラットフォー
ムZebra＊1）を利用したNN高速化に取り組むこととした。

どのHDL（Hardware Description Language:ハードウェアZebraプラットフォームはFPGAの回路情報と、その回路記述言語）を利用して論理回路を設計し、論理合成ツールをを利用するための各種ライブラリー、ドライバーから構成さ介して回路情報を生成することで行う。FPGAの開発は、動れる。図1にZebraプラットフォームを利用したアクセラレー

作タイミングを考慮した設計やハードウェアの知識が必要にションの概略を示す。Z e b r aプラットフォームは、G P Uやなるため、FPGA専門の技術者が必要とされる場合が多い。

CPU向けに開発されたオリジナルのNNを、簡単にFPGAFPGAの開発経験が豊富なOKIアイディエスでは、FPGAを上でアクセラレーションできるのが 最 大 の 特 徴である。

利用したAI推論に対して以下のアプローチで取り組んできた。

ZebraライブラリーはアプリケーションからTensorFlow＊2）
やPyTorch＊3）などの一般的なAIフレームワークを介してA）NNに合わせて回路情報を開発する利用できるように設計され、CPUやGPU向けに行われたトB）開発ベンダ提供のAI開発ツールを利用する

レーニング済みNNを再学習する必要なく自動で量子化し、C）FPGA AIアクセラレーションプラットフォームを利用するそのまま推論に利用することができる。その他の特徴とし＊1）
Mipsology及びZebraはMipsology SASの登録商標です。 ＊2）
TensorFlowはGoogle, Inc.の登録商標です。 ＊3）
PyTorchは、Facebook, Inc.の登録商標です。

62

OKI テクニカルレビュー
2021 年 11 月／第 238 号 Vol.88 No.2

ては、Zebraプラットフォームは高スループット、低レイテンを維持しながらメモリー使用量と演算量を削減する。人手シーであり、またデータセンター向けの大規模コンピューによる層ごとのチャネル削減率の設定が不要であり、ネット

ティングから、エッジや組込み領域まで、あらゆるサイズのワーク全体でのチャネル削減率を設定するだけで、重要度FPGA上で利用できる。の低いチャネルから削減が自動で行われることがPCASの2

Framework

Same training
New data

GPU DriverLinuxGPU
Board

Pcie bus

Same framework
Single Linuxcommand
Instantaneous
straightforward
transition
Same neuralnetwork
No FPGA
compilation

Application
Framework
libZebra
Zebra DriverLinuxPcie bus

Zebra

Inference using ZebraApplication
Framework
CuDNN/Cuda

No code to change

Weights
FP32

NN

FPGA
Board

Weights
FP32NNSimpůŝĮed stack

Training
dataNNGPU
BoardGPU
Board

Framework^ŝŵƉůŝĮĞĚƐƚĂĐŬ2

Training
TensorFlow
data
PyTorchĂīĞMXNet(incl. ONNX)

Training using GPU

Inference on CPU/GPU Training using GPU

最大の特徴である。
NN

出典：0LSVRORJ\‫ތ‬s Zebra stack

図1１）

Zebra プラットフォーム概要

PCASとFPGAを利用したアクセラレーション
本章では、Zebraプラットフォーム環境を構築し、PCASにより軽量化したモデルによる推論をFPGAでアクセラレーションした事例を紹介する。
（1）実行環境構築
本開発で使用した開発環境を表１に示す。
表1ྡ⛠開発環境✀㢮㻯㻼㼁㻵㼚㼠㼑㼘㻌㼄㼑㼛㼚㻌㼃㻙㻞㻝㻞㻟䝯䝰䝸䞊㻢㻠㻳㻮㻌㻔㻰㻰㻾㻠㻌㻞㻢㻢㻢㻕㻲㻼㻳㻭䝪䞊䝗㼄㼕㼘㼕㼚㼤㻌㻭㼘㼢㼑㼛㻌㼁㻞㻜㻜㻻㻿㼁㼎㼡㼚㼠㼡㻌㻝㻤㻚㻜㻠㻚㻜㻟㼆㼑㼎㼞㼍䝥䝷䝑䝖䝣䜷䞊䝮㼂㻞㻜㻞㻝㻚㻝㻚㻟

実際にはアプローチA）及びB）では、FPGAを利用する環境に合わせたAI推論スクリプトの書換えや、ライブラリー

FPGAはXilinx社のAlveo U200 データセンターアクセやドライバーの実装など、FPGAだけでなく関連ソフトウェラレータカードを採用した。Alveo U200はPCからのFPGAアの開発にも時間を要していた。Zebraプラットフォームを利用を目的としたデバイスであり、P C I eスロットでホスト利用するアプローチC）では、ドライバーやライブラリーがPCと接続できる。

AI推論スクリプトの変更なしで実行できるようにパッケージ

FPGAへのZebraコア（Zebraプラットフォームで利用す化され、この点でも開発時間を大幅に短縮することができた。

るFPGAの回路情報）の書込みは、Xilinx社により提供されているXRT（Xilinx RunTime Library）コマンドを利用して行った。推論スクリプトの実行は、Linux OS（Ubuntu 18.04）

AIモデル軽量化技術PCAS上のZebraプラットフォームをインストールしたDocker環

エッジデバイスでのAI推論の高速化には、ハードウェア境内で行った。C P Uで実行可能なスクリプトとN Nを作成

アクセラレーションだけでなく、NNそのものの軽量化も重後、FPGAで推論を行うまでに要した時間は５時間程度で要である。軽量なモデルはより少ないリソースでのAI推論あった。

が期待でき、また演算量が減るために推論速度にもポジティブな影響を与えることが一般的に知られる。
PCAS（Pruning Channels with Attention Statistics）
は 、O K I が 開 発したモデ ル 軽 量 化 技 術 で あり、C N N（2）利用モデル
本検討で利用したモデルは、PyTorchで実装したVGG11であり、評価に使用したデータセットはC I FA R-10である。

（Convolutional neural network）モデルを対象としたチャネPCASを利用してモデルを軽量化し、10段階に分けてチャル単 位 の 枝 刈りを最 適に行う手 法である。軽 量 化する

ネル削減量の異なるファイル（#1〜#10）を作成した。未C N Nモデルの層間にアテンションモジュールと呼ばれる圧縮のファイルサイズが37.64MB、最も軽量化したファイ新たなN Nモデルを追加する。このモジュールを利用してルが0.52MBである。作成した各ファイルのサイズを図2に学習するなかで全ての層の全てのチャネルの重要度を評示す。なお、#0が未圧縮のオリジナルファイルで#10が最価し、重要度の低いチャネルから削減していくことで、精度も軽量化したファイルである。

O K I テクニカルレビュー
2021 年 11 月／第 238 号 Vol.88 No.263

PV

ਬ࿨࣎ؔ >PV@ϓΟ΢ϩγ΢θ >0%@

















୻क़




PV
PV



 ܲྖԿϠυϩϓΟ΢ϩ໌

図2



&38

各モデルのファイルサイズPV



=HEUD
図4      ܲྖԿϠυϩϓΟ΢ϩ໌

画像 1 枚あたりの平均推論時間

また各モデルファイルのパラメーター数と精度の関係をいずれのモデルでもCPUでの推論に比べてZebraプラット示したのが、図3である。パラメーター数は演算量に直結すフォームを利用した推論では、処理時間が大幅に短縮され、る。軽量化を進めることでチャネル間のパラメーターが減F P G Aによるアクセラレーションの効果を確認できる。未るため、推論に必要な演算量が減る関係がある。なお、精圧縮のモデルファイル#0を例にとると、CPUでの推論時間度とはCIFAR-10のデータの認識率である。

69msに比べて、Zebraプラットフォームを利用した場合は4msであり、約5.8%に短縮できた。
PCASの軽量化効果は、CPUの推論時間に着目すると










ファイル#10の間で推論時間を75%短縮している。Zebra
੠ౕ>@

顕著である。未圧縮ファイル#0から最も軽量化したモデル
プラットフォームを介してFP GAを利用して推論した場合にも、未圧縮の場合には約4m s程度要していた推論時間が、軽量化後には約2msになり、半分近い推論時間の短縮を確認できた。

Ϗϧϟʖνʖ਼>[A@

次に、CPUとZebraプラットフォーム間の推論精度に差がないことを確認するために、各モデルファイルでの推論

図3

精度とパラメーター数の関係精度で比較したものを図5に示す。

左上がオリジナルモデルの#0であり、右に向かうに従い、

チャネル削減率が高くなる。オリジナルのモデルの認識精

化であれば、精度を保ってチャネル削減できていると判断できる。このモデルを利用して、P C A Sによる軽量化の前後、及びZebraプラットフォーム利用の前後での推論時間・精度を比較した。

੠ౕ>@度は91.87%であり、軽量化モデルファイル#6までの軽量          （3）実行結果&38=HEUDܲྖԿϠυϩϓΟ΢ϩ໌

まず、Zebraプラットフォーム及び、PCASの効果を確認するため、各モデルファイル画像1枚あたりの推論時間を

図5

平均推論精度比較したものを、図4に示す。
Zebraプラットフォームによる推論の精度は、CPU推論と比較してほぼ同等の水準にあるが、若干の精度低下が生じた。一般にFPGA上でAI推論を行うためには、回路規64

OKI テクニカルレビュー
2021 年 11 月／第 238 号 Vol.88 No.2

模を抑えつつ演算速度を確保するために、重みパラメーターのビット数を削減する量子化を行う必要があり、その際に伊田直也：Naoya Ida. 株式会社OKIアイディエス 事業

丸めの誤差による性能低下が生じる。Zebraプラットフォー

統括部 開発部

ムを利用した場合にも、この精度低下が生じた。
軽量化の程度と精度の落込みに着目すると、未圧縮#0の場合が1.19%と最も落込みが大きく、軽量化が進むにつれて精度低下が少なくなる傾向が見られた。#10では、落込みは0.25%にまで減少する。この点から、Zebraプラットフォームによる量子化と、PCASによるモデル軽量化の親和性が高いことを確認できる。
（4）FPGAとPCASを組み合わせたアクセラレーション

VGG11
VGGは畳み込み層と全結合層で構成される比較的単純なNNであり、画像認識の分野で広く使われている。
レイヤー数によってバリエーションがあり、VGG11は11層からなるNNである。

軽量化前のモデル（#0）によるCPU推論での精度91.87％と比較すると、#6のモデルまではZebraプラットフォームを利用した推論でも、軽量化前とほぼ同水準の精度が得られた。このモデルはPCASによりオリジナルモデルに対しCIFAR(Canadian Institute For Advanced Research)-10
画像認識評価で広く使用されるデータセット。32x32のRGB画像60000枚で構成され、各画像は10種類のいずれかのクラスに分類されている。て約 8％のサイズに軽 量 化したモデルである。P C A SとZebraプラットフォームを組み合わせて利用することで、約8％に軽量化したモデルでも、オリジナルモデルから精度を落とさずにアクセラレーションすることができた。

今後の展望
本稿ではFPGAを利用したAIアクセラレーションとモデル軽量化を組み合わせて、より省リソースかつ高速なAI推論を実現するOKIアイディエスの取組みを紹介した。
現在は、
Zynq＊4） UltraScale+ MPSoCなどのFPGAを搭載したエッジデバイス上でのAI推論システムを、PCASとZebraプラットフォーム上に実装を進めている。さらにFPGA内の別領域にAI推論以外の機能（画像処理、高速通信など）も合わせて実装することで、より付加価値の高いAIエッジデバイスの実現が目標である。またZ e b r aプラットフォームとPCASを組み合わせたAI推論ソリューションを、ユーザーに提供開始する予定である。

◆◆

1）Deep Learning Inferencing with Mipsology using
Xilinx ALVEO on Dell EMC Infrastructure、
2021年9月1日、
h t t p s://d o w n l o a d s.d e l l.c o m/m a n u a l s/c o m m o n/
deeplearning_mipsology_poweredge.pdf
2）山本 康平、橘 素子、前野 蔵人：ディープラーニングのモ
デル軽量化技術、OKIテクニカルレビュー第231号、Vol.87pp.24-27、2019年5月＊4）
ZynqはXilinx, Inc.の登録商標です。

O K I テクニカルレビュー
2021 年 11 月／第 238 号 Vol.88 No.2

65