Azure上でGPU付きの仮想マシン(VM)を使って大規模モデルを動かそうとしたのですが、いくつかハマりポイントがあったので備忘録としてまとめます。
背景
今回の目的は、gpt-oss-120bという大規模言語モデルを動かすことでした。
ローカルPCが貧弱なので、Azure VM上で動かすことにしました。
- できればGPU付きVMで高速化したい
- ただしコストは抑えたい
- まずはAzure上での環境構築から始める
…というモチベーションで進めていました。
トラブル1: Azure VMでGPUが使えない
最初に起きた問題は、GPU付きVMが選べないというもの。
- VMサイズが「Standard_NC」シリーズを選択できない
調べてみると、自分のアカウントではGPU VMが許可されてないことが原因と判明。
Azureポータル上で選べない状態でした。
追加エピソード: GPUサイズをMSに要求したが承認されなかった
「GPUサイズの制限があるのかも?」と考え、MicrosoftサポートにGPU VMサイズの上限引き上げをリクエストしました。
- AzureポータルからGPU SKU制限解除を依頼
- 数時間後、サポートから返答
- 「現状、このアカウントではGPUサイズの追加割り当てはできません」
つまり、申請してもGPU VMの上限を増やせない状況でした。
AzureのGPUリソースは人気が高く、リージョンによってはリクエストが通らないケースもあるようです。
この時点で、GPU利用は一旦あきらめることにしました。
回避策: GPUなしのVMを探す
GPU付きがダメなら、いったんCPUオンリーでgpt-oss-120bが動くか試す方針に切り替えました。
- 候補として「Standard_D」「Standard_E」シリーズを検証
- 特にメモリ容量を優先してVMを選定
- 結果的に「Standard_E64ds_v5」を利用
この段階では「どうせGPUなしじゃ無理だろう」と思っていたのですが、意外なことが起きます。
結果: gpt-oss-120bが動いた!
試しにCPUオンリーVMでgpt-oss-120bを起動したところ、動きました。
- 推論速度は遅いものの、安定して実行可能
- バッチサイズを最適化すれば現実的なレスポンス時間に調整可能
- GPUなしでも大規模モデルの動作検証が可能と判明
- gpt-oss-120b-F16.gguf
- 6.98 tokens/s
ハマりポイント2: VMサイズが増えていた
もう一つハマったのが、VMサイズのラインナップが以前より増えていたことです。
Azureでは定期的にVMサイズが追加・統合・非推奨化されるのですが、公式ドキュメントを見ても全体像がつかみにくい状況でした。
- 「Standard_NC」や「Standard_NV」などGPU系VMの更新
- 「Standard_E」シリーズの世代交代
- リージョンごとの提供可否もバラバラ
学び: VMサイズを知れたのも収穫
- 最終的にGPUは使えなかったものの、以下の知見を得られたのは大きな収穫でした。
- AzureではリージョンごとのGPU枯渇に注意
- gpt-oss-120bはCPUオンリーでも動作する
- GPUサイズの増枠リクエストは必ずしも通らない
- VMサイズはAzure CLIで正確に調べるのがベスト
まとめ
| 項目 | 結果 |
|---|---|
| GPU付きVM | リージョンの枯渇で使えず |
| GPU増枠リクエスト | 承認されず |
| CPUオンリーVM | gpt-oss-120bが動作 |
| 得られた知見 | リソース状況とVMラインナップの把握が重要 |
Azureを使って大規模モデルを動かそうとする方の参考になれば幸いです。
次回以降の予定
次はGPU付きVMが使えるリージョンを見つけて、gpt-oss-120bをGPUで動かす最適構成についてまとめたいと思っています。
以上