インテル® FPGA AI スイート
インテル® FPGA AI スイート がどのように FPGA AI を組込みシステムやデータセンターに追加するのかご覧ください。
概要
インテル® FPGA は、次の利点と組み合わせて、リアルタイムで低レイテンシー、かつ低消費電力のディープラーニング推論を可能にします。
- I/O の柔軟性
- リコンフィギュレーション
- カスタム・プラットフォームへの統合が容易
- 長い寿命
インテル® FPGA AI スイート は、インテル® FPGA での人工知能 (AI) 推論の使いやすさを目標にして、開発されました。スイートにより、FPGA 設計者、機械学習エンジニア、ソフトウェア開発者が最適化した FPGA AI プラットフォームを効率的に作成することができます。
インテル® FPGA AI スイート のユーティリティーは、TensorFlow、PyTorch、OpenVINO ツールキットなどのなじみがあり、人気の高い産業フレームワークを使用して、AI 推論に関する FPGA の開発スピードを速めるとともに、インテル® Quartus® Prime 開発ソフトウェアで堅牢かつ実績ある FPGA 開発フローを活用します。
インテル® FPGA AI スイートの ツールフローは、さまざまなハードウェア・アーキテクチャーで推論を最適化するために、オープンソース・プロジェクトである OpenVINO™ ツールキットと連携します。OpenVINO™ ツールキットは、すべての主要なディープラーニング・フレームワーク (TensorFlow、PyTorch、Keras など) からディープラーニング・モデルを取り出し、CPU、CPU+GPU、FPGA などのさまざまなハードウェア・アーキテクチャーで推論を行うために、最適化します。
インテル® FPGA AI スイート がどのように FPGA AI を組込みシステムやデータセンターに追加するのかご覧ください。 価格と可用性については、インテル・セールスまでお問い合わせください ›
今すぐ始めましょう
FPGA が、AI の実装に特に優れている理由
このホワイトペーパーでは、インテル® FPGA AI スイートおよび OpenVINO™ ツールキットを搭載したインテル® FPGA & SoC が、組込み / エッジ AI / マシンラーニング・アプリケーションを推進する方法について紹介しています。
ホワイトペーパーを読む
利用者の声
「インテル® FPGA AI スイート とインテル® ディストリビューションの OpenVINO™ ツールキットは使いやすいので、Stryker はディープラーニング推論向けに最適化したインテル® FPGA IP を開発することができました。推論 IP は、インテル® Quartus® Prime ソフトウェアを使用して、インテル® FPGA に正常に統合されました。このスイートで提供されたデザイン例によって、チームはさまざまなイメージソースの異なるアルゴリズムの迅速な評価が可能になりました。インテル® FPGA AI スイート とインテル® ディストリビューションの OpenVINO™ ツールキットのおかげで、データ・サイエンティストと FPGA エンジニアは連携して、医療用アプリケーション向けに最適なディープラーニング推論を開発することができます。」 — Stryker エンジニアリング・チーム
主な機能
高性能
インテル® Agilex™ 7 M シリーズ FPGA は、90% の FPGA の使用量で 38 の INT8 TOPS または 3,679 Resnet-50 フレーム / 秒の最大理論性能を達成できます。
容易なシステム統合
ADC/DAC、ビデオ、イーサネットなどのカスタム IP の統合をサポートし、最小のフットプリントと低レイテンシーを達成します。
総保有コスト (TCO) の削減
幅広いパフォーマンスとバッチサイズにわたって、高度なスケーラブルおよびカスタマイズが可能な、細分性の高い AI 推論で、TCO を最小化します。
シンプルでスタンダードな流れ
インテル® Quartus® Prime 開発ソフトウェア、またはプラットフォーム・デザイナーを使用して、現在または新しい FPGA デザインに AI 推論 IP を作成し、追加します。
AI フロントエンドのサポート
TensorFlow、Caffe、Pytorch、MXNet、Keras、ONNX などの AI フロントエンドを使用します。
OpenVINO™ の最適化
OpenVINO™ ツールキットはロジックとメモリーのフットプリントを最小化しながら、パフォーマンスと電力効率を最適化します。
FPGA による AI 推論開発フロー
AI 推論開発フローを図 1 に示しています。このフローは、ハードウェアとソフトウェアのワークフローをエンドツーエンドの汎用 AI ワークフローにシームレスに組み合わせています。手順は次のとおりです。
1.OpenVINO™ ツールキットのモデル・オプティマイザーは、中間表現ネットワーク・ファイル (.xml)、重み、バイアスファイル (.bin) を作成します。
2.インテル® FPGA AI スイートの コンパイラーは、以下のように使用されます。
- 指定のアーキテクチャー・ファイルの推定領域またはパフォーマンス指標を提供するか、最適化したアーキテクチャー・ファイルを作成します。(アーキテクチャーとは、PE アレイのサイズ、精度、アクティベーション機能、インターフェイスの幅、ウィンドウのサイズなど推論 IP パラメーターのことを指します。)
- ネットワーク・ファイルを .bin ファイルにコンパイルし、FPGA と CPU (またはその両方) のネットワーク・パーティションと、重みとバイアスを設定します。
3. コンパイル済みの .bin ファイルは、実行中にユーザー推論アプリケーションでインポートされます。
- ランタイム・アプリケーション・プログラミング・インターフェイス (API) は、推論エンジン API(ランタイム・パーティション CPU と FPGA、スケジュール推論) と FPGA AI (DDR メモリー、FPGA ハードウェア・ブロック) が含まれています。
- リファレンス・デザインは、ホスト CPU (x86 および Arm プロセッサー) をサポートする FPGA で .bin のインポートと推論の実行という基本的な操作を示します。
図 1: インテル® FPGA AI スイート の開発フロー
注:
対応デバイス: インテル® Agilex™ 7 FPGA、インテル® Cyclone® 10 GX FPGA、インテル® Arria® 10 FPGA
検証されたネットワーク、レイヤー、アクティベーション機能:
- ResNet-50、MobileNet v1/v2/v3、YOLO v3、TinyYOLO v3、UNET、i3d
- 2D Conv、3D Conv、完全接続、Softmax、BatchNorm、EltWise Mult、クランプ
- ReLU、PReLU
システムレベルのアーキテクチャー
インテル® FPGA AI スイート は、さまざまなシステムレベルの使用事例に対して、柔軟性に優れ、構成可能です。インテル® FPGA AI スイート IP をシステムに組み込む一般的な方法は、図 2 に記載されています。使用事例は、ホスト CPU (インテル® Core™ プロセッサー、Arm プロセッサー) を搭載したアプリケーションに最適化された組込みプラットフォームから、インテル® Xeon® プロセッサーを搭載したデータセンター環境、さらにホストレス・アプリケーション (または Nios® V プロセッサーなどのソフト・プロセッサー) まで、さまざまな垂直方向に広がっています。
図 2: 一般的なインテル® FPGA AI スイートのシステムトポロジー
CPU オフロード
AI アクセラレーター
多機能 CPU オフロード
AI アクセラレーター + 追加のハードウェア機能
取り込み / インライン処理 + AI
AI アクセラレーター + 直接取り込みとデータストリーミング
組込み SoC FPGA + AI
AI アクセラレーター + データ取り込みとデータストリーミング + ハードウェア機能 +
組込み Arm または Nios® II または Nios V プロセッサー
デモビデオ
インテル® FPGA AI スイートの概要
このビデオを視聴して、インテル® FPGA AI スイートのデザインフローについてご確認ください。
インテル® FPGA AI スイートのインストールのデモビデオ
インテル® FPGA AI スイートのインストールは簡単です。このビデオを視聴して、インストールのデモをご確認ください。
インテル® FPGA AI スイートのコンパイルのデモビデオ
インテル® FPGA AI スイートが RESNET-50 事前トレーニング済みモデルをコンパイルし、推論結果を出力する様子をクイックデモでご覧ください。
インテル® Agilex™ FPGA ボードのインストールとボード立ち上げのデモビデオ
この簡単なチュートリアルでは、インテル® Agilex™ 7 FPGA を簡単に立ち上げてプログラムし、インテル® FPGA AI スイートを使用する方法について説明します。
インテル® FPGA AI スイートの PCIe デザイン例
このビデオでは、インテル® FPGA AI スイートの機能の一部を紹介します。