新しいAmazon SageMakerコンテナでLLMの推論パフォーマンスを強化する
Amazon SageMakerコンテナの新機能により、LLMの推論パフォーマンスが大幅に向上する
今日は、Amazon SageMakerが、Large Model Inference (LMI) Deep Learning Containers (DLCs)の新しいバージョン(0.25.0)をリリースし、NVIDIAのTensorRT-LLMライブラリにも対応しました。これらのアップグレードにより、SageMaker上で最先端のツールを活用して大規模言語モデル(LLMs)を最適化し、価格パフォーマンスの利点を得ることができます – Amazon SageMaker LMI TensorRT-LLM DLCは、前のバージョンと比較して、Llama2-70B、Falcon-40B、CodeLlama-34Bモデルにおいて、平均でレイテンシを33%削減し、スループットを平均で60%向上させます。
LLMsは、さまざまなアプリケーションで非常に人気があります。しかし、これらのモデルはしばしば1つのアクセラレータやGPUデバイスに収まりきらず、低レイテンシの推論とスケーリングを実現することが難しくなります。SageMakerは、LMI DLCsを提供して、利用可能なリソースの利用効率を最大化し、パフォーマンスを向上させるお手伝いをします。最新のLMI DLCsは、スループットを向上させるための推論リクエストの連続バッチングサポート、レイテンシを改善する効率的な推論集合演算、長いシーケンス長のワークロードのパフォーマンスを向上させるPaged Attention V2、およびNVIDIAの最新のTensorRT-LLMライブラリを提供します。 LMI DLCsでは、モデルIDとオプションのモデルパラメーターのみを要求するTensorRT-LLMとの簡単なコンパイルを実現した、ローコードインターフェースが提供されています。TensorRT-LLMに最適化されたモデルとモデルリポジトリの作成に必要な重い作業は、LMI DLCによって管理されます。さらに、LMI DLCsで利用可能な最新の量子化技術(GPTQ、AWQ、SmoothQuant)を使用することもできます。その結果、SageMakerのLMI DLCsを使用することで、生成AIアプリケーションの価値を迅速に向上させ、選択したハードウェアに最適なLLMsを最適化することで、最高クラスの価格パフォーマンスを実現できます。
この記事では、最新のLMI DLCsのリリースでの新機能について詳しく説明し、パフォーマンスのベンチマークを示し、パフォーマンスを最大化しコストを削減するためにLMI DLCsを使用してLLMsを展開するために必要な手順について説明します。
SageMaker LMI DLCsの新機能
このセクションでは、SageMaker LMI DLCsの3つの新機能について説明します。
- 「学習する機械:AI技術の可能性を探る」
- 「大型言語モデルによる多様な学問領域における包括的評価:GPT-4で科学的発見のフロンティアを明らかにする」
- ダイナミックなチャットアプリケーションの構築:FastAPIでChatGPTの設定とReactJSでの会話の表示
SageMaker LMIはTensorRT-LLMをサポート
SageMakerは、最新のLMI DLCリリース(0.25.0)の一環として、NVIDIAのTensorRT-LLMを提供しています。これにより、SmoothQuant、FP8などの最新の最適化手法やNVIDIA GPUを使用したLLMsの連続バッチングなどが可能になります。 TensorRT-LLMは、テンソル並列処理などの技術を併用することで、超低レイテンシの体験を実現できます。TensorRT-LLM SDKは、シングルGPUからマルチGPU構成までの展開をサポートしており、テンソル並列処理などの技術によりさらなるパフォーマンス向上が可能です。TensorRT-LLMライブラリを使用するには、利用可能なLMI DLCsからTensorRT-LLM DLCを選択し、engine=MPI
などの設定を行います。以下の図は、TensorRT-LLMのテックスタックを示しています。
効率的な推論集合演算
LLMの典型的な展開では、モデルパラメーターは複数のアクセラレータに分散されます。これにより、単一のアクセラレータに収まりきらない大規模なモデルの要件を満たすことができます。これにより、各アクセラレータが並列で部分的な計算を実行することで推論速度が向上します。その後、集合演算を導入して、これらの部分的な結果をまとめ、アクセラレータ間で再分配します。
P4Dインスタンスタイプでは、SageMakerはGPU間の通信を高速化する新しい集合演算を実装しています。その結果、最新のLMI DLCsを使用すると、前のバージョンと比較してより低いレイテンシと高いスループットを実現できます。さらに、この機能はLMI DLCsとともに使うために追加の設定が必要なく、Amazon SageMakerで独占的に利用できます。
量子化のサポート
SageMaker LMI DLCは、最新の量子化技術をサポートしています。GPTQを使用した事前量子化モデル、Activation-aware Weight Quantization(AWQ)、およびSmoothQuantなどのジャストインタイム量子化を含みます。
GPTQを使用すると、LMIはHugging Faceから人気のあるINT3およびINT4モデルを実行できます。これにより、シングルGPU/マルチGPUに収まる可能な限り最小のモデルウェイトを提供します。また、LMI DLCはAWQ推論もサポートしており、より高速な推論速度を実現します。さらに、LMI DLCはSmoothQuantもサポートしており、INT8量子化によりモデルのメモリ使用量と計算コストを最小限に抑えることができます。現在、SmoothQuantモデルのジャストインタイム変換には追加の手順は必要ありません。ただし、GPTQおよびAWQはLMI DLCと使用するためにデータセットで量子化する必要があります。また、LMI DLCで使用するために人気のある事前量子化されたGPTQおよびAWQモデルを選択することもできます。SmoothQuantを使用するには、option.quantize=smoothquan
とengine=DeepSpeed
をserving.properties
で設定します。ml.g5.12xlargeでGPT-NeoxをホストするためのSmoothQuantの使用例ノートブックは、GitHubにあります。
SageMaker LMI DLCの使用方法
コードに変更を加えることなく、SageMakerの新しいLMI DLC 0.25.0を使用してLLMを展開することができます。SageMaker LMI DLCは、DJLサービングを使用してモデルを推論に使用します。始めるには、モデルの並列化や推論の最適化ライブラリなどを指定する設定ファイルを作成するだけです。SageMaker LMI DLCの使用方法やチュートリアルについては、モデルの並列化と大規模モデルの推論および使用可能なSageMaker LMI DLCのリストを参照してください。
DeepSpeedコンテナには、LMI Distributed Inference Library(LMI-Dist)というライブラリが含まれています。LMI-Distは、さまざまなオープンソースライブラリで使用される最適化された推論ライブラリであり、vLLM、Text-Generation-Inference(バージョン0.9.4まで)、FasterTransformer、およびDeepSpeedフレームワークに対応しています。このライブラリには、FlashAttention、PagedAttention、FusedKernel、効率的なGPU通信カーネルなど、一般的なオープンソース技術が組み込まれており、モデルの実行を高速化しメモリ消費を削減します。
TensorRT LLMは、2023年10月にNVIDIAがリリースしたオープンソースライブラリです。TensorRT-LLMライブラリを最適化して推論速度を向上させ、ジャストインタイムモデル変換をサポートするツールキットを作成しました。このツールキットを使用すると、Hugging FaceモデルIDを指定してモデルをエンドツーエンドで展開できます。また、ストリーミングでの連続バッチ処理にも対応しています。Llama-2 7Bおよび13Bモデルのコンパイルには約1〜2分、70Bモデルのコンパイルには約7分かかります。SageMakerエンドポイントのセットアップやインスタンスのスケーリング時のこのコンパイルのオーバーヘッドを回避したい場合は、モデルを事前に(AOT)コンパイルすることを推奨します。また、LMI DLCで使用できるTriton Serverに対応したTensorRT LLMモデルも受け入れています。
パフォーマンスベンチマーク結果
最新のSageMaker LMI DLCsバージョン(0.25.0)と以前のバージョン(0.23.0)のパフォーマンスを比較しました。Llama-2 70B、Falcon 40B、CodeLlama 34Bのモデルについて、TensorRT-LLMおよび効率的な推論集合操作(SageMakerで利用可能)によるパフォーマンスの向上を実証する実験を行いました。
SageMaker LMIコンテナには、モデルをロードしてホストするためのデフォルトのハンドラスクリプトが付属しており、低コードオプションを提供しています。モデルのロード手順にカスタマイズが必要な場合は、独自のスクリプトを使用するオプションもあります。必要なパラメータをserving.properties
ファイルに渡す必要があります。このファイルには、Deep Java Library(DJL)モデルサーバーのダウンロードとホストに必要な設定が含まれています。以下のコードは、デプロイメントとベンチマークのために使用したserving.properties
です。
engine=MPIoption.use_custom_all_reduce=true option.model_id={{s3url}}option.tensor_parallel_degree=8option.output_formatter=jsonoption.max_rolling_batch_size=64option.model_loading_timeout=3600
engine
パラメータは、DJLモデルサーバーの実行エンジンを定義するために使用されます。モデルのHugging FaceモデルIDまたはAmazon Simple Storage Service(Amazon S3)の場所をmodel_id
パラメータを使用して指定することができます。タスクパラメータは、自然言語処理(NLP)タスクを定義するために使用されます。 tensor_parallel_degree
パラメータは、テンソル並列モジュールが分散されるデバイスの数を設定します。use_custom_all_reduce
パラメータは、NVLinkが有効になっているGPUインスタンスの場合にtrueに設定され、モデルの推論を高速化します。これは、NVLink接続されたP4D、P4de、P5などのGPUに対して設定できます。 output_formatter
パラメータは出力形式を設定します。 max_rolling_batch_size
パラメータは、最大同時リクエスト数の制限を設定します。model_loading_timeout
は、モデルのダウンロードとロードに対するタイムアウト値を設定します。構成オプションの詳細については、設定を参照してください。
Llama-2 70B
以下は、Llama-2 70Bのパフォーマンス比較結果です。16の同時処理でレイテンシが28%低下し、スループットが44%増加しました。新しいLMI TensorRT LLM DLCを使用しています。
Falcon 40B
以下はFalcon 40Bの比較結果です。16の同時処理でレイテンシが36%低下し、スループットが59%増加しました。新しいLMI TensorRT LLM DLCを使用しています。
CodeLlama 34B
以下はCodeLlama 34Bの比較結果です。16の同時処理でレイテンシが36%低下し、スループットが77%増加しました。新しいLMI TensorRT LLM DLCを使用しています。
LLMをホストするための推奨設定およびコンテナ
最新リリースでは、SageMakerは2つのコンテナを提供しています:0.25.0-deepspeedおよび0.25.0-tensorrtllmです。DeepSpeedコンテナには、LMI Distributed Inference LibraryであるDeepSpeedが含まれています。TensorRT-LLMコンテナには、LLM推論を高速化するためのNVIDIAのTensorRT-LLMライブラリが含まれています。
以下の図に示すデプロイメント設定を推奨します。
始めるには、次のサンプルノートブックを参照してください:
結論
この記事では、SageMaker LMI DLCを使用して、ビジネスユースケースに最適なLLMを最適化し、価格パフォーマンスの利点を得る方法を紹介しました。LMI DLCの機能については、モデル並列処理と大規模なモデルの推論を参照してください。Amazon SageMakerから提供されるこれらの新機能をどのように活用するかを楽しみにしています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- マイクロソフトが「オルカ2」をリリース:特製のトレーニング戦略で小さな言語モデルに高度な推論を導入
- アプリケーションの近代化における生成AIの活用
- 人間とAIの協力
- このAI論文では、「Lightning Cat」というスマート契約の脆弱性検出ツールを紹介していますこれは、深層学習をベースにしたツールです
- バイトダンス(ByteDance)は、画像やテキストの指示を組み合わせた、拡散モデルに基づく画期的なビデオ生成手法「PixelDance」を紹介しました
- Amazon Lexの新しい生成AI機能で、セルフサービスアシスタントを向上させましょう
- 「異常検知への推測を排除する:ヒストグラムが閾値を設定します」