ほとんどの人工知能(AI)の基盤となっている ディープラーニングは、多層のニューラル・ネットワークを使用して人間の脳の複雑な意思決定能力をシミュレートする機械学習のサブセットです。人工知能(AI)を超えて、ディープラーニングは、デジタル・アシスタント、音声対応の家電製品、クレジットカード詐欺検出などの日常的な製品やサービスを含む、オートメーションを改善する多くのアプリケーションを推進します。主に音声認識、画像処理、複雑な意思決定などのタスクに使用され、大量のデータを「読み取り」、処理して複雑な計算を効率的に実行できます。
ディープラーニングには膨大な計算能力が求められます。通常、高性能のグラフィカル処理装置(GPU)は、大量のメモリーを使用しながら、マルチコアで大量の計算を処理できるため理想的です。しかし、複数のGPUを構内で管理するためには社内のリソースに大きな負担をかけることになり、拡張にも多大なコストがかかります。あるいは、フィールド・プログラマブル・ゲート・アレイ(FPGA)は、コストがかかる可能性はあるものの、新しいアプリケーションに十分なパフォーマンスと再プログラマブルな柔軟性の両方を提供する多目的ソリューションを提供します。
ハードウェアの選択は、ディープラーニング・アプリケーションの効率、速度、拡張性ーに大きな影響を与えます。ディープラーニング・システムを設計する際には、運用上の要求、予算、目標を考慮してGPUとFPGAのどちらを選択するかを検討することが重要です。回路を考慮すると、GPUとFPGAはどちらも効果的な 中央処理装置(CPU)となり、NVIDIAやXilinxなどのメーカーからは、最新のPeripheral Component Interconnect Express(PCIe)規格との互換性を考慮して設計されたオプションが多数提供されています。
ハードウェア設計のフレームワークを比較する場合、重要な考慮事項は次のとおりです。
GPUは、メモリーを高速に操作して画像の作成を高速化するように設計された特殊な回路の一種です。高スループットを実現するように構築されており、大規模なディープラーニング・アプリケーションのトレーニングなどの並列処理タスクに特に効果的です。GPUは通常、ゲームや動画処理などの要求の厳しいアプリケーションで使用されますが、高速パフォーマンス機能により、大規模なデータセット、複雑なアルゴリズム、暗号通貨のマイニングなどの集中的な計算に最適です。
人工知能の分野では、ニューラル・ネットワークのトレーニングと推論に必要な数千の同時操作を実行できる能力があるため、GPUが選択されます。
GPUは優れた計算能力を提供しますが、その優れた処理能力にはエネルギー効率と高電力消費という犠牲が伴います。画像処理、信号処理、その他のAIアプリケーションなどの特定のタスクの場合、クラウドベースのGPUベンダーは、サブスクリプションまたは従量課金制の価格モデルを通じて、よりコスト効率の高いソリューションを提供できる場合があります。
GPUについて詳しくは、次の動画をご覧ください。
FPGAは、複数のアプリケーションに合わせて構成(および再構成)できるプログラマブルなシリコン・チップです。特定の目的のために設計された特定用途向け集積回路(ASIC)とは異なり、FPGAは、特にカスタムの低遅延アプリケーションにおいて、効率的な柔軟性を備えていることで知られています。ディープラーニングのユースケースでは、FPGAは汎用性、電力効率、適応性が高く評価されています。
汎用GPUは再プログラムできませんが、FPGAの再構成可能性により特定のアプリケーションの最適化が可能になり、低遅延と消費電力の削減が実現します。この大きな違いにより、FPGAはAIアプリケーションのリアルタイム処理や新しいプロジェクトのプロトタイピングに特に役立ちます。
FPGAは他のプロセッサーほど強力ではないかもしれませんが、通常はより効率的です。大規模なデータセットの処理などのディープラーニング・アプリケーションでは、GPUが好まれます。ただし、FPGAの再構成可能なコアにより、特定のアプリケーションやワークロードに適したカスタム最適化が可能になります。
ディープラーニング・アプリケーションでは、定義上、少なくとも3つ(またはそれ以上の)層を持つニューラル・ネットワークの一種であるディープ・ニューラル・ネットワーク(DNN)が必要になります。ニューラル・ネットワークは、生物学的ニューロンが連携して現象を識別し、選択肢を検討し、結論に到達する方法を模倣したプロセスを通じて意思決定を行います。
DNNが現象を識別し、パターンを認識し、可能性を評価し、予測や決定を下すことを学習するには、まず大量のデータでトレーニングする必要があります。そして、このデータを処理するには大量の計算能力が必要です。FPGAとGPUはこのパワーを提供できますが、それぞれに長所と短所があります。
FPGAは、特注のAIアプリケーションなど、特定のディープ・ラーニング・タスクに合わせてカスタマイズする必要がある、低遅延のカスタム・アプリケーションに最適です。FPGAは、処理速度よりもエネルギー効率を重視するタスクにも適しています。
一方、よりパワーのあるGPUは、大規模で複雑なモデルのトレーニングや実行などの負荷の高いタスクに一般的に使用されています。GPUの優れた処理能力により、大規模なデータセットを効果的に管理するのに適しています。
FPGAは、汎用的なプログラマビリティー、電力効率、低遅延の利点を活かして、次のような用途によく使用されます。
汎用GPUは通常、より高い計算能力と事前にプログラムされた機能を提供するため、次のアプリケーションに最適です。
FPGAとGPUを比較する場合は、ディープラーニング・プロジェクトに対するクラウド・インフラストラクチャーのパワーを考慮してください。クラウドでIBM GPUを使用することにより、信頼性が高くセキュアでコスト効率に優れたIBM Cloudインフラストラクチャー上で、生成AI、従来型AI、HPC、視覚化のユースケースのためのNVIDIA GPUをプロビジョニングできます。IBMのスケーラブルなエンタープライズ・クラウドでAIとHPCの導入を加速します。