0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIインフラ構築におけるコストvsパフォーマンスの考察

0
Posted at

社内LLM基盤や生成AIサービスを構築する際、多くの方が直面するのがハードウェアの選定です。

「1台で余裕を持って動かせるハイエンドなAI特化型GPUを選ぶべきか?」
「コストを抑えた汎用GPUを複数枚束ねてVRAM容量を確保すべきか?」

選んだ環境が実運用に耐えられなかったらどうしようという懸念から、少しオーバースペックな仕様を選んでしまうケースも少なくありません。本記事では、考えられるAIインフラ選定における課題とボトルネック、その中から、LLMのモデル規模に応じた構成の最適化の考え方を考察してみたいと思います。

1:AIインフラ選定における背景と主な課題
AIインフラ選定における課題をいくつか考えてみました。

課題1:「高性能GPU = 最善」というコストと供給の壁
最高峰のAI特化型GPUを導入できれば理想的ですが、膨大な調達コストや供給遅延の制約が立ち塞がり、「限られた予算内で最大のコストパフォーマンスを出すにはどうすべきか?」が最初の課題として挙がってくるかと思います。

課題2:単体構成 vs 複数枚(分散)構成の比較難易度
「高性能なGPUを1台で運用する」のと「価格を抑えたGPUを複数台並べて協調動作させる」のとで、どちらが総所有コスト(TCO)や処理効率に優れるのかが分かりにくい点も挙げられます。

課題3:マルチワークロード(用途の多様化)への対応
AI推論だけでなく、画像生成、動画処理、3Dグラフィックスなど、社内インフラに求められる役割が多岐にわたる場合、単一のAI特化型GPUではオーバースペックあるいは機能不足(メディアエンジンの有無など)になるリスクが生じます。

2:LLM環境における技術的なボトルネックの考察
LLM運用環境では、以下が1つの技術的課題として考えられます。

VRAM容量とモデルサイズの制約(KV Cacheの増大)
モデルパラメータ自体はVRAMに収まっても、複数ユーザーからの同時アクセスや長文入力によって「KV Cache」が膨れ上がり、VRAM容量を圧迫します。その結果、KV CacheのCPUメモリへの退避(オフロード)に伴うメモリウォールでデータ供給不足が発生し、GPUスタベーションを引き起こす課題。

メモリ帯域幅による推論速度の制限
LLMのテキスト生成処理は、メモリから重みデータやKV Cashを読み出す速度に依存する事が考えられ、演算性能(TFLOPS)が高くても、メモリ帯域がボトルネックとなってリアルタイム応答性能が落ちる事も考えられます。

GPU間通信(インターコネクト)と分散処理のオーバーヘッド
複数枚のGPUにモデルを分散配置・並列実行する際に考えられるボトルネック

アーキテクチャによる機能差分
計算機型GPUには動画エンコーダーやレイトレーシング機能(RT Core)が非搭載のモデルも多いため、マルチメディア処理を含むAIパイプラインを組む際に処理の考察が必要になると考えられます。

3:VRAM容量とモデルサイズの関連性について
様々なボトルネックが考えられますが、その中でもVRAM容量とモデルサイズの制約を例にあげてみたいと思います。

VRAM消費量の試算例:70Bモデルの場合
LLMのモデルが消費するVRAM容量の一般的な推定計算式を次のように仮定してみます。

[パラメータ数] × [精度(bit)] ÷ 8(ビット/バイト変換)x 1.25(オーバーヘッド25%)

この計算式を適用すると、FP16精度(16bit)で動作させる70B(700億)パラメータモデルの場合、必要なVRAM量は以下のような計算になります。

70B × 16 ÷ 8 × 1.25 = 175 GB

L40SはVRAMが48GB、H100 NVL は96GBなので、それぞれのGPUのVRAM容量に当てはめると、モデルを展開するために必要な最低枚数の目安が見えてきます。

175GB ÷ 48GB = 3.64 ( L40S :4枚必要)
175GB ÷ 96GB = 1.82 ( H100 NVL 96G :2枚必要 )

400B(FP16精度)の場合の計算結果は以下の通りです。
400B × 16 ÷ 8 × 1.25 = 1,000 GB

1,000 GB ÷ 48GB = 20.83 ( L40S : 計算上21枚必要 )
1,000 GB ÷ 96GB = 10.41 ( H100 NVL 96G : 計算上11枚必要 )

ここから想定される必要なノード数としては、以下のような計算例が考えられるかと思います。

L40S:計算上21枚 → 実際には24枚構成と仮定すると
         →8枚搭載サーバー × 3ノード
H100 NVL:計算上11枚 → 実際には12枚または16枚構成と仮定すると
         →8枚搭載サーバー x 2ノード

このように考えられると、最近の状況で、最新のGPU調達をあきらめかけていたような状態でも、もしかしたら既存の資産を再活用する方法も見えてくるかもしれません。
GPUが8枚搭載できるGPUサーバーの割当てが難しい際には、GPU搭載を想定していないサーバー筐体でも、外付けのPCIe拡張シャーシにGPUを集約し、サーバーにはHBAを実装する事により、12枚や24枚のGPUをPCIe接続する事が可能となるCDI(Composable Disaggregated Infrastructure)という技術がLIQID社から提供されています。

最初にあげた、課題1と課題2は、どのGPUを何枚選ぶか、という観点から、考え方の1例としてですが、計算上の目安は付けられるかと思います。
課題1:「高性能GPU = 最善」というコストと供給の壁
課題2:単体構成 vs 複数枚(分散)構成の比較難易度

課題3のマルチワークロード(用途の多様化)への対応については、サーバー筐体に一旦GPUを実装してしまうと、用途ごとに頻繁にGPUを差し替えて、という事はされるケースは少ないかと思っています。CDIのPCIe拡張シャーシには、多様なGPUを混在させ、必要な時に必要なGPUをサーバーに動的に割り当て、作業が終わったら、その割当てを解除する事が可能となります。PCIe拡張シャーシに集約されたGPUは、GPUプールとして複数のホストサーバーで有効活用できるGPU共有基盤(タイムシェア)としての活用が可能となり、マルチワークロードへの対応という観点では、CDIという技術を活用すれば、対応が出来る可能性が高いのではと思っています。

4:まとめ・参照コラム
かつてH100の入手が非常に困難だった時期、入手性とコストパフォーマンスの高さからNVIDIA L40Sが代替選択肢として大きな注目を集めました。

「単体スペックではH100に及ばないL40Sが、どのような構成やワークロードにおいてH100の現実的な代替となり得るのか?」というテーマについて、検証データとともに分かりやすく解説されているコラムが公開されています。自社のAIインフラ構成を最適化する際の実践的なアプローチとして、ぜひ参考にしてみてください。

参照コラム: 動的GPU割当てによるAIモデルのパフォーマンス最適化

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?