翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI では、推論最適化手法を適用することで、生成 AI モデルのパフォーマンスを向上させることができます。モデルを最適化することで、ユースケースのコストパフォーマンスを向上できます。モデルを最適化する場合、量子化、投機的デコーディング、コンパイルなど、サポートされている最適化手法のいずれかを選択して適用します。モデルを最適化したら、評価を実行して、レイテンシー、スループット、料金のパフォーマンスメトリクスを確認できます。
多くのモデルでは、SageMaker AI は事前に最適化されたバージョンもいくつか提供しており、それぞれがレイテンシーとスループットに対するさまざまなアプリケーションのニーズに対応しています。このようなモデルを使用すれば、最初にモデルを自分で最適化することなく、最適化されたバージョンのいずれかをデプロイできます。
最適化手法
Amazon SageMaker AI は、次の最適化手法をサポートしています。
コンパイル
コンパイルにより、精度を損なわずに、選択したハードウェアタイプで利用可能な最高のパフォーマンスを実現するためにモデルが最適化されます。モデルコンパイルを適用して、GPU インスタンス、 AWS Trainium インスタンス、Inferentia インスタンスなどの高速ハードウェアの LLMs AWS を最適化できます。
コンパイルを使用してモデルを最適化する場合、事前にコンパイルできるというメリットがあります。これにより、モデルのデプロイ時間と自動スケーリングレイテンシーを短縮できます。モデルが新しいインスタンスにデプロイされるときに、モデルの重みに JIT コンパイルが不要になるためです。
GPU インスタンスのモデルをコンパイルすることを選択した場合、SageMaker AI は TensorRT-LLM ライブラリを使用してコンパイルを実行します。Trainium または AWS Inferentia インスタンスのモデルを AWS コンパイルすることを選択した場合、SageMaker AI は AWS Neuron SDK を使用してコンパイルを実行します。
量子化
量子化は、重みとアクティベーションに精度の低いデータ型を使用することで、モデルのハードウェア要件を下げる手法です。量子化でモデルを最適化すると、より安価でより利用しやすい GPU でホストできます。ただし、量子化されたモデルは、最適化したソースモデルよりも精度が低い場合があります。
SageMaker AI が量子化のためにサポートするデータ形式は、モデルによって異なります。サポートされている形式は次のとおりです。
-
INT4-AWQ – 4 ビットのデータ形式。アクティベーション対応重み量子化 (AWQ) は、効率的、正確、低ビット、重みのみの LLMs 用の量子化手法です。
-
FP8 – 8 ビット浮動小数点 (FP8) は、浮動小数点数の低精度形式です。標準の FP16 浮動小数点形式よりもビット数が少ない値を表すことで、メモリ効率とモデル精度のバランスをとります。
-
INT8-SmoothQuant – AN 8 ビットデータ形式。SmoothQuant は、動的範囲のバランスをとることで、活性化と重みを一緒にスケーリングする混合精度量子化方法です。
投機デコーディング
投機的デコーディングとは、大規模な LLM のデータコーディング処理の速度を向上させる技術です。生成されたテキストの品質を損なうことなく、レイテンシーに対してモデルを最適化します。
この手法では、ドラフトモデルと呼ばれる、より高速で処理できる小さなモデルを使用します。ドラフトモデルは候補トークンを生成し、サイズが大きく処理に時間がかかるターゲットモデルによって検証されます。反復ごとに、ドラフトモデルは複数の候補トークンを生成します。ターゲットモデルはトークンを検証し、特定のトークンが受け入れられないことが判明した場合、トークンを拒否して再生成します。このように、ターゲットモデルは、トークンの検証と少量のトークンの生成を行います。
ドラフトモデルはターゲットモデルよりも処理がはるかに高速です。すべてのトークンを迅速に生成し、検証のためにそれらのバッチをターゲットモデルに送信します。ターゲットモデルはこれらすべてを並列で評価するため、最終的なレスポンスが高速化されます。
SageMaker AI には、使用できる構築済みのドラフトモデルが用意されているため、独自のモデルを構築する必要はありません。独自のカスタムドラフトモデルを使用する場合、SageMaker AI はこのオプションもサポートしています。
高速モデルロード
高速モデルロード手法は、SageMaker AI が ML インスタンスにロードをより迅速に行えるように LLM を準備します。
モデルを準備するために、SageMaker AI は事前にモデルを分割して、分散推論のためにそれぞれが別々の GPU に存在することができる部分に分割します。また、SageMaker AI は、SageMaker AI がインスタンスに同時にロードできる同じサイズのチャンクにモデルの重みを保存します。
SageMaker AI が最適化されたモデルをインスタンスにロードすると、モデルの重みが Amazon S3 からインスタンスの GPUs に直接ストリーミングされます。重みをストリーミングすることで、SageMaker AI は通常必要ないくつかの時間のかかるステップを省略します。これらのステップには、モデルアーティファクトを Amazon S3 からディスクにダウンロードする、モデルアーティファクトをホストメモリにロードする、最後にシャードを GPUs にロードする前にモデルをホストにシャードするなどが含まれます。
ロードを高速化するためにモデルを最適化したら、SageMaker AI エンドポイントにすばやくデプロイできます。また、Auto Scaling を使用するようにエンドポイントを設定すると、トラフィックの増加に対応するためにより迅速にスケールアウトされます。