検索
特集/連載

GPUでもNPUでもなくAIプロセッサに「FPGA」を選ぶ“2つの理由”多様化するAI半導体の選択肢【前編】

AI技術向けのプロセッサとしてはGPUがあるが、近年注目を集めるのが「FPGA」だ。そのメリットとデメリットを解説する。

Share
Tweet
LINE
Hatena

関連キーワード

人工知能 | GPU | 開発ツール


 AI(人工知能)処理向けのプロセッサについて議論する際、「GPU」(グラフィックス処理装置)や「NPU」(ニューラルプロセッシングユニット)などがまず挙がるだろう。しかし近年は、プログラム可能な集積回路「FPGA」(Field Programmable Gate Array)もAI処理向けのプロセッサとして注目を集めている。本稿はFPGAの基本的な特徴と併せて、AIプロジェクトでFPGAを利用するメリットとデメリットを整理する。

GPUやNPUではなく「FPGA」を選ぶ理由とは?

 FPGAは、「Field Programmable」(現場でプログラム可能)という名前の通り、ユーザーが再プログラミングできる集積回路だ。出荷後に内部構成を変更できない一般的なプロセッサとは、この点において一線を画している。

 FPGAの設定を変更する際は、デバイスの動作を制御するソースコードを記述して適用する。つまり、ハードウェアを物理的には変更することなく、ハードウェア記述言語を用いた再プログラムによってデバイスの動作を調整できるのがFPGAの大きな特徴だ。

 再プログラムができるというFPGAの特性は、内部の論理ブロックやインターコネクト(論理回路の接続構成)を変更できる仕組みによって実現している。開発者はデバイスのデータ処理方法をソフトウェア的に変更できるため、特定の用途に最適化しやすい。例えば、レイテンシ(遅延)を最小限に抑える設定や、省電力性を優先する構成など、ユースケースに応じた最適化が可能だ。

 一概に「FPGAがGPUやNPUと比べて常に優れている」とは言えないが、FPGAは高いカスタマイズ性や省電力性など独自の強みを持ち、特にエッジコンピューティングの分野では優れた選択肢となる。しかし、こうした利点の一方で、プログラミングの複雑さやリソース容量の制約といった課題も考慮する必要がある。

AIプロジェクトにFPGAを採用するメリット

 FPGAはもともとAI処理向けに設計されたものではなく、エンジニアが異なる回路構成を試すためのツールとして1980年代に開発された。新しい回路設計を試すたびにハードウェアを作り直す必要がないため、プロトタイピングや、アプリケーションの変更に伴うハードウェア変更時に重宝された。

 近年、FPGAはAIアクセラレーター(AI関連処理を高速化するためのプロセッサ)としても注目を集めている。AIプロジェクトにFPGAを採用するメリットは主に2つある。

  • AIモデルの開発用途
    • AIモデルの設計は開発フェーズで頻繁に変更されるが、FPGAはそれに応じてハードウェア構成を調整できる。AIモデルの変更に合わせてハードウェア設定を最適化できるため、効率的な開発も可能になる。
  • AIモデルの推論用途
    • FPGAには軽量かつ省電力という特徴がある。AIモデルごとにカスタマイズすることでさらなる処理の効率化が見込める。そのため、特に従来型のサーバやデータセンターでの運用が難しい環境での推論処理に適している。例えば、安定したインターネット接続がない場所でAIモデルを動作させるケースなどだ。

 AIモデルの開発や推論には、GPUやNPU、さらにはCPUも使用可能だ。それに対してFPGAはハードウェア構成を自由に変更できるため、他のプロセッサにはない柔軟性を提供できるのが大きな魅力だ。

一方でデメリットも

 一方でFPGAには以下のような課題も存在する。

  • プログラミングが複雑
    • FPGAのプログラミングには専門的なツールや知識が必要で、「Python」などの一般的なプログラミング言語を使う場合よりはるかに複雑だ。FPGAのプログラミング環境はベンダーごとに異なるため、最適なカスタマイズをするにはかなりの勉強が求められるという難点もある。
  • AI向けには調整が必要
    • FPGAはもともとハードウェアプロトタイピングを目的に設計されたものであり、AIワークロード(AI技術関連の処理やタスク)向けに最適化されているわけではない。標準の状態ではAI向けの性能を発揮しにくいという課題がある。そのため、AI用途でFPGAを活用するには、エンジニアが設定を調整する必要がある。
  • 容量に制約がある
    • 一般的にFPGAは軽量設計されているため、省電力性には優れるが、大量の処理能力が必要なAIワークロードの実行には向かない。1台のFPGAでは十分な処理能力を確保できないことがあり、その場合はAIワークロードを実行するために複数のFPGAを並列に動作させる必要がある。しかし、これは単一のGPUや小規模クラスタを使用するよりも手間がかかる上に難易度が高い。
  • エコシステムが小規模
    • GPUが広く採用されていることと比較すると、FPGAのエコシステムは限定的だ。機械学習フレームワークやライブラリの選択肢も少なく、仮に利用できるツールがあっても、特定ベンダーに依存することが多い。そのため、異なるFPGA間での移行や、複数種類のFPGAの同時利用が難しい。

 次回は、FPGAとGPUを比較する。

TechTarget発 先取りITトレンド

米国Informa TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る