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


Что такое подготовленная пропускная способность?

Примечание.

Предложение с выделением ресурсов Azure OpenAI получило значительные обновления 12 августа 2024 года, в том числе приведение модели покупки в соответствие со стандартами Azure и переход на квоту, не зависящую от модели. Настоятельно рекомендуется, чтобы клиенты, подключенные до этой даты, прочитали обновление Azure OpenAI, подготовленное в августе , чтобы узнать больше об этих изменениях.

Возможность выделенной пропускной способности позволяет указать объем пропускной способности, необходимый для развертывания. Затем служба выделяет необходимую емкость для обработки модели и гарантирует ее готовность для вас. Пропускная способность определяется с точки зрения зарезервированных единиц пропускной способности (PTU), которые являются нормализованным способом представления пропускной способности для развертывания. Каждая пара версии модели требует разного количества PTU для развертывания и обеспечивает разную пропускную способность на единицу PTU.

Что предоставляют подготовленные типы развертывания?

  • Прогнозируемая производительность: стабильная максимальная задержка и пропускная способность для унифицированных рабочих нагрузок.
  • Выделенная емкость обработки: процесс развертывания настраивает объём пропускной способности. После развертывания пропускная способность доступна независимо от того, используется ли она.
  • Экономия затрат: рабочие нагрузки с высокой пропускной способностью могут обеспечить экономию затрат по сравнению с потреблением на основе токенов.

Примечание.

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

Развертывание Azure OpenAI — это единица управления для конкретной модели OpenAI. Развертывание предоставляет клиентам доступ к модели для вывода и интегрирует дополнительные функции, такие как модерация контента (см. документацию по модерации контента). Глобальные подготовленные развертывания доступны в одних и том же ресурсах Azure OpenAI, что и все остальные типы развертывания, но позволяют использовать глобальную инфраструктуру Azure для динамического маршрутизации трафика в центр обработки данных с оптимальной доступностью для каждого запроса. Аналогичным образом подготовленные зоны данных также доступны в одних и том же ресурсах, что и все остальные типы развертывания, но позволяют использовать глобальную инфраструктуру Azure для динамического маршрутизации трафика в центр обработки данных в пределах указанной корпорацией Майкрософт зоны данных с наилучшей доступностью для каждого запроса.

Что вы получаете?

Тема Подготовлено
Что это такое? Обеспечивает гарантированную пропускную способность с меньшими приращениями, чем существующее предварительно установленное предложение. Развертывания имеют согласованную максимальную задержку для заданной версии модели.
Кто может использовать это средство? Клиенты, которые хотят гарантированной пропускной способности с минимальной задержкой.
Квота Подготовленная управляемая единица пропускной способности, глобальная подготовленная управляемая единица пропускной способности или подготовленная управляемая единица пропускной способности зоны данных, назначенная для каждого региона. Квоту можно использовать в любой доступной модели Azure OpenAI.
Задержка Максимальная задержка ограничена моделью. Общая задержка является следствием характера вызова.
Загруженность Запланированная управляемая метрика использования версии 2, предоставленная в Azure Monitor.
Оценка размера Калькулятор размеров, предоставленный в Azure AI Foundry.
Быстрое кэширование Для поддерживаемых моделей мы скидываем до 100 % кэшированных маркеров ввода.

Сколько пропускной способности на PTU вы получаете для каждой модели

Пропускная способность (токены в минуту или TPM), которую получает развертывание на каждый PTU, является функцией входных и выходных токенов в минуту. Для создания выходных маркеров требуется больше обработки, чем входные маркеры. Для моделей, указанных в таблице ниже, 1 выходной маркер учитывается как 3 входных маркера при расчете лимита TPM на PTU. Служба динамически балансирует затраты на входные и выходные данные, поэтому пользователям не нужно устанавливать определенные ограничения входных и выходных данных. Такой подход означает, что развертывание устойчиво к колебаниям в характере рабочей нагрузки.

Чтобы упростить процесс определения размеров, в следующей таблице приведены значения TPM на каждую PTU для указанных моделей. Чтобы понять влияние выходных токенов на TPM в пределах ограничения PTU, используйте соотношение 3 входных токена к 1 выходному токену. Чтобы получить подробное представление о том, как различные соотношения входных и выходных маркеров влияют на пропускную способность вашей рабочей нагрузки, см. калькулятор емкости Azure OpenAI. В таблице также показаны значения целевой цели задержки на уровне обслуживания (SLA) для каждой модели. Дополнительные сведения о соглашении об уровне обслуживания для Службы Azure OpenAI см. на странице Соглашения об уровне обслуживания для онлайновых служб.

Тема gpt-4o gpt-4o-mini o1
Глобальное и минимальное развертывание подготовленной зоны данных 15 15 15
Увеличение масштаба предоставленной зоны глобальных данных 5 5 5
Зарезервированное минимальное развертывание в регионе 50 25 50
Увеличение регионального выделенного масштаба 50 25 50
Ввод TPM на единицу PTU 2500 37 000 230
Целевое значение задержки 25 токенов в секунду 33 токена в секунду 25 токенов в секунду

Для полного списка см. службу Azure OpenAI в портале-калькуляторе Azure AI Foundry.

Примечание.

Глобальные подготовленные и подготовленные зоны данных развертывания поддерживаются только для моделей gpt-4o и gpt-4o-mini. Дополнительные сведения о доступности моделей см. в документации по моделям.

Основные понятия

Типы развертывания

При создании подготовленного развертывания в Azure AI Foundry в диалоговом окне "Создание развертывания" тип развертывания можно выбрать в зависимости от потребностей обработки данных для данной рабочей нагрузки: глобально подготовленный управляемый, DataZone подготовленный управляемый или регионально подготовленный управляемый.

При создании подготовленного развертывания в Azure OpenAI с помощью интерфейса командной строки или API, значение sku-name можно задать GlobalProvisionedManaged, DataZoneProvisionedManaged или ProvisionedManaged в зависимости от необходимости обработки данных для данной рабочей нагрузки. Чтобы адаптировать приведенную ниже команду Azure CLI к другому типу развертывания, просто обновите sku-name параметр, чтобы он соответствовал типу развертывания, который требуется развернуть.

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyDeployment \
--model-name gpt-4o \
--model-version 2024-08-06  \
--model-format OpenAI \
--sku-capacity 15 \
--sku-name GlobalProvisionedManaged

Квота

Резервированные единицы пропускной способности

Единицы обеспеченной пропускной способности (PTU) — это универсальные единицы емкости обработки модели, которые можно использовать для определения размеров подготовленных развертываний и достижения требуемой пропускной способности для обработки запросов и генерации результатов. Единицы пропускной способности, ограниченные по квоте, предоставляются подписке. Каждая квота относится к определённому региону и определяет максимальное количество портативных терминальных установок, которые могут быть назначены развертываниям в этой подписке и регионе.

Квота независимая от модели

В отличие от квоты токенов в минуту (TPM), используемой другими предложениями Azure OpenAI, PTUS являются независимыми от модели. PTUs можно использовать для развертывания любой поддерживаемой модели или версии в регионе.

Схема независимой квоты модели с одним пулом ПТУ, доступным для нескольких моделей Azure OpenAI.

Для подготовленных развертываний новая квота отображается в Azure AI Foundry в качестве элемента квоты под именем "Управляемая единица пропускной способности для подготовленных развертываний". Для глобальных подготовленных развертываний новая квота отображается в Azure AI Foundry как элемент квоты с названием Глобальная Управляемая Единица Пропускной Способности. Для развертываний с подготовленными зонами данных новая квота появляется в Azure AI Foundry в виде элемента квоты под названием "Подготовленная управляемая единица пропускной способности зоны данных". В панели квоты Foundry, развернув элемент квоты, можно увидеть развертывания, способствующие использованию каждой квоты.

Скриншот пользовательского интерфейса квоты Azure OpenAI.

Получение квоты PTU

Квота PTU доступна по умолчанию во многих регионах. Если требуется дополнительная квота, клиенты могут запрашивать квоту по ссылке "Квота запроса". Эта ссылка находится справа от указанных вкладок квоты типа развертывания в Azure AI Foundry Форма позволяет клиенту запросить увеличение указанной квоты PTU для заданного региона. Клиент получает сообщение электронной почты по указанному адресу после утверждения запроса, как правило, в течение двух рабочих дней.

Минимальные значения PTU для каждой модели

Минимальное развертывание PTU, прирост и пропускная способность обработки, связанные с каждой единицей, зависят от типа модели и версии.

Прозрачность возможностей

Azure OpenAI — это очень требуемая служба, где спрос клиентов может превышать емкость GPU службы. Корпорация Майкрософт стремится предоставлять мощности для всех востребованных регионов и моделей, но исчерпание ресурсов в регионе всегда возможно. Это ограничение может ограничить способность некоторых клиентов развертывать желаемую модель, версию или количество ПТУ в нужном регионе, даже если у них есть доступная квота в этом регионе. Вообще говоря:

  • Квота устанавливает ограничение на максимальное количество ПТЭ, которые можно развернуть в подписке и регионе, и не обеспечивает наличие емкости.
  • Емкость выделяется во время развертывания и сохраняется до тех пор, пока развертывание существует. Если емкость службы недоступна, развертывание потерпит неудачу.
  • Клиенты используют сведения о доступности квоты и емкости в режиме реального времени, чтобы выбрать подходящий регион для своего сценария с необходимой емкостью модели
  • Масштабирование или удаление развертывания освобождает ресурсы, возвращая их в регион. Нет никаких гарантий, что емкость будет доступна, если развертывание будет масштабировано или повторно создано позже.

Руководство по региональным возможностям

Чтобы найти емкость, необходимую для развертывания, используйте API емкости или интерфейс развертывания Azure AI Foundry для предоставления сведений о доступности емкости в режиме реального времени.

В Azure AI Foundry интерфейс развертывания определяет, когда региону не хватает емкости, необходимой для развертывания модели. В этом случае рассматривается требуемая модель, версия и количество ПТП. Если емкость недоступна, интерфейс направляет пользователей на выбор альтернативного региона.

Дополнительные сведения о новом интерфейсе развертывания см. в руководстве по началу работы с Azure OpenAI.

API возможностей новой модели можно использовать для автоматизированного определения максимального размера развертывания указанной модели. API учитывает как вашу квоту, так и сервисную мощность в регионе.

Если приемлемый регион недоступен для поддержки требуемой модели, версии и /или PTUS, клиенты также могут выполнить следующие действия:

  • Попробуйте выполнить развертывание с меньшим количеством ПТУ.
  • Попробуйте выполнить развертывание в другое время. Доступность емкости динамически изменяется в зависимости от спроса клиента и больше емкости может стать доступной позже.
  • Убедитесь, что квота доступна во всех допустимых регионах. API возможностей модели и интерфейс Azure AI Foundry учитывают доступность квот для возвращения альтернативных регионов при создании развертывания.

Определение количества ПТП, необходимых для рабочей нагрузки

PTUs представляют объем вычислительных возможностей модели. Как и в случае с компьютером или базами данных, различные рабочие нагрузки или запросы к модели будут использовать разные объемы базовой емкости обработки. Преобразование из пропускной способности в PTUs можно приблизить с помощью данных об использовании исторических токенов или оценки формы вызова (входные токены, выходные токены и запросы в минуту), как описано в нашей документации по производительности и задержке. Чтобы упростить этот процесс, можно использовать калькулятор емкости Azure OpenAI для размера определенных фигур рабочей нагрузки.

Несколько высокоуровневых соображений.

  • Поколения требуют больше ресурсов, чем запросы
  • Для моделей GPT-4o и более поздних версий TPM для каждого PTU устанавливается отдельно для токенов ввода и вывода. Для более старых моделей более масштабные вычисления становятся дороже. Например, 100 вызовов с размером запроса на 1000 маркеров требуют меньше емкости, чем один вызов с 100 000 маркерами в запросе. Это распределение типов вызовов важно для общей производительности. Шаблоны трафика с широким распределением, включающие некоторые крупные вызовы, могут столкнуться с более низкой пропускной способностью на PTU, чем при более узком распределении с такими же средними размерами подсказок и маркеров завершения.

Как работает производительность использования

Подготовленные развертывания предоставляют вам выделенный объем мощности для обработки модели и выполнения данной модели.

Во всех подготовленных типах развертывания при превышении емкости API возвращает ошибку состояния HTTP 429. Этот быстрый ответ позволяет пользователю принимать решения о том, как управлять трафиком. Пользователи могут перенаправить запросы на отдельное развертывание, на стандартный экземпляр с оплатой за фактическое использование или использовать стратегию повторных попыток для управления заданным запросом. Служба продолжает возвращать код состояния HTTP 429 до тех пор, пока использование не падает ниже 100 %.

Как отслеживать емкость?

Метрика подготовленного управляемого использования версии 2 в Azure Monitor измеряет заданное использование развертываний на 1 минуту. Все предоставленные типы развертывания оптимизированы, чтобы гарантировать, что принятые вызовы обрабатываются с постоянным временем обработки модели (фактическая сквозная задержка зависит от характеристик вызова).

Что делать, когда я получаю ответ 429?

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

Заголовки retry-after-ms и retry-after в ответе указывают время ожидания до принятия следующего вызова. Способ обработки этого ответа зависит от требований приложения. Ниже приведены некоторые рекомендации.

  • Вы можете рассмотреть возможность перенаправления трафика на другие модели, развертывания или интерфейсы. Этот параметр является решением с наименьшей задержкой, так как действие можно предпринять сразу после получения сигнала 429. Сведения о том, как эффективно реализовать этот шаблон, см. в этой записи сообщества.
  • Если вы в порядке с более длительными задержками на вызов, реализуйте логику повторных попыток на стороне клиента. Этот параметр обеспечивает наибольшую пропускную способность на PTU. Клиентские библиотеки Azure OpenAI включают встроенные возможности для обработки повторных попыток.

Как служба решает, когда отправлять 429?

Во всех предварительно развернутых типах каждый запрос оценивается по отдельности по своему объёму запроса, ожидаемому объёму генерируемых данных и модели, чтобы определить ожидаемое использование. Это в отличие от развертываний с оплатой по мере использования, которые имеют настраиваемое поведение ограничения скорости на основе предполагаемой нагрузки трафика. Для развертываний с оплатой по мере использования это может привести к ошибкам HTTP 429, создаваемым до превышения определенных значений квот, если трафик равномерно не распространяется.

Для подготовленных развертываний мы используем вариант алгоритма «дырявого ведра», чтобы поддерживать использование ниже 100 %, разрешая некоторую всплесковую активность в трафике. Высокоуровневая логика выглядит следующим образом:

  1. Каждый клиент имеет определённое количество ресурсов, которые может использовать для развертывания.

  2. Когда запрос делается:

    a. Если текущее использование превышает 100 %, служба возвращает код 429 с заголовком retry-after-ms, содержащим время до тех пор, пока использование не станет ниже 100 %.

    b. В противном случае служба оценивает инкрементальное изменение использования, необходимое для обслуживания запроса, объединяя маркеры запроса, за вычетом кэшированных маркеров, и указанный max_tokens в вызове. Клиент может получить до 100% скидки на токены запроса в зависимости от размера кэшированных токенов. max_tokens Если параметр не указан, служба оценивает значение. Эта оценка может привести к снижению конкурентности по сравнению с ожидаемым, если количество фактически созданных маркеров невелико. Для максимальной конкуренции убедитесь, что значение max_tokens максимально приближено к истинному размеру поколения.

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

    a. Если фактическая > оценка, то разница добавляется в использование развертывания.

    b. Если фактическое < больше (или) меньше оценки, то разница вычитается.

  4. Общее использование уменьшается с постоянной скоростью, основанной на количестве развернутых PTUs.

Примечание.

Вызовы принимаются до тех пор, пока использование не достигнет 100 %. Всплески немного более 100 % могут быть разрешены на короткие периоды, но со временем трафик ограничен 100 %.

Схема, показывающая, как последующие вызовы добавляются в общую нагрузку.

Сколько одновременных вызовов можно использовать при развертывании?

Количество одновременных вызовов зависит от характеристики каждого вызова (размер запроса, параметр max_tokens и другие). Служба продолжает принимать вызовы до тех пор, пока использование не достигнет 100 %. Чтобы определить приблизительное количество одновременных вызовов, можно моделировать максимальные запросы в минуту для определенной фигуры вызова в калькуляторе емкости. Если система создает меньше количества выходных маркеров, заданных для max_tokens параметра, то подготовленное развертывание будет принимать больше запросов.

Какие модели и регионы доступны для подготовленной пропускной способности?

Доступность глобально обеспеченной управляемой модели

Регион o1, 2024-12-17 gpt-4o, 2024-05-13 gpt-4o, 2024-08-06 gpt-4o, 2024-11-20 gpt-4o-mini, 2024-07-18
australiaeast
brazilsouth
восточная Канада
eastus
eastus2
francecentral
Западная Центральная Германия
северная италия
japaneast
koreacentral
northcentralus
norwayeast
Центральная Польша
southafricanorth
southcentralus
southeastasia
Южная Индия
spaincentral
swedencentral
север Швейцарии
швейцариязапад
uaenorth
uksouth
westeurope
вестус
westus3

Примечание.

Подготовленная версия версии gpt-4:turbo-2024-04-09 в настоящее время ограничена только текстом.

Следующие шаги