Управление квотами в Azure Quantum
Квоты Azure Quantum — это ограничения, определенные поставщиком для использования ЦП targets. Квоты помогают предотвратить случайное превышение затрат для пользователя, а также сохранение целостности систем поставщика. Квоты основаны на выборе плана поставщика и обычно могут быть увеличены с помощью запроса в службу поддержки.
Использование, отслеживаемое с помощью квот, необязательно должно быть привязано к стоимости или кредиту, но может быть сопоставлено с ними.
Совет
При создании рабочей области Azure Quantum вы автоматически получаете бесплатные кредиты Azure Quantum для каждого поставщика квантового оборудования. Вы можете использовать кредиты Azure Quantum для отправки первых квантовых программ в реальное квантовое оборудование.
Расчет квот
В Azure Quantum поставщики оборудования и программного обеспечения определяют квоты для своих предложений и управляют ими. Подробные сведения о квоте см. на странице справочника по каждому поставщику. Если поставщик не отображается в следующем списке, этот поставщик не определяет квоты.
Просмотр оставшихся квот
Использование и квоты Azure Quantum измеряются в единицах использования каждого поставщика. Некоторые поставщики не определяют квоты и не будут отображать сведения об использовании.
Примечание.
Если вы используете план "Кредиты Azure Quantum", а не план выставления счетов, сведения о квотах сопоставляются с выделенными кредитами. В этом случае в квоте указывается общее количество полученных кредитов.
Отслеживание квоты с помощью портал Azure
- Войдите на портал Azure, используя учетные данные вашей подписки Azure.
- Выберите рабочую область Azure Quantum.
- На левой панели в разделе "Операции" перейдите на вкладку "Кредиты и квоты " и выберите колонку "Квоты ".
- Просмотрите используемые и оставшиеся квоты для каждого выбранного поставщика. Обратите внимание, что сведения о квоте отображаются в трех столбцах.
- Использование рабочей области: ограничение использования для текущей рабочей области. Каждая рабочая область Azure Quantum имеет ограничение на использование.
- Использование подписки Azure: использование всех рабочих областей в текущем регионе и подписке. На этом уровне отслеживаются не все квоты.
- Периодичность: период продления квоты. Если задано "Ежемесячно", объем использования сбрасывается 1-го числа каждого месяца. Если задано "Однократно", объем использования никогда не сбрасывается.
В этом представлении в качестве квот включены кредиты Azure Quantum. Это позволяет пользователю просматривать сведения о кредитах, выраженные в единицах, отслеживаемых поставщиком, а также связанный интервал.
Отслеживание квоты с помощью Azure CLI
Квоты можно просмотреть с помощью Azure CLI. Дополнительные сведения см. в статье Управление квантовыми рабочими областями с помощью Azure CLI.
Установите расширение Azure CLI
quantum
. Откройте командную строку и выполните следующую команду, которая также обновит расширение, если уже установлена предыдущая версия.az extension add --upgrade -n quantum
Войдите в Azure, используя учетные данные. Отобразится список подписок, связанных с вашей учетной записью.
az login
Укажите нужную подписку.
az account set -s <Your subscription ID>
Выберите нужную рабочую область. Обратите внимание, что необходимо также указать группу ресурсов и расположение.
az quantum workspace set \ -g MyResourceGroup \ -w MyWorkspace \ -l MyLocation \ -o table
Выполните команду
az quantum workspace quotas
для отображения сведений о квотах для выбранной рабочей области.az quantum workspace quotas -o table
|Dimension | Holds | Limit | Period | ProviderId | Scope | Utilization| |--------- | ----- | --------- | -------- | ----------| ------------ | -----------| |qgs | 0.0 | 8333334.0 | Infinite | ionq | Subscription | 33334.0| |hqc | 0.0 | 800.0 | Infinite | quantinuum | Subscription | 0.0|
См. приведенные выше выходные данные в качестве примера. В этом случае в строке qgs
показано, что в учетной записи есть ограничение в 8333334 qgs
для IonQ, из которого использовано 33334 qgs
. Учетная запись также имеет ограничение в 800
кредитов HQC для Quantinuum, из которых использовано 0
.
Значение в столбце Область указывает, относится ли квота к текущей рабочей области или подписке.
- Рабочая область: отслеживается для отдельной рабочей области.
- Подписка: отслеживается для всех рабочих областей в одной подписке или регионе.
Значение в столбце Период указывает период продления квоты.
- Ежемесячно: объем использования сбрасывается 1-го числа каждого месяца.
- Бесконечно: использование никогда не сбрасывается (также называется однократным в представлении портал Azure).
Отслеживание квоты с помощью пакета SDK для Python
Установите последнюю версию пакета
azure-quantum
Python.Откройте новый файл Python. Создайте экземпляр объекта
Workspace
, который позволяет подключиться к рабочей области, ранее развернутой в Azure.from azure.quantum import Workspace # Copy the following settings for your workspace workspace = Workspace ( resource_id = "", # Add your resource_id location = "" # Add your workspace location (for example, "westus") )
Выполните метод
get_quotas
для отображения сведений о квотах для выбранной рабочей области.quotas = workspace.get_quotas()
[{'dimension': 'qgs', 'scope': 'Subscription', 'provider_id': 'ionq', 'utilization': 33334.0, 'holds': 0.0, 'limit': 16666667.0, 'period': 'Infinite'}, {'dimension': 'hqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 40.0, 'period': 'Infinite'}, {'dimension': 'ehqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 160.0, 'period': 'Infinite'}, {'dimension': 'combined_job_hours', 'scope': 'Workspace', 'provider_id': 'Microsoft', 'utilization': 0.0, 'holds': 0.0, 'limit': 20.0, 'period': 'Monthly'}, {'dimension': 'combined_job_hours', 'scope': 'Subscription', 'provider_id': 'Microsoft', 'utilization': 0.011701412083333333, 'holds': 0.0, 'limit': 1000.0, 'period': 'Monthly'}]
См. приведенные выше выходные данные в качестве примера. В этом случае в строке qgs
показано, что в учетной записи есть ограничение в 8333334 qgs
для IonQ, из которого использовано 33334 qgs
. Число одновременно выполняемых заданий — это количество заданий, которые можно поместить в очередь в одну рабочую область в любое время.
Элемент scope
указывает, относится ли квота к текущей рабочей области или подписке.
- Рабочая область: отслеживается для отдельной рабочей области.
- Подписка: отслеживается для всех рабочих областей в одной подписке или регионе.
Элемент period
указывает период продления квоты.
- Ежемесячно: объем использования сбрасывается 1-го числа каждого месяца.
- Бесконечно: использование никогда не сбрасывается (также называется однократным в представлении портал Azure).
Совет
Метод get_quotas
возвращает результаты в виде словаря Python. Для более удобочитаемого формата используйте следующие примеры кода, чтобы распечатать сводку > оставшихся квот на уровне подписки и рабочей области.
Скопируйте следующий код, чтобы отслеживать квоту на уровне подписки.
# This gathers usage against quota for the various providers (quota is set at the subscription level).
# Note that a provider may have multiple quotas, such as Quantinuum that limits usage of their Emulator.
rigetti_quota = 0
ionq_quota = 0
quantinuum_hqc_quota = 0
quantinuum_ehqc_quota = 0
rigetti_quota_utilization = 0
ionq_quota_utilization = 0
quantinuum_hqc_quota_utilization = 0
quantinuum_ehqc_quota_utilization = 0
for quota in workspace.get_quotas():
if (quota['provider_id'] == 'rigetti'):
rigetti_quota = quota['limit']
rigetti_quota_utilization = quota['utilization']
if (quota['provider_id'] == 'ionq'):
ionq_quota = quota['limit']
ionq_quota_utilization = quota['utilization']
if (quota['dimension'] == 'hqc'):
quantinuum_hqc_quota = quota['limit']
quantinuum_hqc_quota_utilization = quota['utilization']
if (quota['dimension'] == 'ehqc'):
quantinuum_ehqc_quota = quota['limit']
quantinuum_ehqc_quota_utilization = quota['utilization']
print('Rigetti quota use: ', "{:,}".format(rigetti_quota_utilization), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use:', "{:,}".format(ionq_quota_utilization), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use:', "{:,}".format(quantinuum_hqc_quota_utilization), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use:', "{:,}".format(quantinuum_ehqc_quota_utilization), '/', "{:,}".format(quantinuum_ehqc_quota))
Скопируйте следующий код, чтобы отслеживать квоту на уровне рабочей области.
# This gathers usage against quota for the various providers for the current workspace
# As there can be multiple workspaces in a subscription, the quota usage for the workspace is less or equal to usage against quota at the subscription level
amount_utilized_rigetti = 0
amount_utilized_ionq = 0
amount_utilized_quantinuum_hqc = 0
amount_utilized_quantinuum_ehqc = 0
for job in workspace.list_jobs():
if (job.details.cost_estimate != None):
for event in job.details.cost_estimate.events:
if (event.amount_consumed > 0):
#print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
if (job.details.provider_id == 'rigetti'):
amount_utilized_rigetti += event.amount_consumed
if (job.details.provider_id == 'ionq'):
amount_utilized_ionq += event.amount_consumed
if (job.details.provider_id == 'quantinuum'):
#print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
#print(event)
if (event.dimension_id == 'hqc'):
amount_utilized_quantinuum_hqc += event.amount_consumed
else:
amount_utilized_quantinuum_ehqc += event.amount_consumed
print(job.id, event)
print('Rigetti quota use in current workspace: ', "{:,}".format(amount_utilized_rigetti), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use in current workspace:', "{:,}".format(amount_utilized_ionq), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_hqc), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_ehqc), '/', "{:,}".format(quantinuum_ehqc_quota))
Запрос дополнительной квоты
Если вы не используете план "Кредиты Azure Quantum", вы можете запросить увеличение квоты, отправив запрос в службу поддержки.
Войдите на портал Azure, используя учетные данные вашей подписки Azure.
Выберите рабочую область Azure Quantum.
В левой области в разделе Операции перейдите в колонку Кредиты и квоты и откройте вкладку Квоты.
Нажмите кнопку Увеличить на странице квоты или нажмите кнопку Создать запрос на поддержку на боковой панели на портале.
Откроется запрос в службу поддержки. Выполните приведенные ниже действия, чтобы заполнить запрос.
- Опишите проблему как Запрос на переопределение квоты Azure Quantum.
- В качестве типа проблемы укажите Техническая.
- Выберите подписку, в которой находится рабочая область.
- Выберите Все службы.
- В качестве типа службы выберите Azure Quantum — предварительная версия.
- Выберите рабочую область, для которой нужно изменить квоту, в разделе Ресурс.
- В качестве типа проблемы укажите Другое.
- Выберите Решения, а затем — Сведения.
- Заполните все поля. В поле Описание укажите следующие сведения:
- Имя поставщика, для которого требуется изменить квоты
- Какие квоты требуется изменить: для области подписки или рабочей области
- Какие квоты требуется изменить и на сколько
- Обоснование причины увеличения квоты может помочь нам в некоторых случаях принять правильное решение.