ディープ・ラーニングへの応用が期待されるFPGAはGPGPUとどういう関係になるか

FPGAとディープ・ラーニング

FPGA(Field Programmable Gate Array)は回路を自由に変更出来るチップです。エンジニアはプログラムに合わせた回路データを設計することが出来るので、ある演算に対する専用のパイプラインを持つようなアクセラレータが作れます。

FPGAの利点はFPGAのチップ自体は大量に生産出来るにも関わらず、それをある演算の専用プロセッサに仕立て上げることが出来る点です。専用プロセッサを一から製造するよりも短期間で専用プロセッサが手に入り、かなり安上がりとなるようです。また、ソフトウエアの仕様の変更に柔軟に対応出来る点もよく利点として上げられ、MicroSoftはそのような理由から検索エンジンBingのアクセラレーションにFPGAを使用しているようです。

これら2つの利点は、日々様々な実装が開発されているディープ・ラーニングにも良く合います。例えば、あるアーキテクチャでは画像の成否判定が精度良く出来たとします。工場で不良品を弾き出すラインなどに応用出来ますので、需要はあるでしょう。このアーキテクチャ専用のアクセラレーターをFPGAで実装し、出荷できる品と不良品のサンプル画像を入力すると、不良品だけを精度良く弾いてくれる判定AIを作れる、という事業が考えられます。専用パイプラインの作り込み次第で、GPGPUでは実現出来ないようなスピードや、費用対効果が見込めます。また、サービスを提供するうちにそれ以上の精度が出るアーキテクチャが開発されたとしても、FPGAは柔軟にそれに対応することが出来ます。

高性能なFPGAにアクセス出来るAWSのF1インスタンス

AWS(Amazon Web Service)はAmazonの運営するクラウドコンピューティング事業ですが、高性能なFPGAボードを搭載したサーバーが存在します。そのサーバーはF1インスタンスとして貸し出されており、FPGAへのアクセスが容易になりました。HDK(Hardware Development Kit)と呼ばれる開発キットは無料で公開されており、FPGAが今後普及していく可能性をグッと高める製品となっています。

F1インスタンスに使われるXilinx社の製品、GPGPUを超えるか

F1インスタンスに使われているのはアメリカ・カリフォルニア州サンノゼにあるXilinx社の製品です。同社は高性能なFPGAを開発する他、それを有効活用するためのソフトウエアツール群も開発しており、AWSのF1インスタンスのHDKにはそのテクノロジーが使用されているようです。

F1インスタンスに採用された同社の製品は16nmプロセスで製造されており、製造プロセスの面ではGPUに引けを取りません。限界まで最適化出来る点を考えれば、GPGPUよりも良いパフォーマンスを得られる可能性は十分にあります。

研究用途にはGPGPUか

FPGAで専用パイプラインを作る手法は、アルゴリズムが固まっていることが条件となります。アルゴリズムを発展させていく立場の研究者達はそれでは困ります。

アルゴリズムを考案し、そのアルゴリズムの有効性を評価すると言うサイクルを早く回したい場合、GPUという大規模で安価ですぐに使える演算資源はとても役に立ちます。どんなアルゴリズムでどんなAIモデルが出来るか、という理論が固まってくるまでは、ディープ・ラーニングにはGPGPUが使用されます。

鍵はヘテロジニアス・コンピューティング・フレームワーク「OpenCL」

CUDAなどと並べて語られることの多いフレームワークであるOpenCLですが、OpenCLは異種のプロセッサを混合して計算を行うヘテロジニアス・コンピューティング・フレームワークです。OpenCLはFPGAを扱うことも可能です。

OpenCLがFPGAとGPUを扱えると言う点は注目すべき点で、GPU用に書かれたOpenCLのプログラムをFPGAでアクセラレーションする言ったことが出来ます。様々なハードウエア・アクセラレーションが考えられる時代では、OpenCLで書かれたソフトウエア資源は大きな意味を持ちます。OpenCLを用いて研究されたディープ・ラーニングのアルゴリズムを、FPGAを用いてアクセラレーションすると言うエコシステムが形成されれば、FPGAの専用アクセラレーターを設計した瞬間から、研究成果をシームレスに実用化していけるでしょう。FPGAは大きな競争力を持つことになります。

関連記事

FPGAの応用例、バイオIT企業Edico GenomeとDell EMCが丸一日かかるゲノム解析を22分に短縮

AWSがFPGAを採用する新インスタンスプラン「F1」を発表、クラウドコンピューティングはインフラとなりつつある

HPC領域3つのバズワード「ビッグデータ」「ディープ・ラーニング」「エクサスケール」はこう違う

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)