新世代の CPU は、特殊な組み込み命令により、機械学習 (ML) 推論のパフォーマンスが大幅に向上します。 これらの汎用プロセッサは、柔軟性、高速開発、低運用コストを兼ね備えており、他の既存のハードウェア ソリューションの代替手段となります。
AWS、Arm、Meta などは、Arm ベースのプロセッサ向けの PyTorch 2.0 推論のパフォーマンスの最適化に役立ちました。 その結果、PyTorch 2.0 の AWS Graviton ベースのインスタンス推論パフォーマンスが、以前の PyTorch リリースと比較して、Resnet3.5 では最大 50 倍の速度になり (次のグラフを参照)、Resnet1.4 では最大 XNUMX 倍の速度になったことを発表できることを嬉しく思います。 BERT により、Graviton ベースのインスタンスが、これらのモデルの AWS 上で最速のコンピューティングに最適化されたインスタンスになります。
AWS は、次の図に示すように、Torch Hub Resnet50 および複数の Hugging Face モデル全体にわたる AWS Graviton3 ベースの Amazon Elastic Cloud Compute C7g インスタンスを使用した PyTorch 推論で最大 50% のコスト削減を測定しました。
さらに、次の図に示すように、推論の待ち時間も短縮されます。
Graviton 上の他のワークロードでも、価格パフォーマンスの利点において同様の傾向が見られました。たとえば、 FFmpegによるビデオエンコード.
最適化の詳細
最適化では、次の XNUMX つの主要な領域に焦点を当てました。
- GEMM カーネル – PyTorch は、Arm ベースのプロセッサ用の OneDNN バックエンド (以前は MKL-DNN と呼ばれていました) を介して Arm Compute Library (ACL) GEMM カーネルをサポートします。 ACL ライブラリは、fp32 形式と bfloat16 形式の両方に対応する、Neon および SVE に最適化された GEMM カーネルを提供します。 これらのカーネルにより、SIMD ハードウェアの使用率が向上し、エンドツーエンドの推論待ち時間が短縮されます。
- bfloat16のサポート – Graviton16 の bfloat3 サポートにより、bfloat16、fp32、および AMP (Automatic Mixed Precision) を使用してトレーニングされたモデルの効率的なデプロイが可能になります。 標準の fp32 モデルは、モデルの量子化を行わずに OneDNN 高速演算モード経由で bfloat16 カーネルを使用し、bfloat32 高速演算サポートなしの既存の fp16 モデル推論と比較して最大 XNUMX 倍高速なパフォーマンスを提供します。
- プリミティブキャッシュ – 冗長な GEMM カーネルの初期化とテンソル割り当てのオーバーヘッドを回避するために、conv、matmul、および内積演算子のプリミティブ キャッシュも実装しました。
最適化を活用する方法
始める最も簡単な方法は、 AWS深層学習コンテナ (DLC) アマゾン エラスティック コンピューティング クラウド (Amazon EC2) C7g インスタンス or アマゾンセージメーカー。 DLC は以下で入手可能です Amazon エラスティック コンテナ レジストリ (Amazon ECR) 用 AWS グラビトン or x86。 SageMaker の詳細については、以下を参照してください。 Amazon SageMaker を使用して AWS Graviton ベースのインスタンスで機械学習推論ワークロードを実行する および Amazon SageMaker は、モデルのデプロイメント用に XNUMX つの新しい Graviton ベースのインスタンスを追加します.
AWS DLC を使用する
AWS DLC を使用するには、次のコードを使用します。
pip 経由で PyTorch をインストールしたい場合は、公式リポジトリから PyTorch 2.0 ホイールをインストールしてください。 この場合、PyTorch を起動して Graviton 最適化を有効にする前に、以下のコードで説明されているように XNUMX つの環境変数を設定する必要があります。
Python ホイールを使用する
Python ホイールを使用するには、次のコードを参照してください。
推論を実行する
PyTorchを使用できます トーチベンチ CPU 推論パフォーマンスの向上を測定するか、さまざまなインスタンス タイプを比較するには、次のようにします。
ベンチマーク
あなたが使用することができます AmazonSageMaker推論レコメンダー さまざまなインスタンスにわたるパフォーマンスのベンチマークを自動化するユーティリティ。 Inference Recommender を使用すると、特定の ML モデルに対して最低コストで最高のパフォーマンスを提供するリアルタイム推論エンドポイントを見つけることができます。 Inference Recommender ノートブックを使用してモデルを運用エンドポイントにデプロイし、前述のデータを収集しました。 Inference Recommender の詳細については、「 GitHubレポ。 この投稿では次のモデルのベンチマークを行いました。 ResNet50画像分類, DistilBERT センチメント分析, RoBERTaフィルマスク, RoBERTa 感情分析.
まとめ
AWS は、Torch Hub Resnet50 および複数の Hugging Face モデルにわたる AWS Graviton3 ベースの Amazon Elastic Cloud Compute C7g インスタンスを使用した PyTorch 推論で、同等の EC50 インスタンスと比較して最大 2% のコスト削減を測定しました。 これらのインスタンスは、SageMaker および Amazon EC2 で利用できます。 の AWS Graviton テクニカルガイド は、さまざまなワークロードにわたって Graviton インスタンスを使用してコスト上のメリットを達成するのに役立つ、最適化されたライブラリとベスト プラクティスのリストを提供します。
AWS Graviton で同様のパフォーマンスの向上が観察されないユースケースを見つけた場合は、 AWS Graviton テクニカルガイド それについて私たちに知らせるために。 Graviton を PyTorch を使用した推論用の最もコスト効率が高く効率的な汎用プロセッサにするために、パフォーマンスの改善をさらに追加し続けます。
著者,
スニタ・ナダンパリ AWS のソフトウェア開発マネージャーです。 彼女は、機械学習、HPC、およびマルチメディア ワークロードの Graviton ソフトウェア パフォーマンスの最適化をリードしています。 彼女は、オープンソース開発と、Arm SoC を使用した費用対効果の高いソフトウェア ソリューションの提供に情熱を注いでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 未来を鋳造する w エイドリエン・アシュリー。 こちらからアクセスしてください。
- PREIPO® を使用して PRE-IPO 企業の株式を売買します。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/optimized-pytorch-2-0-inference-with-aws-graviton-processors/
- :は
- :どこ
- $UP
- 1
- 10
- 100
- 11
- 7
- 98
- a
- 私たちについて
- それについて
- 精度
- 達成する
- 越えて
- 加えます
- 追加
- 利点
- 配分
- ことができます
- また
- 代替案
- Amazon
- Amazon EC2
- amp
- an
- および
- アナウンス
- です
- エリア
- ARM
- AS
- At
- 自動化する
- オートマチック
- 利用できます
- 避ける
- AWS
- バックエンド
- 以下
- ベンチマーク
- ベンチマークされた
- ベンチマーク
- 利点
- BEST
- ベストプラクティス
- 両言語で
- 内蔵
- by
- 呼ばれます
- 缶
- 場合
- 例
- CD
- クラウド
- コード
- COM
- 組み合わせた
- 匹敵します
- 比較します
- 比べ
- 完成
- 計算
- コンテナ
- 続ける
- 費用
- コスト削減
- コスト効率の良い
- データ
- 深いです
- 深い学習
- 喜んで
- 配信する
- 提供します
- 依存
- 展開する
- 展開
- 細部
- 開発
- 異なります
- デッカー
- ダウンロード
- 原因
- 効率的な
- 端から端まで
- エンドポイント
- 環境
- 例
- 既存の
- 説明
- export
- エクステンション
- 顔
- スピーディー
- 速いです
- 最速
- フィギュア
- 埋める
- もう完成させ、ワークスペースに掲示しましたか?
- 柔軟性
- 焦点を当て
- フォロー中
- から
- 利益
- 一般的用途
- 世代
- 取得する
- Gitの
- 与えられた
- グラフ
- Hardware
- 持ってる
- 助けます
- 助けました
- ハイ
- hpc
- HTML
- HTTP
- HTTPS
- ハブ
- 画像
- 実装
- 改善します
- 改善
- 改善
- in
- install
- 説明書
- 問題
- IT
- JIT
- JPG
- キー
- 重要な場所
- 知っている
- レイテンシ
- 最新の
- 発射
- リード
- 学習
- う
- ライブラリ
- 図書館
- リスト
- ログイン
- ロー
- 最低
- 機械
- 機械学習
- make
- 作成
- マネージャー
- math
- だけど
- 言及した
- Meta
- 混合
- ML
- モード
- モデル
- 他には?
- 最も
- マルチメディア
- の試合に
- Neon
- 新作
- of
- 提供
- 公式
- on
- 開いた
- オープンソース
- オペレーティング
- 演算子
- 最適化
- 最適化
- 最適化
- or
- その他
- その他
- 情熱的な
- パフォーマンス
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- お願いします
- ポスト
- プラクティス
- 精度
- 好む
- 前
- 前に
- プリミティブ
- プリント
- プロセッサ
- プロセッサ
- プロダクト
- 生産
- は、大阪で
- 提供
- Python
- パイトーチ
- への
- 減らします
- 電話代などの費用を削減
- リリース
- 結果
- 結果
- ラン
- セージメーカー
- SageMaker の推論
- 貯蓄
- 見て
- 感情
- セッションに
- 彼女
- 示す
- 重要
- 同様の
- ソフトウェア
- ソフトウェア開発
- ソリューション
- 専門の
- スピード
- 標準
- 開始
- 成功した
- サポート
- サポート
- 取る
- 技術的
- それ
- アプリ環境に合わせて
- ボーマン
- この
- 三
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- トーチ
- トーチビジョン
- 訓練された
- トレンド
- 順番
- 2
- アップデイト
- アップグレード
- us
- つかいます
- ユーティリティ
- バージョン
- 、
- 仕方..
- we
- ホイール
- 意志
- 無し
- You
- ゼファーネット