[小ネタ] Azure Machine Learning でGPUのコンピューティング インスタンスが作成できない時のクォータ上限の上げ方について #Azure #AzureMachineLearning
こんにちは、Mr.Moです。
機械学習のトレーニングはGPUを使って行うと時間の短縮などメリットがあります。Azure Machine Learning でもGPUを使用したいですが、デフォルトだとGPUのコンピューティング インスタンスが使用できない状態だったので、本エントリでは解決するまでの流れを残しておこうと思います。
なぜ使用できない状態だったのか
GPUのコンピューティング インスタンスを作成するのに必要なコア数がクォータ上限を超えていたのが原因です。Azureのサブスクリプションではコンピューティング インスタンスとった仮想マシンがむやみに作成されることがおきないよう、クォータによる制限が設定されています。
このクォータの上限は引き上げの要求を行うことが可能です。
クォータ上限の引き上げ要求で注意する点
自分がクォータ上限の引き上げ要求を実施した時に失敗した点を、注意する点として下記に記載いたします。
- GPU コンピューティング インスタンス作成に必要なコア数を確認しておく(よく確認せずに上限を「1」で依頼しましたが全く数が足らず再依頼になりました)
- Azure Machine Learningで使える コンピューティング インスタンスのシリーズを確認しておく(NVv4シリーズのクォータ上限を依頼しましたが、今のところAzureMLでは対応していませんでした)
- 東日本リージョンの NV Series は、旧世代の仮想マシンのためクォータ上限増加が承認されない(西ヨーロッパリージョンなら可能かもしれないとのことでした)
クォータ上限の引き上げ要求をしよう
さっそくクォータ上限の引き上げ要求を行っていきましょう。
Azure Machine Learning の使い方や事前準備などは下記のエントリなどを参考にしてください。
まずは下記の順番で Azure Machine Learning Studio でGPUのコンピューティング インスタンスの作成を試みます。するとクォータの制限によりGPUの各種インスタンスが選択できない状態になっていますね困りました。そこでおもむろに「こちらをクリックしてクォータを表示し、要求します。」のリンクをクリックします。(ちなみにこの時点でNVv4シリーズは選択の一覧に出ていないので対応していないことが分かりますね)
そうすると下記のように現在のクォータの状態を確認できる画面が表示されます。赤枠のところはGPU系 仮想マシンのシリーズの1つNVv3シリーズの使用状況などが表示されているところです。ここの「専用コアの使用状況」を確認すると「0/0 (N/A)」となっていて、上限「ゼロ」つまりNVv3シリーズは使えない状態です。そこで今回はNVv3シリーズのクォータ上限を上げる要求をしていこうと思います。画面下にある「クォータの要求」のボタンを押してください。
あとは下記のように手続きを進めていただければと思います。
数日後、メールで対応完了の連絡が届きます。確認してみると...
NVv3シリーズが選択できるようになっています!...がその前に1つ設定が必要です。
現在のクォータの状態を確認できる画面を開き、「クォータの構成」タブをクリック!NVv3シリーズのリソース別の制限数を設定し直しましょう!これでGPUのコンピューティング インスタンスが作成できる状態となりましたー
作業が終わったら
作業が終わったら「削除」、「停止」などして課金を抑えるようにしましょう!(数日前の自分に教えてあげたい、タイムマシーンが欲しいです)
参考
- https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/management/azure-subscription-service-limits
- https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-gpu
- https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/
- https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/windows/