SageMaker、GPU分割に対応
- •Amazon SageMaker Inferenceが、推論コンポーネントを使うエンドポイントでGPUを最大7分割する機能に対応
- •AWSのテストでは、分割によるプロビジョニング時間の増加は約17秒。H100とA100の性能比較結果は掲載されず
- •モデルごとにGPUメモリと計算資源を分離し、同一GPU上で複数モデルを動作可能に
Amazon SageMaker Inferenceは、推論コンポーネントを使うモデルエンドポイントでGPU分割に対応しました。NVIDIAのマルチインスタンスGPU技術で物理GPUを、計算資源とメモリを専有する領域に分けます。新しいGPUの一部だけを割り当てることもできます。単一モデルのエンドポイント、サーバーレスエンドポイント、異種インスタンスのプールは対象外です。
アクセラレーターより多くのモデルを扱う場合、これまではエンドポイント数を減らしてリクエストをまとめる、マルチモデルエンドポイントを使う、Kubernetesを自主管理する方法がありました。リクエストの一括処理はモデルを交換可能な場合に有効です。マルチモデル方式はGPUを共有しますが、分離機能がなく、未ロードのモデルへの初回リクエスト時に読み込み遅延が生じます。KubernetesではGPU分割を使える一方、ドライバーや分割設定、デバイスプラグイン、スケジューリングの管理が必要です。SageMakerでは利用者が分割プロファイルを選び、サービスが設定、配置、スケーリングを担います。Salesforceは要件の策定と初期実装の検証に協力し、本番環境を代表する負荷でテストする準備を進めていると述べました。
GPUは機種に応じて最大7つの領域に分割できます。専用のメモリ帯域により、あるモデルの通信量の急増が別モデルのp99レイテンシに影響するのを抑える設計です。ハードウェアによる分離は、クラッシュやメモリエラーの影響も隔離します。各モデルを専用領域にロードしたままにできるため、読み込み遅延やメモリからの追い出しを避けられます。分割領域ごとの性能測定は、負荷テストやモデル、チーム、テナント単位のGPUコスト把握にも使えます。分割構成はエンドポイント作成時に選び、変更できるのは各領域がアイドル状態のときだけです。複数GPUを必要とするモデルには、引き続きGPU全体を割り当てる必要があります。
任意のAPIフィールドが2つ追加されました。CreateEndpointConfigの本番用バリアントにはAcceleratorPartitionLayoutsを、推論コンポーネントにはAcceleratorPartitionTypeを指定します。コンポーネントの各コピーは選択した種類の領域を1つ使い、CopyCountを増やすと空き領域にコピーが配置されます。AcceleratorPartitionTypeを選んだ場合、NumberOfAcceleratorDevicesRequiredの値は引き続き1ですが、これはGPU全体ではなく1つの領域を指します。CPUコアとホストメモリは別途指定します。InvokeEndpoint経由のリクエスト方法は変わりません。エンドポイントのプロビジョニングではGPU分割が行われ、AWSのテストでは約17秒が追加されました。
利用できるプロファイルはGPUによって異なります。40 GBのA100を搭載するP4dと、80 GBのH100を搭載するP5は最大7分割に対応します。32 GBのRTX PRO 4500 Blackwell GPUを搭載するG7は2分割、96 GBのRTX PRO 6000 Blackwell Server Edition GPUを搭載するG7eは4分割です。プロファイル名には計算ユニット数とGPUメモリ容量が示され、1台のGPUで使うプロファイルの合計は、利用可能な両資源の上限を超えられません。P4dでmig-1g.10gbを使うにはR525以降のNVIDIAドライバーが必要です。標準イメージのドライバーは470.256.02で、al2023-ami-sagemaker-inference-gpu-4-1は580ドライバーを提供します。
プロファイル選択では、処理内容に応じて計算資源とGPUメモリの必要量を見積もります。計算資源はプロンプトを処理するプレフィルを支え、GPUメモリはトークン生成に使われ、KVキャッシュの容量、コンテキスト長、同時処理できるシーケンス数を制約します。FP16の8Bモデルは重みに約16 GBを使い、KVキャッシュと実行時の追加領域として1~2 GBが必要です。記事によると、このモデルは40 GBの分割領域で8,000トークンのコンテキストを処理できます。
想定用途として、小型・中型モデルのポートフォリオ、顧客ごとのモデル提供、多段階パイプライン、リクエスト経路上の小型分類器、カナリアモデルが挙げられています。GPU分割でメモリと処理能力は分離されますが、同一インスタンス上のモデルはホストCPU、システムメモリ、ストレージ、ネットワーク、エンドポイントのルーティングを共有します。AWSはgenai-benchで同一クライアントから負荷を発生させ、H100のmig-3g.40gb領域と分割していないA100-40GB全体を比較しました。記事本文は比較結果を示す前に終わっています。