GPU仮想化とは、物理的な1台のGPUを複数の仮想GPUに分割し、複数のユーザーやワークロードで共有して利用する技術です。AIのクラウドサービスやデータセンターにおいて、高価なGPUリソースの利用効率を最大化し、コストを最適化するために広く導入されています。
GPU仮想化の方式
NVIDIAはMIG(Multi-Instance GPU)技術により、1台のGPUを最大7つの独立したインスタンスに分割できます。各インスタンスは専用の演算リソース、メモリ、メモリ帯域幅を持ち、他のインスタンスから完全に分離されます。また、vGPU(Virtual GPU)ソフトウェアによるタイムシェアリング方式の仮想化も可能です。
| ひとことで言うと | 1枚のGPUを分割して、複数の利用者・処理で共有する技術。 |
|---|---|
| 何がうれしいか | 高価なGPUを遊ばせず、小さな処理を複数同時に走らせて稼働率を上げられる。 |
| 注意点 | 分割すると1件あたりの性能は下がる。大規模学習には向かない。 |
AIワークロードでの活用
GPU全体のリソースを必要としない小規模な推論タスクや開発・テスト環境では、GPU仮想化により効率的なリソース活用が可能です。例えば、A100のMIGを使って複数の推論サービスを1台のGPUで同時に稼働させたり、開発チームの複数メンバーが1台のGPUを共有して学習実験を行えます。
11枚の物理GPU高価で余力がある
▶
2論理的に分割MIGなどの機能で
▶
3複数に割り当て部署や処理ごとに
▶
4同時に利用稼働率が上がる
Kubernetes連携とクラウド
NVIDIA GPU OperatorやDevice Pluginを使い、KubernetesクラスタでのGPUリソースの動的な割り当てと管理が可能です。AWS、GCP、Azureなどのクラウドプロバイダも、GPU仮想化技術を活用してさまざまなサイズのGPUインスタンスを提供しています。GPU利用率の向上とコスト最適化の両立を目指す運用が主流になっています。