Поделиться через


Управление квотами моделей Azure OpenAI в Azure AI Foundry

Квота обеспечивает гибкость для активного управления распределением ограничений скорости между развертываниями в вашей подписке. В этой статье описывается процесс управления квотой Azure OpenAI.

Предпосылки

Это важно

Для любой задачи, требующей просмотра доступной квоты, мы рекомендуем использовать роль Cognitive Services Usages Reader. Эта роль обеспечивает минимальный доступ, необходимый для просмотра использования квот в подписке Azure. Дополнительные сведения об этой роли и других ролях, необходимых для доступа к Azure OpenAI, см. в руководстве по управлению доступом на основе ролей Azure.

Эту роль можно найти в портале Azure в разделе Подписки>Управление доступом (IAM)>Добавление назначения роли, найдите >. Эта роль должна применяться на уровне подписки, она не существует на уровне ресурса.

Если вы не хотите использовать эту роль, роль читателя подписки предоставит эквивалентный доступ, но также предоставит доступ на чтение за пределы области, необходимой для просмотра квоты и развертывания модели.

Общие сведения о квоте

Функция квоты Azure OpenAI позволяет назначать ограничения скорости для развертываний до глобального ограничения, называемого квотой. Квота назначается вашей подписке отдельно для каждого региона и модели в единицах «токены в минуту» (TPM). При подключении подписки к Azure OpenAI вы получите квоту по умолчанию для большинства доступных моделей. Затем вы назначите TPM каждому развертыванию по мере его создания, а доступная квота для этой модели будет сокращена на эту сумму. Вы можете продолжать создавать развертывания и назначать им TPM, пока не достигнете лимита квоты. После этого можно создать новые развертывания этой модели только путем уменьшения количества TPM, назначенного другим развертываниям этой же модели (таким образом освобождая TPM для использования), или запрашивая увеличение квоты модели в нужном регионе и получая на это одобрение.

Замечание

Имея квоту 240 000 TPM для GPT-4o в Восточной части США, клиент может создать одно развертывание на 240 K TPM, два развертывания по 120 K TPM каждое, или любое количество развертываний в одном или нескольких ресурсах Azure OpenAI, если их сумма не превышает 240 K в этом регионе.

При создании развертывания назначенный TPM напрямую сопоставляется с установленным ограничением скорости токенов в минуту для запросов на интерпретацию. Ограничение скорости запросов на минуту (RPM) также будет применяться, и его значение устанавливается пропорционально назначению TPM с использованием следующего соотношения:

Это важно

Соотношение запросов в минуту (RPM) к токенам в минуту (TPM) для квоты может варьироваться в зависимости от модели. При программном развертывании модели или запросе увеличения квоты у вас нет детализированного контроля над TPM и RPM в качестве независимых значений. Квота выделяется в единицах емкости, которые имеют соответствующие показатели RPM и TPM.

Модель Вместимость Запросы в минуту (RPM) Токены за минуту (TPM)
Старые модели чата: 1 урок 6 об/мин 1 000 TPM
o1 и o1-preview: 1 урок 1 об/мин 6000 TPM
o3 1 урок 1 об/мин 1 000 TPM
o4-mini 1 урок 1 об/мин 1 000 TPM
o3-mini: 1 урок 1 об/мин 10 000 TPM
o1-mini: 1 урок 1 об/мин 10 000 TPM
o3-pro: 1 урок 1 об/мин 10 000 TPM

Это особенно важно для развертывания программной модели, так как изменения в соотношении RPM/TPM могут привести к случайному неправильному расположению квоты. Дополнительные сведения см. в разделе о квоте и ограничениях.

Гибкость глобального распространения доверенного платформенного модуля в рамках подписки и региона позволила Azure OpenAI освободить другие ограничения:

  • Максимальное количество ресурсов в каждом регионе увеличивается до 30.
  • Ограничение на создание не более одного развертывания одной модели в ресурсе было удалено.

Назначение квоты

При создании развертывания модели у вас есть возможность назначить количество токенов в минуту (TPM) для этого развертывания. TPM можно изменять с шагом в 1000, и эти изменения будут соответствовать ограничениям скорости TPM и RPM, применяемым в вашем развертывании, как обсуждалось выше.

Чтобы создать новое развертывание на портале Azure AI Foundry выберите развертывания>Развернуть модель>Развернуть базовую модель>Выбрать модель>Подтвердить.

Снимок экрана: пользовательский интерфейс развертывания Azure AI Foundry

После развертывания вы можете настроить распределение ресурсов доверенного платформенного модуля, выбрав и изменив модель на портале Azure AI Foundry на странице развертывания. Этот параметр также можно изменить на странице управления>модель квоты.

Это важно

Квоты и ограничения могут быть изменены, для наиболее актуальной информации обратитесь к нашей статье о квотах и ограничениях.

Запрос дополнительных квот

Запросы на увеличение квоты можно отправить с помощью формы запроса на увеличение квоты. Из-за высокого спроса запросы на увеличение квот принимаются и будут заполнены в том порядке, в который они получены. Приоритет предоставляется клиентам, которые создают трафик, который потребляет существующее выделение квот, и ваш запрос может быть отклонен, если это условие не выполнено.

Конкретные параметры модели

Различные развертывания моделей, также называемые классами моделей, имеют уникальные максимальные значения TPM, которыми вы теперь можете управлять. Это определяет максимальное количество TPM, которое может быть выделено для этого типа развертывания модели в определенном регионе.

Все остальные классы моделей имеют общее максимальное значение TPM.

Замечание

Маркеры квоты— выделениеPer-Minute (TPM) не связано с максимальным ограничением входного маркера модели. Ограничения входных маркеров модели определяются в таблице моделей и не влияют на изменения, внесенные в TPM.

Просмотр и запрос квоты

Для общего вида ваших размеров квот в развертываниях в регионе выберите Управление>квоты в портале Azure AI Foundry :

Скриншот интерфейса квот Azure AI Foundry

  • Развертывание: развертывания модели, разделенные на класс модели.
  • Тип квоты: для каждого типа модели имеется одно значение квоты для каждого региона. Квота охватывает все версии этой модели.
  • Распределение квоты: Для имени квоты показывается, сколько квот используется развертываниями, а также общая квота, утвержденная для этой подписки и региона. Этот объем квоты также представлен в графе линейчатой диаграммы.
  • Квота запроса: значок переходит к этой форме, где можно отправить запросы на увеличение квоты.

Перенос существующих развертываний

В рамках перехода на новую систему квот и распределение на основе TPM все существующие развертывания модели Azure OpenAI были автоматически перенесены для использования квоты. В случаях, когда существующее распределение TPM/RPM превышает значения по умолчанию из-за предыдущих увеличений ограничения скорости, эквивалентный TPM был назначен затронутым развертываниям.

Общие сведения об ограничениях скорости

Назначение TPM развертыванию устанавливает ограничения скорости токены в минуту (TPM) и запросы в минуту (RPM) для развертывания, как описано выше. Ограничения скорости на основе TPM определяются максимальным числом маркеров, предположительно обрабатываемых в момент получения запроса. Это не то же самое, что и счетчик токенов, используемый для выставления счетов, который вычисляется после завершения всей обработки.

По мере получения каждого запроса Azure OpenAI вычисляет предполагаемое максимальное количество обработанных токенов, включающее следующее:

  • Запрос текста и подсчета
  • Настройка параметра max_tokens
  • Настройка параметра best_of

По мере поступления запросов в конечную точку развертывания, предполагаемое максимальное количество обработанных токенов добавляется к суммарному числу токенов всех запросов, которое сбрасывается каждую минуту. Если в течение этой минуты в любой момент достигнуто ограничение скорости запросов, дальнейшие запросы получат код ответа 429 до сброса счетчика.

Это важно

Количество маркеров, используемое в вычислении ограничения скорости, — это оценка, основанная частично на количестве символов запроса API. Оценка лимита токенов не совпадает с вычислением количества токенов, которое используется для выставления счетов или определения того, что запрос находится ниже лимита входных токенов модели. Из-за приблизительного характера расчета токенов ограничения скорости ожидается, что ограничение скорости может сработать раньше, чем это было бы предположено на основе точного подсчета токенов для каждого запроса.

Ограничения скорости RPM основаны на количестве запросов, полученных с течением времени. Ожидается, что ограничение частоты запросов обеспечит равномерное распределение запросов в течение одной минуты. Если этот средний поток не поддерживается, запросы могут получить ответ 429, даже если лимит не превышен при измерении в течение минуты. Для реализации этого поведения Azure OpenAI оценивает частоту входящих запросов за небольшой период времени, обычно 1 или 10 секунд. Если число полученных запросов в течение этого времени превышает ожидаемое значение в заданном пределе RPM, новые запросы получат код ответа 429 до следующего периода оценки. Например, если Azure OpenAI отслеживает частоту запросов по 1-секундным интервалам, ограничение скорости будет происходить для развертывания 600-RPM, если в течение каждого 10-секундного периода получаются более 10 запросов (600 запросов в минуту = 10 запросов в секунду).

Рекомендации по ограничению скорости

Чтобы свести к минимуму проблемы, связанные с ограничениями скорости, рекомендуется использовать следующие методы:

  • Задайте max_tokens и best_of минимальными значениями, которые служат потребностям вашего сценария. Например, не устанавливайте большое значение max-token, если вы ожидаете, что ваши ответы будут небольшими.
  • Используйте управление квотами для увеличения количества транзакций в минуту при развертывании с высоким трафиком и для уменьшения количества транзакций в минуту при развертывании с ограниченными потребностями.
  • Реализуйте в приложении логику повторных попыток.
  • Избегайте внесения резких изменений в рабочую нагрузку. Увеличивайте рабочую нагрузку постепенно.
  • Протестируйте различные шаблоны увеличения нагрузки.

Автоматизация развертывания

В этом разделе представлены краткие примеры шаблонов, которые помогут вам начать программное создание внедрений, использующих квоту для установки ограничений скорости модуля TPM. При вводе квоты необходимо использовать версию 2023-05-01 API для связанных действий по управлению ресурсами. Эта версия API предназначена только для управления вашими ресурсами и не влияет на версию API, используемую для вызовов, связанных с выводом данных, таких как автодополнения, чат-комплиты, внедрение данных, генерация изображений и т. д.

Развертывание

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01

Параметры пути

Параметр Тип Обязательно? Описание
accountName струна Обязательно Имя вашего ресурса Azure OpenAI.
deploymentName струна Обязательно Имя развертывания, выбранное при развертывании существующей модели или имя, которое будет иметь новое развертывание модели.
resourceGroupName струна Обязательно Имя связанной группы ресурсов для развертывания этой модели.
subscriptionId струна Обязательно Идентификатор подписки для связанной подписки.
api-version струна Обязательно Версия API, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД.

Поддерживаемые версии

текст запроса

Это только подмножество доступных параметров текста запроса. Полный список параметров см. в справочной документации по REST API.

Параметр Тип Описание
SKU (Единица учета запасов) Артикул Определение модели ресурсов, представляющее номер SKU.
Емкость целое число Это представляет объем квоты , которую вы назначаете этому развертыванию. Значение 1 единицы измерения равно 1000 токенов в минуту (TPM). Значение 10 соответствует 10 тысячам токенов в минуту (TPM).

Пример запроса

curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/gpt-4o-test-deployment?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  -d '{"sku":{"name":"Standard","capacity":10},"properties": {"model": {"format": "OpenAI","name": "gpt-4o","version": "2024-11-20"}}}'

Замечание

Существует несколько способов создания токена авторизации. Самый простой способ начального тестирования — запустить Cloud Shell на портале Azure. Затем выполните az account get-access-token. Этот маркер можно использовать в качестве временного маркера авторизации для тестирования API.

Дополнительные сведения см. в справочной документации по REST API по использованию и развертыванию.

Использование

Запрос использования квоты в определенном регионе для конкретной подписки

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/usages?api-version=2023-05-01

Параметры пути

Параметр Тип Обязательно? Описание
subscriptionId струна Обязательно Идентификатор подписки для связанной подписки.
location струна Обязательно Местоположение для просмотра использования, например: eastus
api-version струна Обязательно Версия API, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД.

Поддерживаемые версии

Пример запроса

curl -X GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CognitiveServices/locations/eastus/usages?api-version=2023-05-01 \
  -H "Content-Type: application/json" \
  -H 'Authorization: Bearer YOUR_AUTH_TOKEN' 

Удаление ресурсов

При попытке удалить ресурс Azure OpenAI из портала Azure, если какие-либо развертывания все еще присутствуют, удаление будет заблокировано до тех пор, пока связанные развертывания не будут удалены. Сначала удаляя развертывания, можно правильно освободить распределенные квоты, чтобы их можно было использовать в новых развертываниях.

Однако, если вы удаляете ресурс с помощью REST API или другого программного метода, это обходит необходимость сначала удалять развертывания. При этом связанное квотирование будет оставаться недоступным для назначения новому развертыванию в течение 48 часов, пока ресурс не будет очищен. Чтобы активировать немедленную очистку удаленного ресурса, чтобы освободить квоту, следуйте инструкциям по очистке удаленного ресурса.

Дальнейшие шаги