【レポート】GPU/FPGA/ML推論…特定処理特化型の「アクセラレーテッドコンピューティング on Amazon EC2」 #AWSSummit

豊富なラインナップを誇るEC2、通常用途向けのCPUインスタンスとならび、特定用途に特化して処理を高速化する「アクセラレーテッド」なものも存在します。動画処理やHPC、機械学習など、重いワークロード向けのこれらのインスタンスが俯瞰できるセッションをレポートします。
2020.09.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

9/8 から始まりました AWS Japan Summit Online 2020。ライブ配信セッション AWS-24「アクセラレーテッドコンピューティング on Amazon EC2」を拝聴しましたのでレポートします。
GPU 搭載インスタンスくらいはまだなじみがあるものの、FPGA 搭載インスタンスや新顔の Inf1 などは、あまり知らないという方も多いのではないでしょうか。これら特定処理・用途向けのインスタンスのことを俯瞰的に学ぶのにうってつけのセッションでした。

概要

Amazon EC2 では GPU、FPGA の他、独自の ML 推論チップ AWS Inferentia を搭載するインスタンスが存在します。さらに EC2 にアタッチして利用する Amazon Elastic Graphics/Inference といった安価な特定アプリケーション向けのアクセラレーターオプションなども存在します。本セッションでは EC2 で提供される様々なアクセラレーターオプションをよるアクセラレーテッドコンピューティングの全てを紹介します。

動画および資料

スピーカー

小川 貴士

  • アマゾン ウェブ サービス ジャパン株式会社
    技術統括本部 レディネスソリューション本部
    ソリューションアーキテクト
  • 好きな AWS サービス
    • EC2、AWS Batch

内容

  • 本セッションの目的
    • EC2 で利用できるアクセラレータのラインナップを知る
    • 基本的な使い方やユースケース
  • Agenda
    • アクセラレーテッドコンピューティングとは
    • Amazon EC2 で利用できる各種アクセラレータ
    • 選び方

アクセラレーテッドコンピューティングとは

  • さらなる並列化が必要とされている
    • CPU : 高速、効率低
    • GPU/FPGA/ASICs:高スループット、高効率
    • CPU の進化も限界に近づいている -> アクセラレーテッドコンピューティングにフォーカスが当たっている
  • 特徴
    • CPU:10〜100 コア、事前定義された命令セットとデータバス幅、汎用コンピューティング向け
    • GPU:数千のコア、並列実行に効果的
    • FPGA:数百万のプログラマブルロジックセル、事前定義された命令セットはない、書き換え可能なハードウェア、広帯域のデータパス
    • ASICs:特定用途に最適化されたカスタム設計、事前定義されたソフトウェアエクスペリエンス

  • CPU とアクセラレータは協調動作する
    • 並列処理をアクセラレータ、残りの処理は CPU
  • ワークロード
    • 機械学習/AI:映像・ビデオ認識、自然言語処理、自動運転、レコメンデーション
    • HPC:流体力学、金融およびデータ分析、ゲノミクス、計算科学
    • グラフィクス:仮想ワークステーション、3D モデリング・レンダリング、動画エンコーディング、AR/VR
  • EC2 のインスタンス
    • 275+のインスタンスタイプ
    • ラインナップ
    • EC2 に追加できるオプション
      • Elastic Graphics
      • Elastic Inference
  • クラウド上で利用することの利点
    • 従量課金、初期コストなし
    • 開発環境も用意されている
    • AWS 上に蓄えられた大規模なデータを処理
    • 豊富な種類、使い分けが可能
    • 新しいアクセラレータのトライアル。ハードウェアの陳腐化を気にしなくて良い

Amazon EC2 で利用できるアクセラレータについて

NVIDIA - GPU

  • 2010 年からラインナップしている
  • A100 Ampere も 2020 リリース予定
  • P3 インスタンス
    • GPU インスタンス
    • 最大 8 つの Tesla V100 GPU
      • 1PFLOPS、NVLink
    • 大規模な並列処理能力を必要とするワークロードに最適
  • G4 インスタンス
    • 最大 8 つの T4 Tensor コア GPU
    • 比較的安価、機械学習やグラフィクス系の処理に最適
  • 利用環境の整備
    • AWS マーケットプレイスから用途に合った GPU Ready の AMI を利用する
    • NVIDIA NGC も EC2 から利用可能

Xilinx - FPGA

  • F1 インスタンス
    • Xilinx UltraScale+ 16nm VU9P FPGA を最大 8 枚
  • FPGA Developer AMI
    • 開発環境が導入済みの OS イメージ
  • 出来合の FPGA イメージを利用することも可能
    • 金融、ゲノミクス、シミュレーション、画像・ビデオ処理、ビッグデータ、機械学習、セキュリティ、圧縮 etc
    • AWS マーケットプレイスで入手
  • 開発する・出来合いのものを使う 2 種類のやりかたがある

AWS Inferentia

  • AWS 独自設計の推論プロセッサ
  • 機械学習でスタンダードなデータタイプをサポート
  • EC2 Inf1 インスタンス
    • G4 と比較して最大 3 倍の推論処理スループット、最大 40%のコスト削減
    • CPU は Intel Xeon (Cascade Lake)
  • 開発環境(AWS Neuron)
    • TensorFlow、MXNet、PyTorch をサポート
    • aws/aws-neuron-sdk
    • 対応 Deep Learning AMI をリリース済み

Elastic family

  • EC2 にアタッチして利用するアクセラレータオプション
  • Elastic Graphics
    • グラフィックアクセラレーション用
    • t2 などの安価なインスタンスと組み合わせる
    • OpenGL4.3 API に対応
    • EC2 インスタンス作成し GPU ドライバを導入
      • Windows AMI であれば導入済み
  • Elastic Inference
    • Deep Learning の推論処理用
    • ネットワークでアタッチ、SG と PrivateLink

選び方

  • ユースケースに対するマッピング
  • HPC など、計算制度が求められるところ -> P3
  • 金融やビデオエンコード -> P3 や、実績ある FPGA AMI がある
  • グラフィクス処理 -> Elastic Graphics
  • ML 推論 -> 規模やコスト間にあわせて

  • ML 推論の選択肢
    • Inf1 - 一般的な ML フレームワーク、G4 と比較して 40%低価格、3 倍のスループット
    • G4 - CUDA、CuDNN、TensorRT などの NVIDIA ライブラリ
    • C5 - CPU 処理。小さなモデル向け
    • Elastic Inference - 要件に合ったサイズの EC2 と組み合わせ

まとめ

  • ラインナップ一覧を覚えて欲しい

最後に

AWS Summit Online は 9/30 まで開催です。是非ご参加ください!