GPUの隠れた競争相手、推論を高速に処理するFPGAとは? ザイリンクスに訊いた
人工知能に適したプロセッサとしてNVIDIAのGPUが脚光を浴びる昨今、インターネットジャイアントの一社であるMicrosoftは、FPGA(Field-Programmable Gate Array)に大きな投資をしている。Bingの検索エンジンの中核にFPGAが使われていることは有名だし、Azureのデータセンターのサーバーに実装されるスマートNICのコアとしてもFPGAを使い、サーバー間の通信を高速化していることはデータセンターの管理者には既知の情報だろう。
機械学習の分野において、GPUは大量に並列化されたプロセッサを用いることで、CPUに比べてより高速な処理が行えることは知られている。一方でFPGAが深層学習、特にCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)の処理に大きな効果があることは、意外と知られていない。またFPGAは電力消費量においても、GPUに比べて大きなアドバンテージがあるという。
「FPGA」という言葉と製品を世界で最初に作った企業であるザイリンクスに、FPGAによる深層学習の可能性、そしてデータセンターでのFPGA利用について「データセンターファースト(Data Center First)」というキャッチコピーを掲げる意図などについてインタビューを行った。
今回、取材に対応していただいたのは、ザイリンクス株式会社の秋山一雄氏(グローバルセールス、営業部本部長)、堀江義弘氏(グローバルセールスアンドマーケット、エンジニアリング本部シニアFAEマネージャー)、丸山利広氏(グローバルセールスアンドマーケット、エンベデッドソフトウェアアプリケーション部シニアエンジニア)、そして須藤智子氏(グローバルセールスマーケティング部マーケティングスペシャリスト)の4名である。
ザイリンクスが提唱する「データセンターファースト」について、もう少し詳しく解説をお願いします。
秋山:ザイリンクスはFPGAという言葉を作った企業で、FPGAだけをビジネスにしている会社です。FPGAをベースにARMのCPUを組み込んだものからSoCまで、幅広い製品を開発しています。これまでは組込系システムのお客様が多かったのですが、最近は「データセンターファースト」というスローガンの元に、データセンターにおけるFPGAの利用を推進することを目指しています。
今年のザイリンクスのプライベートカンファレンスであるXDF(Xilinx Developer Forum)で発表したAlveoは、サーバーに追加するアクセラレーションカードで、これを使うことで人工知能の推論の処理をGPUに比べて高速に実行できます。
須藤:私達は『プラットフォームの会社になる』ということを言っているんですけど、なかなか伝わらなくて。『Xilinx』をザイリンクスと発音できない欧米人もいるんですよ(笑)。ですから『データセンターファースト』も頑張る必要がありますね。
推論処理が高速という部分に関して、もう少し詳しく教えてください。
堀江:GPUを使って機械学習の推論を実行するような場合、バッチ的にデータを揃えて多くのコアで演算を行うことになります。バッチのサイズが大きければスループットは大きくなりますが、全体のレイテンシー(遅延)も大きくなり、リアルタイム処理には向きません。自動運転などのような推論には、処理全体のレイテンシーを低くすることが非常に重要なのです。例えば、路上のオブジェクトを認識して分類したり、センターラインだけを認識して車を制御したりする必要があります。そういう状況では全体の処理速度、つまりレイテンシーの低さが重要になります。その部分では、FPGAのほうが有利です。
2018年10月に開催されたXDFのセッションでは、画像認識の部分においてCPU+GPUによる処理とCPU+FPGAの処理を比較したスライドを用いて、推論の部分だけではなく全体のスループットに注目するべきだとソフトウェア担当のEVP、Salil Raje氏が強調していたのが印象的だ。
この例では、セキュリティを目的とした監視カメラからの画像処理において、CPUでH.264のデコード処理まで実行するのは同じだが、PCI Expressで接続されたGPUとFPGAにおける処理の内容が異なってくる。GPUの場合はCNNによる推論処理だけが実行されるのに対して、FPGAの場合はCNNの処理に加えてOpenCVによる動作解析処理も実行されていることがわかる。それによって、全体のレイテンシーがGPUの場合の半分以下になっている。
堀江:性能に関しては、標準のCPUとの比較で20倍、GPU(NVIDIAのTesla V100)との比較では4.7倍というベンチマークがあります。データセンターで大きな問題となる消費電力も、電力効率の差は4倍になりますので、大量にFPGAを使うような場合には大きな差になってきます。
これまで、サーバーに装着して利用するFPGAのアクセラレーションカードを提供していましたが、こちらは評価目的のものでした。しかしXDFで、プロダクションシステム用の本格的な高速アクセラレーションカードを発表しました。それがAlveoという製品ラインになります。
丸山:今ここでデモをしているのは、サーバーに挿したVCU1525というAlveoの前のモデルの開発用のボードでイメージ認識を実行しているのですが、かなり高速にイメージを認識しているのがわかると思います。
堀江:XDFではAMDと協力して、1秒で3万イメージ以上の画像を認識できるシステムについて発表しました。これは推論処理の高速化という部分について、AMDのEPYC(サーバー用CPU)とAlveoアクセラレーションカードを使って可能になったのですが、世界最高の値でギネスブックの認定を待っているところです。実際に機械学習のモデルを作るトレーニングの部分ではGPUを使い、推論を行う部分、つまり画像の認識や音声認識などはレイテンシーを重視してFPGAを使うというのがFPGAの使い所ですね。データセンターという意味では、サーバーのネットワークカードの部分にFPGAを使うというのがわかりやすいと思います。これはいわゆるスマートNICという製品になります。スマートNICはFPGAを用いて、高速化とCPUのオフロードのために使われています。サーバー間の通信を速くしないと、どれだけCPUが高速になっても意味がないのです。他にもSSDのコントローラーにFPGAを組み込んで、圧縮などのタスクを高速に処理するというパッケージをサムスンが開発しています。この辺りもFPGAの使いどころかなと思います。
FPGAが組込系システムだけではなく企業のデータセンターのワークロードを実行するためには、Alveoが本格的に導入されることが前提だろう。この流れを進めるための開発向けソフトウェアとして、IDEのSDAccelが発表された。これにコンピュート、ストレージ、ネットワークなどに特化したファームウェア、ミドルウェアやライブラリ、機械学習のためのフレームワークなどが揃うことで、エンタープライズのIT部門が本格的に取り組むことができるようになったと言える。
またAWSには、すでにFPGAのインスタンスも用意されており、それを使って評価するというのも方法論としてはアリだろう。GPUの姿に隠れてあまり注目されていないFPGAだが、高速な推論と省電力を武器にエンタープライズに浸透していくのか、注目していきたい。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- オープンソースのアーカイバ「GNU tar 1.31」リリース
- GNU Emacs Project、「Emacs 26.2」リリース
- Facebook、オープンソースの圧縮アルゴリズム「Zstandard 1.3.5」リリース
- Facebook、新しい圧縮アルゴリズム「Zstandard 1.0」をオープンソース化
- GNU Emacs Project、「GNU Emac 26.3」をリリース
- オープンソースのコンパイラGCCの最新版「GCC 7.3」リリース
- オープンソースのコンパイラ「GCC 5.5」リリース
- オープンソースの圧縮・解凍ソフト「PeaZip 7.1.0」リリース
- バイナリエディタ「GNU poke 1.3」リリース
- GNU Emacs Project、「Emacs 27.1」リリース