re:Invent 2024: NetflixがFMBenchでGenAIワークロードを評価
はじめに
海外の様々な講演を日本語記事に書き起こすことで、隠れた良質な情報をもっと身近なものに。そんなコンセプトで進める本企画で今回取り上げるプレゼンテーションはこちら!
📖 AWS re:Invent 2024 - How Netflix benchmarks FMs and LLMs across hardware chipsets (NFX307)
この動画では、NetflixのCloud Infrastructure EngineeringチームのPerformance EngineerであるAmer Atherが、AWSインスタンスの評価方法について解説しています。特に、Foundation Model Benchmarking Tool(FMBench)を用いたGenAIワークロードのベンチマーキング手法に焦点を当て、NVIDIA GPUやAWSシリコンプレミアムインスタンスなどのAccelerated Computeの性能評価方法を詳しく説明しています。3億人近い会員向けのレコメンデーションシステムやGenAIプロジェクトを支えるインフラの選定において、FMBenchがどのようにレイテンシー、スループット、コストの最適化に貢献しているかを、具体的な性能比較データとともに紹介しています。
※ 画像をクリックすると、動画中の該当シーンに遷移します。
re:Invent 2024関連の書き起こし記事については、こちらのSpreadsheet に情報をまとめています。合わせてご確認ください!
本編
NetflixのAWSインスタンス評価とGenAIワークロードの最適化
みなさん、こんばんは。簡単に自己紹介をさせていただきます。私はNetflixのCloud Infrastructure Engineeringチームに所属するPerformance EngineerのAmer Atherです。そして、共同発表者のAmit AroraはAWSのPrincipal Solutions Architect for AI/MLを務めています。本日は、NetflixがAWSインスタンスをどのように評価しているかについてお話しします。特に、NVIDIA GPUやAWSシリコンプレミアムインスタンスなどのAccelerated Computeに焦点を当てます。NetflixのCI/CDプラットフォームとベンチマーキングフレームワークが、各サービスのワークロードに適したAWSインスタンスの検証にどのように活用されているかをご紹介します。また、LLMモデル、主要なInferenceエンジンフレームワーク、そして本番環境でのスケーラビリティを実現するためのモデル実行の最適化手法と展開技術について、概要をお話しします。
さらに、AWSのFoundation Modelベンチマーキングツールである「FMBench」について詳しく見ていきます。その機能と特徴、そしてNetflixがこのツールをどのように活用して、増え続けるGenAIワークロードのスケーラビリティ、レイテンシー、スループットの要件を満たすために、AWSインスタンス間でLLM推論性能を検証しているかについてお話しします。 みなさんはNetflixの会員の方々だと思います。素晴らしいですね。ということは、Netflixのストリーミングサービスがレコメンデーションとパーソナライゼーションで有名なことをご存知でしょう。これらのサービスは、現在3億人近くにまで成長したグローバルな会員の皆様に関連コンテンツをレコメンドするために、機械学習アルゴリズムを広範に活用しています。会員のホームページに表示される要素はすべて、機械学習モデルに支えられた、エビデンスに基づくA/Bテストを経て提供されています。
NetflixにおけるAccelerated Computingの需要は、GenAIがもたらす変革の可能性により、継続的に拡大しています。これは、カスタムな事前学習モデルやファインチューニングされたモデルの構築、そしてスケーラブルなAI対応サービスの展開を意味します。私たちのCo-pilotプラットフォームは、開発者がGenAI搭載サービスを実験し、革新を生み出すことを可能にする重要な役割を果たしています。Netflixで展開中または展開予定の注目すべきGenAIプロジェクトには、テキストから画像を生成する技術、会話ベースの検索、リアルタイムの適応型レコメンデーション、そして関連するユースケースがあります。これらの取り組みは、会員やカスタマーとのインタラクションをより直感的で意味のあるものにすることを目指しています。また、将来のGenAIワークロードの計算需要に対応できる、堅牢なAIファーストのインフラの必要性も浮き彫りになっています。
Netflixでは、業界標準のベンチマークに加えて、NetflixのCI/CDプラットフォームと自動化されたテストハーネスに統合された本番環境の負荷スキャンとスクイーズテストを使用して、AWSインスタンスを評価しています。GenAIワークロードの適正化の一環として、まずサービスの精度、レイテンシー、スループットの要件を決定します。その後、様々なFoundation Model、AWSインスタンスのサイズとタイプ、NVIDIA Triton、TensorRT、vLLMなどのサービスを評価し、要件を満たし予算内に収まりながら、最高のパフォーマンスとスケーラビリティを提供する組み合わせを特定します。
このワークロードの適正化を自動化するアプローチにより、Netflixのサービス所有者は、デプロイメントコスト、キャパシティ要件、スケーリングターゲットの最適化について、データに基づいた意思決定を行うことができます。これらの取り組みにより、人気のあるライブイベントやオンデマンドイベント中でも、Netflixのサービスが最適なパフォーマンスを発揮し、グローバルな視聴者に豊かでシームレスな体験を提供できることを保証しています。
Foundation Modelのベンチマーキングを行う際には、モデルパラメータ、量子化、サービススタックなど、複数の要素が重要な役割を果たします。重みやActivationなどのモデルパラメータは、ニューラルネットワークが学習した知識を表現しており、Large Language Modelの精度を確保する上で極めて重要です。TokenizerとEmbeddingは、ユーザーのプロンプトの文脈やより深い理解、効率的なテキスト生成を可能にします。推論時には、高速な処理のためにモデルパラメータとActivationをGPUメモリに格納する必要があり、これによってキャッシュ、計算能力、低レイテンシーメモリといったGPUリソースに大きな負荷がかかります。
計算とメモリの要件は、Mixed PrecisionやFP8、INT4などの低精度量子化技術によって最適化することができます。その選択はワークロードの精度要件によって異なります。TensorRTやvLLMなどの推論エンジンは、モデルの実行を最適化し、ハードウェアの利用効率を向上させるために使用されます。推論サーバーは、ユーザーリクエストと推論エンジンの間の中間層として機能し、GPUリソースを管理します。これらは、Tensor Parallelism、Continuous Batching、Flash Attentionなどのテクニックを提供し、一般的なフレームワークにはPyTorch、DJL、TGIなどがあります。
FMBench:AWSのFoundation Modelベンチマーキングツールの詳細と活用事例
Foundation Model Benchmarking Tool(FMBench)は、Netflixが生成AIワークロードのベンチマークと適切なサイジングを行うための重要なツールです。FMBenchは、AWSの生成AIサービス上で任意のFoundation Modelをベンチマークできるオープンソースパッケージです。
FMBenchはPyPIとGitHubからダウンロードできます。画面に表示されているQRコードを読み取ると、FMBenchのリポジトリに直接アクセスできます。これはモデルにもAWSサービスにも依存しないため、Hugging Faceで利用可能な任意のFoundation Model、MetaのLlamaモデル、Mistralモデルなどを使用できます。また、自身で微調整した独自のモデルや、BedrockでサービスされているAnthropic Claudeシリーズのような第三者のモデルもベンチマークすることができます。FMBenchを使えば、これらすべてのモデルを全く同じ方法でベンチマークできます。
これらのモデルは、Amazon Premium InstanceやInferential Instanceを含むAmazon EC2、Amazon SageMaker上にデプロイすることも、Amazon Bedrockから直接利用することもできます。FMBenchは、さまざまな組み合わせをテストするための統一された設定ファイルを提供します。Ahmedが先ほど説明したように、LLMのベンチマークには推論サーバー、推論エンジン、利用可能なインスタンスタイプなど、多くの要素が関係します。FMBenchは、これらすべての組み合わせを表現してテストできる統一された設定ファイルを提供します。
テストが実行されると、FMBenchは価格性能を評価するための複数のメトリクスを提供し、ワークロードに関するビジネス判断を可能にする詳細なレポートを生成します。これについては後のスライドで見ていきます。これらのメトリクスには、推論レイテンシー、First Tokenまでの時間、Last Tokenまでの時間、トランザクションスループット、1分あたりに処理可能なリクエスト数、トークンスループットなどが含まれます。これらすべてが一つの包括的なレポートにまとめられ、活用することができます。
AWS FMBenchツールは機能が豊富で、私たちがテストした他の競合するGenerative AI推論ベンチマーキングツールと比較しても際立っています。特筆すべき重要な機能の一つは、LongBench Promptデータセットのサポートです。これは、長いトークンシーケンスを必要とするタスク向けに特別に設計されており、パブリックモデルとプライベートモデルの間で一貫性を確保します。また、バッチサイズ、レイテンシー目標、プロンプトサイズなどの広範なカスタマイズオプションがあり、様々な同時実行リクエストを設定して評価することができます。先ほど説明した包括的な推論エンジンと推論サーバーをサポートしており、様々な実行とデプロイメントシナリオをテストする柔軟性を確保しています。さらに、詳細なLLM GPUサーバーメトリクスを提供し、ビルトインの分析レポートと組み合わせることで、データに基づいた意思決定のための深い洞察を得ることができます。
これは、生成される様々なレポートとチャートの一例です。ここでの目的は、2つのインスタンスタイプの価格性能を特定することです。レイテンシー予算が2秒の場合に、10,000リクエストのコスト見積もりを取得したいと考えています。この例では、3,000から3,840の範囲のプロンプトサイズのレイテンシーを比較しています。ワークロードの要件に応じて分析できる様々なサイズのプロンプトがありますが、大きなプロンプトサイズは様々な同時実行レベルでより高いレイテンシーとなる傾向があります。バブルが大きいほど1秒あたりのトランザクション数が多く、つまりスループットが高いことを示しています。
NVIDIA A100を搭載したp4dは、低レイテンシーと高スループットを提供し、かつコストが大幅に低いのに対し、L40を搭載したg6e.48xlargeはスループットが著しく低く価格が高いことを考慮すると、p4dの方が優れた価格性能を提供していることは明らかです。この性能差は、HBMとGPU間インターコネクトの有無によるもので、これが大きな違いを生み出しています。
このGPU間インターコネクトは、Tensor Parallelismを有効にしたLLM推論を実行する際に大きな違いをもたらします。 左側に表示されているチャートは、FMBenchから自動生成されたレポートです。テストの結果を解釈するために使用できる一連の表、数値、プロットが示されています。 また、LLMを判定者として使用してモデルの精度を評価する精度の数値も含まれています。これらのテストが生成するすべてのメトリクスからデータ分析プロジェクトを作成する必要がないように、 包括的なレポートが自動生成されます。
これらのチャートの1つは、異なるインスタンスタイプにおけるLlama2-13bのパフォーマンスを示し、コストとレイテンシーの制約の両方を満たすインスタンスタイプとサービングスタックのオプションを示しています。これらのチャートはすべて、ビジネス上の意思決定を支援するために生成されています。 ここに示すFMBenchで生成されたこのチャートは、まさにビジネス上の課題の核心に迫るものです。特定のワークロードに対して、どのインスタンスタイプを何台デプロイする必要があるかを理解したいのです。例えば、100リクエストまで処理したい場合、g5.xlargeインスタンスを2台デプロイすることで対応できるかもしれません。しかし1,000リクエストになると、g5.2xlargeインスタンスを20台デプロイする必要があるかもしれませんが、p4dインスタンスなら1台で済むかもしれません。毎秒10,000リクエストの場合、g5.2xlargeインスタンスが約200台必要になるかもしれませんが、p5インスタンスならおそらく3台で済むでしょう。
これらのビジュアライゼーションはインタラクティブなチャートなので、マウスオーバーすることで、特定のインスタンスタイプが何台必要で、どのくらいのコストがかかるかを確認できます。これにより、レイテンシーとコストの両面から適切なサービングスタックを見つけるという当初のビジネス上の課題に、非常に簡単に答えることができます。 この社内ベンチマークは、アプリケーションのサイジングとインスタンスタイプのマッチングを理解するのに役立ちます。例えば、p4d.24xlargeは、リアルタイムのLLM推論でレイテンシーが重要な場合に適したインスタンスです。しかし、トランザクションあたりのコストが重要な場合は、Trainiumインスタンスがより良い選択肢となります。G6eインスタンスは、中程度の価格性能が必要な場合に適しています。G6eは1 GPUと8 GPU構成で提供されているのに対し、A100は8 GPU構成でのみ提供されていることを覚えておいてください。
CPUインスタンスは、レイテンシー要件がそれほど厳しくない、RAGユースケースのドキュメント拡張などのバッチ型ワークロード環境に適しています。Netflixは、未使用のクラウドキャパシティであるSpotインスタンスを使用して、何千ものアイドル状態のCPUを活用し、実質的に無料で購読者向けのレコメンデーションを事前計算しています。また、CPUを前処理に使用し、推論をGPUで実行するハイブリッドセットアップも利用可能です。
ベンチマーキングのニーズに対してFMBenchを使い始めるのは本当に簡単です。このプロセスを容易にするために、 FMBench Orchestratorと呼ばれる companion repositoryを作成しました。視聴できるビデオとFMBenchのウェブサイトがあり、インストール、設定、実行、これらのレポートの解釈に関するすべての詳細をガイドしています。FMBenchはオープンソースプロジェクトですので、GitHubで課題を作成するか、LinkedInで私に連絡していただければ、それらのリクエストに対応いたします。また、FMBenchにはAgentic Workflowsの評価も追加しています。 お時間をいただき、ありがとうございました。質問がありましたら、お答えさせていただきますので、よろしくお願いいたします。ありがとうございました。
※ こちらの記事は Amazon Bedrock を利用することで全て自動で作成しています。
※ 生成AI記事によるインターネット汚染の懸念を踏まえ、本記事ではセッション動画を情報量をほぼ変化させずに文字と画像に変換することで、できるだけオリジナルコンテンツそのものの価値を維持しつつ、多言語でのAccessibilityやGooglabilityを高められればと考えています。
Discussion