GCPにおける第5世代 Xeonでの言語モデル性能ベンチマーク
Introduction
この投稿では、軽量なエージェンティック AI ワークロードが CPU 専用インスタンスで効率的に実行できることを、2つの Xeon ベースの Google Cloud VM でのテキスト埋め込みと生成のベンチマークによって示しています。
Creating Instances
N2 Instance Creation
Google Cloud で 96 vCPU(1つの Ice Lake ソケット)の N2 インスタンスを作成するには、N2 マシンタイプ n2-standard-96 を選択し、CPU プラットフォームを Ice Lake に設定し、OS とストレージのデフォルトを保持して、[CREATE] をクリックします。
C4 Instance Creation
N2 のコア数と一致する 96 vCPU(1つの Emerald Rapids ソケット)の C4 インスタンスを作成するには、C4 マシンタイプ c4-standard-96 を選択し、安定したパフォーマンスのためにオプションですべてのコアターボを有効にし、N2 と同じ OS とストレージを保持して、[CREATE] をクリックします。
Setting Up the Environment
環境は、optimum‑benchmark リポジトリをクローンし、コミット d58bb2582b872c25ab476fece19d4fa78e190673 をチェックアウトし、Docker イメージをビルドし、IPEX サポート付きの optimum‑intel をインストールし、OpenMP スレッド アフィニティを設定し、Hugging Face にログインして Llama モデルにアクセスすることで準備されます。
Benchmarking
Text Embedding Benchmark
このベンチマークでは、WhereIsAI/UAE-Large-V1 モデルを使用し、シーケンス長 128、バッチサイズ 1 から 128 の範囲で、optimum-benchmark --config-dir examples/ --config-name ipex_bert コマンドを実行します(NUMA ノード両方にバインドするように YAML を更新した後)。
Text Generation Benchmark
このベンチマークでは、meta-llama/Llama-3.2-3B モデルを使用し、入力長 256、出力長 32、バッチサイズ 1 から 64 の範囲で、optimum-benchmark --config-dir examples/ --config-name ipex_llama コマンドを実行します(NUMA ノード両方にバインドするように YAML を更新した後)。
Results and Conclusion
Text Embedding Results
C4 インスタンスは、テキスト埋め込みにおいてテストしたバッチサイズ全体で、N2 インスタンスより約 10 倍から 24 倍高いスループットを提供します。
Text Generation Results
C4 インスタンスは、テキスト生成において N2 インスタンスより約 2.3 倍から 3.6 倍高いスループットを示します。バッチサイズ 1 から 16 の範囲では、スループットの向上が約 13 倍であり、レイテンシーを大きく損なうことなく、同時クエリの処理が可能になります。
Conclusion
パフォーマンスの向上は、第5世代 Xeon(Emerald Rapids)CPU の Intel AMX とメモリの改善によるものです。今後登場する Granite Rapids(Xeon 6)は、Llama 3 に対して約 2 倍のさらなる性能向上を提供すると見込まれており、著者たちは、Google Cloud で Granite Rapids インスタンスが利用可能になることを前提に、ホスト‑アクセレータ間のトラフィック オーバーヘッドを回避するために、軽量なエージェンティック AI ソリューションを CPU 専用で完全に実行できると期待しています。