広がり続ける FPGA の応用と人工知能への活用 (5)

画像認識

前回は高いスループット、超低遅延と低消費電力を同時に実現する Vitis AI について解説しました。さらに FPGA を使用して画像認識をおこなうまでのフローを ACRi ルームの環境を使用してひととおり体験しました。
シリーズ最終回となる今回は FPGA を取り巻く環境、最新テクノロジーそして将来への展望について概観し、本シリーズを総括したいと思います。

広がる FPGA の応用分野

これまで4回にわたり FPGA を使用することによってどのような効果が得られるか、そしてその技術的な理由について解説しました。ところでひとつ言い忘れたことがあります。それは、みなさんの中には FPGA というと、実験、製品の試作、ASIC 開発のエミュレーションといった用途をイメージするかたも少なからずいらっしゃるのではないでしょうか。確かにそのような用途は今後も FPGA の担う重要な役割のひとつであり続けるでしょう。一方、応用事例で見たように近年は量産システムやクラウド、データセンターなどに組み込まれて商用運用されるケースが数多く見られます。そして本ブログのタイトルにあるようにその応用分野は確実に広がり続けています。まさに FPGA を発明しザイリンクス社を共同設立した Ross Freeman 氏による今から35年以上前の予見が現実となったと言って良いでしょう。そこで、まず FPGA が現在使用されているおもな分野について前回まで触れていない事例を中心に少し具体的に見てみたいと思います。そして、FPGA の誕生からこれまでの変遷と最新のテクノロジーについて考察をしながら今後どのようになってゆくのか将来を展望したいと思います。

FPGA が現在活用されている分野をおおまかに分類すると下の図のようになります。

FPGA が現在活用されているおもな分野

これまでのブログの中で AI 機能を組み込んだスマートカメラシステム、世界初とする量産対応自動運転コンピュートユニット、X 線から高い精度かつ短時間で症例の判定を行い医療従事者の負担を軽減するエッジークラウド連携システムなどを見てきました。

通信分野では新しい規格への柔軟で迅速な対応、プログラマブルなハードウェアがもたらす高いパフォーマンス、屋外の厳しい環境下での長期に渡る高い信頼性などの理由から国内、海外の LTE、5G 携帯電話基地局や試験装置で広く採用されています。

オートモティブ分野についてザイリンクスの場合を例にとると、これまでに2億個近い FPGA デバイスが車載向けに出荷されています。カーエレクトロニクス技術の進化に伴い、車載での採用数も増加しています。近年は先進運転支援システム (ADAS) 機能に向けたユースケースが増えており、最近発表された国内大手自動車メーカーの先進的 ADAS システムへの採用は大きな注目を浴びることとなりました。
(参考) SUBARU、新世代アイサイトにザイリンクス テクノロジを採用  関連記事

FPGA を採用し、革新的な進化を遂げた SUBARU 新型レヴォーグ アイサイト

航空宇宙分野においても高い信頼性と低消費電力が求められることは言うまでもありません。2020年7月30日にNASAによって打ち上げられた火星探索ローバー “Perseverance” を構成する主要なモジュールに FPGA が搭載され、物体認識、無線通信、速度測定などさまざまな役割を果たしています。
(参考) FPGAは火星へ、最新ローバー「Perseverance」ではどう活用されている? (マイナビニューズ)
Past, Present, Future – Xilinx on Mars Rovers…! (Xilinx Tech blog)

主要モジュールに FPGA を搭載するNASA 火星探索ローバー “Perseverance” (Credit NASA/JPL-Caltech)

人類初のブラックホール撮影の成功が2019年4月10日に発表されました。この撮影のためには標高5,000mの山頂施設に設置された多数の電波望遠鏡のパラボラアンテナアレイから出力される大量のサンプリングデータをリアルタイムで信号処理および相関と呼ばれる高度な処理をおこない、標高2,900mにある山麓施設へ数十Gbit/secで高速に光伝送をおこないます。FPGA は山頂施設での高度なデータ処理、光伝送、山麓施設でのデータ受信において重要な役割を担っています。高い信頼性、低消費電力、短期間のハードウェア・システム開発、高いパフォーマンスといった FPGA の特性が活用された事例のひとつと言えるでしょう。
(参考) アルマ望遠鏡とは
First M87 Event Horizon Telescope Results. II. Array and Instrumentation

誕生から最新テクノロジーまで

ほかにも数多くの事例を挙げることができますがそれはさておき、FPGA がこれほど多様な分野の量産システムに活用されるようになったのはなぜでしょうか。そして将来はどのように進化するのでしょうか。それらについて理解するため、ここで FPGA の誕生から今日までの変遷を振り返ります。

イノベーションの過程

ハードウェアの革新 (上段) を一言で表すならば、FPGA から ACAP (Adaptive Compute Acceleration Platform) への進化と言えます。すなわち、社会に革新をもたらした FPGA の誕生から、搭載するロジック規模やメモリの増大、プロセッサ、高速トランシーバー、超高速 ADC/DAC のモノリシック集積化を経て、ひとつのデバイスで要求条件が異なるさまざまな用途にアダプティブに DSA (Domain Specific Architecture) を実現するヘテロジニアスプラットフォーム、ACAP に進化を遂げた革新の歴史と表現できると思います。
ハードウェアのもう一つの流れは多くのユーザーが共通して使う機能はベンダー側であらかじめ準備してプラットフォームとして提供することです。これにより開発者は差別化する機能に集中できるようになります。この点については将来への展望として後ほど解説します。

ソフトウェアの革新 (下段) を要約するならば、ハードウェア記述言語 (HDL; Hardware Description Language) によるハードウェア技術者向けの設計環境からソフトウェア言語である高位合成 (HLS; High Level Synthesis) による一部のハードウェアモジュールの設計、そしてプラットフォーム化したハードウェアとの接続をソフトウェア API として抽象化、自動化することにより設計のほとんどの部分を C++ などのソフトウェア言語で行うことができる環境への変遷と言えると思います。

さまざまなギャップを埋める

FPGA が多様な分野の量産システムに活用されるようになった背景のひとつとして、今日いくつかの局面で社会のニーズと半導体を取り巻く状況の間にギャップが生じているのではないかと考えられます。今日見られるいくつかのギャップをリストしてみました。

市場と半導体の状況の間に見られるギャップ

これまで見てきたようにイノベーションのサイクルは短くなる一方で回路の複雑化、大規模化や半導体プロセスの微細化に伴い新たなデバイスを開発するために必要な期間は長期化しています。ディープラーニング、5G、高い解像度の画像のより複雑な方式を使ったエンコード、非構造化データの増大など演算性能の要求は飛躍的に高まっている一方、プロセッサ性能の進化のスピードは鈍化しています。この状況を打開するためにハードウェア技術の重要性が高まっていますが、ハードウェア技術者は減少傾向にあります。また大量のハードウェアを流通して利益を確保できる用途やベンダーは限られており、新規のハードウェア開発に多額の投資をすることは難しいジレンマがあります。
FPGA がますます多様なアプリケーションに活用されている背景には、これらのギャップを埋めることのできる存在として FPGA の重要性がますます高まっていることが背景にあるのではないかと考えています。

将来への展望

このような状況の中でより広い分野でのニーズを満たすための取り組みと将来への展望、今後活用が期待される分野について触れておきたいと思います。

3つのトレンド

将来に向けた FPGA に関連する最近のトレンドを3つ挙げておきます。

演算性能の飛躍的向上

5G に要求される演算の複雑度は 4G の100倍とも言われています (参照; WP506) 。

5G と 4G の複雑さの比較 (出典; ITU-R M.2083-0)

ディープラーニングの登場と半導体技術の進歩によって実用化され始めた人工知能も今後のニーズを満たすためには今のままでは演算量が膨大になると予測する研究もあります (下図)。

動画配信のモバイルトラフィックに占める割合は今日63%を超え、2025年には76%にも達すると言われています。データ量の増大に加え、より一層高精細な画像や圧縮率を向上するために複雑で演算量の多いエンコードへの対応が必要となっています。

画像の高精細化、エンコーダ方式の複雑化

このように増大する演算量をできる限り低消費電力実現するため、ACAP Versal AI コアシリーズでは従来から搭載していた DSP コアを強化するとともに、プログラマブルロジックでは業界初、画期的な AI エンジンと呼ぶ高い演算能力を持つプロセッサを新たに搭載 しています (下図)。

ACAP Versal AI コアシリーズに搭載された AI エンジン (参照;AM009)

AI エンジンのエリアは 最大400個の AI エンジンタイルとそれらを接続する高速バスで構成する AI エンジンアレイからできています。AI エンジンタイルは VLIW (Very Long Instruction Word) かつ SIMD (Single Instruction Multiple Data) のアーキテクチャで最大7つの命令を1クロックサイクルで実行します。タイル内には固定小数点ベクタープロセッサユニット、浮動小数点ベクタープロセッサユニット、32ビットスカラー RISC プロセッサ、AGU (Address Generation Unit) がそれぞれ独立して並列に動作可能で、例えば 8ビット整数演算の場合、128の MAC (Multiply and Accumulate ; 積和演算) 処理を1クロックサイクルで実行します。AI エンジンを活用することにより、複雑で高いスループットが求められる5G の信号処理やディープラーニングの処理性能を大幅に向上することが可能となります。

出典 ; “Versal: The First Adaptive Compute Acceleration Platform (ACAP)” WP505 ( / )

ソフトウェア開発環境の整備

ソフトウェア開発環境の整備に向けた取り組みとして Vitis、Vitis ライブラリ や Vitis AI について前回までのブログで解説しました。これらによってソフトウェア技術者が FPGA を活用した開発に参加する障壁を低減するとともに、ハードウェア記述言語による設計と比較して生産性を大幅に向上することが可能です。しかし、デバイスを搭載する基板などハードウェアをゼロから開発する場合、当然ではありますがハードウェア技術者が必要となります。そのような状況を解消するための取り組みが、次に述べるプラットフォーム化の流れになります。

デバイスからプラットフォームへ

一般に製品やアプリケーションの開発にはハードウェア、エンベデッドソフトウェア、アプリケーションソフトウェア、AI 開発者、データサイエンティストなど様々な技術者が関わります。集中するべき領域が異なるこれらの技術者が開発しやすく各々の領域に集中するためには、専門が異なるこれらの技術者がアクセスしやすい環境を整えることが必要になります。例えば、アプリケーションソフトウェア技術者はアプリケーションソフトウェアを設計することが職務であり、ハードウェアプラットフォームを設計することは専門ではありません。すぐに利用可能なハードウェアプラットフォームがあらかじめ準備されていればアプリケーションソフトウェア技術者はすぐにソフトウェア開発に着手して集中することが可能になります。

必要なハードウェアの機能を備え、アプリケーションソフトウェアの開発に集中できるハードウェアプラットフォームとして例えば FPGA アクセラレータカードが提供されています。さらにあらかじめビデオトランスコードの機能を搭載した FPGA アクセラレータカードを装備したプラットフォームとしてリアルタイムビデオサーバープラットフォームがあります。

デバイスレベルの視点で見た場合、例えばアクセラレータカード内に搭載されている FPGA ではプログラマブルロジック領域をダイナミック・リージョンとスタティック・リージョンに区分けし、スタティック・リージョンにはカードの運用に必要な機能をベンダー側で提供しています。アプリケーションソフトウェア技術者はダイナミック・リージョンにロードするアプリケーションソフトウェアを C++ などのソフトウェア記述言語で開発をおこないます。スタティック・リージョンとダイナミック・リージョンにロードするアプリケーションカーネル間の接続は ソフトウェア API をもとに Vitis ツールが自動的におこなってくれます。

プラットフォームのダイナミックおよびスタティック領域 (参照; UG1120)

ACAP ではこの考えをさらに進め、多くのユーザーが共通して必要な多くの機能をデバイス上にハードマクロとしてあらかじめ集積しています。これにより、ユーザーはより多くのプログラマブルロジック領域を差別化する機能に活用できます。また、プロセスの微細化と消費電力低減の関係を表したデナード則 (Dennard scaling) はすでに2000年代半ばから成立しなくなったと言われていますが、汎用的な機能をシリコンに集積することにより消費電力の低減にも効果があります。

今後活用が期待される分野

ここまで、FPGA が現在活用されているさまざまな分野について解説してきました。最後に今後どのような分野で活用が期待できるかについて触れておきたいと思います。
計算が複雑で安定した低遅延が必要な 5G/6G、MEC (Multi Access Edge)、インテリジェントな画像認識を利用した ADAS/自動運転や監視カメラシステムなどは今後の活用が期待される分野として考えられます。また近年、ハードウェア設計の体制を整えられるハイパースケーラーの多くはデータセンターの構築に FPGA を活用して遅延時間の削減、ストレージ容量の節約、ネットワーク処理やストレージ、データベース処理の CPU 負荷のオフロードを FPGA で実現しています。ソフトウェア開発環境およびハードウェアプラットフォームとして FPGA アクセラレータの登場によって、ハードウェア設計体制を持たない企業での活用が今後進むものと期待されています。

まとめ

FPGA がもたらすさまざまな効果とその活用の現状、今後の展望について解説して参りました。AI の活用の広がりとイノベーションの周期が早まるなかで、より高い性能、低い消費電力、低レイテンシーが求められるアプリケーションは今後ますます増えてゆくでしょう。FPGA/ACAP は、社会のニーズと半導体の間に見られるさまざまなギャップを埋めるとともに、他のアプローチでは困難な要求を実現できる可能性を持っています。容易に利用可能なプラットフォーム、開発環境の整備が進められるに伴い、活躍の分野は一層広がるものと期待されます。ACRi の提供する情報や環境をご利用いただき、一人でも多くのかたや企業で FPGA を活用いただけることを願っております。
お読みいただき、有難う御座いました。

ザイリンクス株式会社
堀江義弘

タイトルとURLをコピーしました