Amazon Searchのビジョンは、顧客が簡単に検索できるようにすることです。 私たちのスペル修正は、意図した単語の正確なスペルがわからなくても、必要なものを見つけるのに役立ちます。 以前は、スペル修正のために手動の特徴エンジニアリングを備えた古典的な機械学習(ML)アルゴリズムを使用していました。 スペル修正のパフォーマンスを次世代に飛躍させるために、シーケンス間モデルを含む多くのディープラーニングアプローチを採用しています。 ディープラーニング(DL)モデルは、トレーニングと推論の両方で計算集約型であり、これらのコストにより、歴史的に、Amazonの規模の本番環境ではDLモデルは実用的ではありませんでした。 この投稿では、これらの障害を克服し、人気のあるHugging Face T534 Transformerの推論速度を5%向上させる、推論最適化実験の結果を紹介します。
課題
テキストからテキストへの転送トランスフォーマー(T5、 統合されたテキスト間トランスフォーマーを使用した転移学習の限界の調査、Reffel et al)は、最先端の自然言語処理(NLP)モデルアーキテクチャです。 T5は、スペル修正のための有望なアーキテクチャであり、実験でうまく機能することがわかりました。 T5モデルは、オープンソースのディープラーニングフレームワークと継続的な学術研究および企業研究のおかげで、研究、開発、およびトレーニングが容易です。
ただし、T5を使用して、実稼働グレードの低レイテンシの推論を実現することは困難です。 たとえば、PyTorch T5を使用した単一の推論は、Amazon Elastic Compute Cloud(EC45)p100xlargeインスタンスを備えた2つのNVIDIAV3.8TensorコアGPUの9つで11ミリ秒かかります。 (報告されるすべての推論番号は、5トークンの入力とXNUMXトークンの出力に対するものです。TXNUMXアーキテクチャの遅延は、入力と出力の両方の長さに影響されます。)
大規模な低レイテンシで費用対効果の高いT5推論は、Amazon Search以外のAWSのお客様から報告されている既知の問題であり、この投稿に貢献する意欲を高めています。 オフラインの科学的成果から顧客向けの制作サービスに移行するために、AmazonSearchは次の課題に直面しています。
- レイテンシ –5ミリ秒未満のP50レイテンシでT99推論を実現する方法
- スループット –大規模な同時推論要求を処理する方法
- コスト効率 –コストを管理する方法
この投稿の残りの部分では、NVIDIA推論最適化スタック(つまり、 NVIDIA TensorRT コンパイラとオープンソース NVIDIATriton推論サーバー—これらの課題を解決します。 読んだ NVIDIAのプレスリリース アップデートについて学ぶために。
NVIDIA TensorRT:推論の最適化によるコストとレイテンシーの削減
ディープラーニングフレームワークは、科学をすばやく反復するのに便利であり、科学モデリング、データの読み込み、トレーニングの最適化のための多数の機能を備えています。 ただし、これらのツールのほとんどは推論には最適ではなく、行列の乗算と活性化関数に必要な演算子のセットは最小限です。 したがって、深層学習開発フレームワークで推論を実行する代わりに、特殊な予測専用アプリケーションを使用することで、大幅な向上を実現できます。
NVIDIA TensorRTは、高性能の深層学習推論のためのSDKです。 TensorRTは、NVIDIA GPUで利用可能な低レベルの最適化されたカーネルを使用する最適化されたランタイムと、推論の計算を最適化された順序で再配置する推論のみのモデルグラフの両方を提供します。
次のセクションでは、TensorRTの背後で発生する詳細と、TensorRTがパフォーマンスを向上させる方法について説明します。
- 精度の低下 正確性を維持しながらモデルを量子化することにより、FP16またはINT8でスループットを最大化します。
- 層とテンソルの融合 カーネル内のノードを融合してカーネルの起動遅延を回避することにより、GPUメモリと帯域幅の使用を最適化します。
- カーネルの自動調整 ターゲットGPUプラットフォームとデータカーネルの形状に基づいて、最適なデータレイヤーとアルゴリズムを選択します。
- 動的テンソルメモリ 中間結果の不要なメモリ消費を解放することでメモリフットプリントを最小限に抑え、テンソルのメモリを効率的に再利用します。
- マルチストリーム実行 スケーラブルな設計を使用して、専用のCUDAストリームと並行して複数の入力ストリームを処理します。
- タイムフュージョン 動的に生成されたカーネルを使用して、タイムステップにわたってリカレントニューラルネットワークを最適化します。
T5は、そのアーキテクチャの構成要素として変圧器層を使用します。 NVIDIA TensorRT 8.2の最新リリースでは、リアルタイム推論のためのT5およびGPT-2モデルの新しい最適化が導入されています。 次の表では、NVIDIAT5GPUを搭載したAmazonEC2G4dnインスタンスとNVIDIAA4GGPUを搭載したEC2G5インスタンスで実行されている一部のパブリックT10モデルでのTensorRTの高速化を確認できます。
モデル | インスタンス | ベースラインPytorchレイテンシ(ミリ秒) | TensorRT 8.2レイテンシ(ミリ秒) | スピードアップとHFベースライン | ||||||||
FP32 | FP32 | FP16 | FP32 | FP16 | ||||||||
エンコーダ | デコード | 端から端まで | エンコーダ | デコード | 端から端まで | エンコーダ | デコード | 端から端まで | 端から端まで | 端から端まで | ||
t5-小さい | g4dn.xlarge | 5.98 | 9.74 | 30.71 | 1.28 | 2.25 | 7.54 | 0.93 | 1.59 | 5.91 | 視聴者の38%が | 視聴者の38%が |
g5.xlarge | 4.63 | 7.56 | 24.22 | 0.61 | 1.05 | 3.99 | 0.47 | 0.80 | 3.19 | 視聴者の38%が | 視聴者の38%が | |
t5ベース | g4dn.xlarge | 11.61 | 19.05 | 78.44 | 3.18 | 5.45 | 19.59 | 3.15 | 2.96 | 13.76 | 視聴者の38%が | 視聴者の38%が |
g5.xlarge | 8.59 | 14.23 | 59.98 | 1.55 | 2.47 | 11.32 | 1.54 | 1.65 | 8.46 | 視聴者の38%が | 視聴者の38%が |
アタッチされたパフォーマンスの最適化とレプリケーションの詳細については、を参照してください。 NVIDIATensorRTを使用したリアルタイム推論のためのT5およびGPT-2の最適化.
コンピュテーションは、推論環境と計算スケジューリングで動作するため、モデルの精度を維持し、蒸留や剪定などの重量除去圧縮とは異なり、モデルの科学を変更しないことに注意することが重要です。 NVIDIA TensorRTを使用すると、コンパイルと量子化を組み合わせてさらにゲインを上げることができます。 量子化には、最近のNVIDIAハードウェアにXNUMXつの利点があります。メモリ使用量が削減され、融合行列-乗算-加算を混合精度で実行するDL固有のセルであるNVIDIATensorコアの使用が可能になります。
Hugging FaceT5モデルを使用したAmazonSearchの実験の場合、モデル推論のためにPyTorchをTensorRTに置き換えると、速度が534%向上します。
NVIDIA Triton:低レイテンシ、高スループットの推論サービス
最新のモデル提供ソリューションは、オフラインでトレーニングされたモデルを顧客向けのMLを利用した製品に変えることができます。 このような規模で妥当なコストを維持するには、オーバーヘッドを低く抑え(HTTP処理、前処理と後処理、CPU-GPU通信)、GPUの並列処理機能を十分に活用することが重要です。
NVIDIA Tritonは、モデルランタイム(NVIDIA TensorRT、ONNX、PyTorch、XGBoostなど)およびGPU、CPU、インフラストラクチャバックエンドの幅広いサポートを提案する推論サービスソフトウェアです。 AWSInferentia。
MLの実践者は、さまざまな理由でTritonを愛しています。 その動的バッチ機能により、ユーザー定義の遅延中に、ユーザー定義の最大バッチサイズ内で推論要求を蓄積できるため、GPU推論がバッチ処理され、CPU-GPU通信のオーバーヘッドが償却されます。 動的バッチ処理はサーバー側で非常に短い時間枠内で行われるため、要求元のクライアントは同期したほぼリアルタイムの呼び出しエクスペリエンスを引き続き利用できることに注意してください。 Tritonユーザーは、モデルの同時実行能力も利用できます。 GPUは、計算集約型のワークロードを並行して実行するのに優れた強力なマルチタスカーです。 Tritonは、CUDAストリームを使用して複数のモデルインスタンスを同時に実行することにより、GPUの使用率とスループットを最大化します。 これらのモデルインスタンスは、さまざまなユースケースのさまざまなフレームワークのさまざまなモデルにすることも、同じモデルの直接コピーにすることもできます。 これは、アイドル状態のGPUメモリが十分にある場合の直接的なスループットの向上につながります。 また、Tritonは特定のDL開発フレームワークに関連付けられていないため、科学者は選択したツールで自分自身を完全に表現できます。
AWSでのTritonにより、AmazonSearchはより良いサービスを期待しています Amazon.com 顧客と低コストで遅延要件を満たします。 TensorRTランタイムとTritonサーバーの緊密な統合により、開発エクスペリエンスが容易になります。 AWSクラウドインフラストラクチャを使用すると、スループット要件に基づいて数分でスケールアップまたはスケールダウンできると同時に、高い水準または信頼性とセキュリティを維持できます。
AWSが参入障壁を下げる方法
AmazonSearchはAmazonEC2インフラストラクチャでこの実験を実施しましたが、最先端のディープラーニングソリューションの開発、トレーニング、ホスティングを容易にする他のAWSサービスが存在します。
たとえば、AWSとNVIDIAは協力して、TritonInferenceServerのマネージド実装をリリースしました。 アマゾンセージメーカー ; 詳細については、を参照してください。 AmazonSageMakerのNVIDIATriton InferenceServerを使用して高速でスケーラブルなAIをデプロイする。 AWSはまた、Hugging Faceと協力して、AmazonSageMakerとAmazonSearchT5モデルの派生元であるオープンソースフレームワークであるHuggingFaceTransformersとの間の管理された最適化された統合を開発しました。 でもっと読む https://aws.amazon.com/machine-learning/hugging-face/.
レイテンシーに敏感なCPUおよびGPUディープラーニングサービスアプリケーションを使用しているお客様には、AWSでNVIDIATensorRTおよびTritonを検討することをお勧めします。 あなたが作ったものを教えてください!
ディープラーニングとAmazonSearchのディープラーニングベースのソリューションの構築に情熱を注いでいますか? 私たちをチェックしてください キャリアページ。
著者について
RJ は、トレーニングと推論のための大規模な深層学習システムを構築するための取り組みを主導するSearchM5チームのエンジニアです。 仕事以外では、彼はさまざまな料理を探求し、ラケットスポーツをしています。
ヘマント・プガリヤ SearchM5の応用科学者です。 彼は、最新の自然言語処理とディープラーニングの研究を適用して、世界中のAmazonショッピングでの顧客体験を向上させることに取り組んでいます。 彼の研究対象には、自然言語処理と大規模な機械学習システムが含まれます。 仕事以外では、ハイキング、料理、読書を楽しんでいます。
アンディサン は、検索スペル修正のソフトウェアエンジニアおよびテクニカルリードです。 彼の研究対象には、深層学習の推論待ち時間の最適化、および迅速な実験プラットフォームの構築が含まれます。 仕事以外では、彼は映画製作とアクロバットを楽しんでいます。
ルカイ AmazonSearchのソフトウェアエンジニアです。 彼は、検索スペル修正のパフォーマンスを改善して、顧客のショッピング体験を支援することに取り組んでいます。 彼は、ディープラーニングモデルのための高性能オンライン推論と分散トレーニングの最適化に焦点を当てています。 仕事以外では、スキー、ハイキング、サイクリングを楽しんでいます。
アンソニーコ 現在、カリフォルニア州パロアルトのSearchM5でソフトウェアエンジニアとして働いています。 彼は、モデルの展開と推論の最適化のためのツールと製品の構築に取り組んでいます。 仕事以外では、料理やラケットスポーツを楽しんでいます。
オリヴィエ・クルシャン フランスを拠点とするAWSの機械学習スペシャリストソリューションアーキテクトです。 Olivierは、小規模なスタートアップから大企業まで、AWSのお客様が本番環境グレードの機械学習アプリケーションを開発およびデプロイするのを支援します。 余暇には、研究論文を読んだり、友人や家族と一緒に荒野を探索したりしています。
アニッシュモハン NVIDIAの機械学習アーキテクトであり、シアトル地域の顧客とのMLおよびDLエンゲージメントのテクニカルリードです。
ジャホン・リュウ NVIDIAのクラウドサービスプロバイダーチームのソリューションアーキテクトです。 彼は、クライアントがNVIDIAアクセラレーションコンピューティングを活用してトレーニングと推論の課題に対処する機械学習とAIソリューションを採用するのを支援しています。 余暇には、折り紙、DIYプロジェクト、バスケットボールを楽しんでいます。
エリウス・トリアナ NVIDIAのDeveloperRelationsManagerです。 彼は、AmazonとAWSの製品リーダー、開発者、科学者をNVIDIAの技術者と製品リーダーと結び付けて、Amazon ML / DLワークロード、EC2製品、AWSAIサービスを加速させています。 さらに、Eliuthは情熱的なマウンテンバイカー、スキーヤー、ポーカープレーヤーです。
- "
- 100
- 11
- 9
- 私たちについて
- 加速する
- 加速された
- 添加
- 住所
- 利点
- AI
- AIサービス
- アルゴリズム
- すべて
- Amazon
- 間で
- 申し込み
- 適用
- 建築
- 利用できます
- AWS
- バスケットボール
- 利点
- BEST
- 建物
- 容量
- 例
- 課題
- クラウド
- クラウドインフラ
- コミュニケーション
- 計算
- コンピューティング
- 消費
- 貢献する
- 便利
- 基本
- コスト
- 顧客満足体験
- Customers
- データ
- 専用の
- 遅らせる
- 提供します
- 展開します
- 展開
- 設計
- 開発する
- Developer
- 開発者
- 開発
- 異なります
- 直接
- 配布
- Diy
- ダウン
- ダイナミック
- 努力
- 奨励する
- エンジニア
- エンジニアリング
- Enterprise
- 環境
- 例
- Excel
- 実行
- 期待する
- 体験
- 実験
- 顔
- 顔
- 家族
- スピーディー
- 特徴
- フォロー中
- フード
- フットプリント
- 発見
- フレームワーク
- フランス
- GPU
- ハンドリング
- Hardware
- 助けます
- ことができます
- ハイ
- 認定条件
- How To
- HTTPS
- 実装
- 重要
- 改善します
- include
- 含めて
- 情報
- インフラ
- 統合
- 利益
- IT
- 既知の
- 言語
- 大
- 最新の
- 起動する
- つながる
- 主要な
- LEARN
- 学習
- 活用します
- 愛
- 機械
- 機械学習
- 維持する
- マネージド
- マネージャー
- マニュアル
- マトリックス
- メモリ
- 混合
- ML
- モデル
- 他には?
- 最も
- MS
- ナチュラル
- ネットワーク
- ノード
- 数
- 番号
- 多数の
- オンライン
- 開いた
- オープンソース
- 最適化
- 注文
- その他
- パフォーマンス
- プラットフォーム
- プラットフォーム
- プレイヤー
- 人気
- 強力な
- 現在
- プロセス
- プロダクト
- 生産
- 製品
- プロジェクト(実績作品)
- 有望
- 公共
- リーディング
- への
- 実現
- 合理的な
- 理由は
- 縮小
- リリース
- 要件
- 研究
- REST
- 結果
- ラン
- ランニング
- ド電源のデ
- 規模
- 科学
- 科学者
- 科学者たち
- SDDK
- を検索
- セキュリティ
- サービス
- サービス
- サービング
- セッションに
- 設定
- シェイプ
- ショッピング
- ショート
- 重要
- サイズ
- 小さい
- So
- ソフトウェア
- ソフトウェアエンジニア
- 溶液
- ソリューション
- 専門の
- スピード
- スポーツ
- スタートアップ
- 最先端の
- サポート
- システム
- Talk
- ターゲット
- チーム
- 技術的
- 技術者
- タイド
- 時間
- トークン
- ツール
- 豊富なツール群
- トレーニング
- 最適化の適用
- 更新版
- us
- つかいます
- users
- ビジョン
- この試験は
- 以内
- 言葉
- 仕事
- ワーキング
- 作品