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


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

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

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

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

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

Примечание.

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

Что получится?

Раздел Подготовлено
Что это такое? Обеспечивает гарантированную пропускную способность с меньшим шагом, чем существующее подготовленное предложение. Развертывания имеют согласованную максимальную задержку для заданной версии модели.
Кто это для? Клиенты, которые хотят гарантированной пропускной способности с минимальной задержкой.
Квота Подготовленные управляемые единицы пропускной способности для данной модели.
Задержка Максимальная задержка ограничена моделью. Общая задержка — это фактор фигуры вызова.
Загруженность Подготовленная управляемая мера использования, предоставляемая в Azure Monitor.
Оценка размера Предоставленный калькулятор в скрипте студии и тестирования.

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

Чтобы получить подготовленную пропускную способность, необходимо поговорить с группой по продажам и учетной записи Майкрософт. Если у вас нет команды по продажам и учетной записи, к сожалению, вы не можете приобрести подготовленную пропускную способность.

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

Регион gpt-4, 0613 gpt-4, 1106-Preview gpt-4, 0125-Preview gpt-4, turbo-2024-04-09 gpt-4o, 2024-05-13 gpt-4-32k, 0613 gpt-35-turbo, 1106 gpt-35-turbo, 0125
australiaeast
brazilsouth - - -
canadacentral - - - - -
canadaeast - - -
eastus -
eastus2 -
francecentral - - -
germanywestcentral - -
japaneast - - -
koreacentral - - -
northcentralus -
norwayeast - - - - -
польшацентральная - -
southafricanorth - - - -
southcentralus -
southindia - -
swedencentral
switzerlandnorth
switzerlandwest - - - - - - -
uksouth -
westus -
westus3

Примечание.

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

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

Подготовленные единицы пропускной способности

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

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

При развертывании модели в Azure OpenAI необходимо задать для управляемого sku-name объекта. Указывает sku-capacity количество ПТП, назначенных развертыванию.

az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group  <myResourceGroupName> \
--deployment-name MyDeployment \
--model-name gpt-4 \
--model-version 0613  \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged 

Квота

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

Квота указана в единицах пропускной способности подготовки и зависит от типа развертывания, модели, региона). Квота не является взаимозаменяемой. Это означает, что для GPT-4 нельзя использовать квоту для развертывания GPT-3.5-Turbo.

Несмотря на все попытки обеспечить возможность развертывания квоты, квота не представляет собой гарантию доступности базовой емкости. Служба назначает емкость во время операции развертывания и если емкость недоступна, развертывание завершается ошибкой из-за отсутствия емкости.

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

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

Несколько общих рекомендаций.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. При выполнении запроса:

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

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

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

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

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

Примечание.

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

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

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

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

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