Partilhar via


O que é taxa de transferência provisionada?

Nota

A oferta Azure OpenAI Provisioned recebeu atualizações significativas em 12 de agosto de 2024, incluindo o alinhamento do modelo de compra com os padrões do Azure e a mudança para uma cota independente de modelo. É altamente recomendável que os clientes integrados antes dessa data leiam a atualização de agosto provisionada do Azure OpenAI para saber mais sobre essas alterações.

O recurso de taxa de transferência provisionada permite especificar a quantidade de taxa de transferência necessária em uma implantação. Em seguida, o serviço aloca a capacidade de processamento de modelo necessária e garante que ela esteja pronta para você. A taxa de transferência é definida em termos de unidades de taxa de transferência provisionadas (PTU), que é uma maneira normalizada de representar a taxa de transferência para sua implantação. Cada par modelo-versão requer quantidades diferentes de PTU para implantar e fornecer quantidades diferentes de taxa de transferência por PTU.

O que os tipos de implantação provisionada e global provisionada oferecem?

  • Desempenho previsível: latência máxima estável e taxa de transferência para cargas de trabalho uniformes.
  • Capacidade de processamento reservada: uma implantação configura a quantidade de taxa de transferência. Uma vez implantada, a taxa de transferência fica disponível independentemente de ser usada ou não.
  • Economia de custos: cargas de trabalho de alto rendimento podem proporcionar economia de custos versus consumo baseado em token.

Uma Implantação do Azure OpenAI é uma unidade de gerenciamento para um Modelo OpenAI específico. Uma implantação fornece ao cliente acesso a um modelo para inferência e integra mais recursos, como moderação de conteúdo (consulte a documentação de moderação de conteúdo). As implantações globais estão disponíveis nos mesmos recursos do Azure OpenAI que os tipos de implantação não globais, mas permitem que você aproveite a infraestrutura global do Azure para rotear dinamicamente o tráfego para o data center com a melhor disponibilidade para cada solicitação.

O que obtém?

Tópico Aprovisionado
O que é? Fornece taxa de transferência garantida em incrementos menores do que a oferta provisionada existente. As implantações têm uma latência máxima consistente para uma determinada versão do modelo.
A quem se destina? Clientes que desejam taxa de transferência garantida com variação mínima de latência.
Quota Unidade de Taxa de Transferência Gerenciada Provisionada ou Unidade de Taxa de Transferência Gerenciada Provisionada Global atribuída por região. A cota pode ser usada em qualquer modelo OpenAI do Azure disponível.
Latência Latência máxima restrita a partir do modelo. A latência geral é um fator de forma de chamada.
Utilização Medida de Utilização V2 gerenciada provisionada fornecida no Azure Monitor.
Estimativa do tamanho Calculadora fornecida no estúdio & script de benchmarking.

Quanto você recebe por PTU para cada modelo

A quantidade de taxa de transferência (tokens por minuto ou TPM) que uma implantação recebe por PTU é uma função dos tokens de entrada e saída no minuto. A geração de tokens de saída requer mais processamento do que os tokens de entrada e, portanto, quanto mais tokens de saída gerados, menor será o TPM geral. O serviço equilibra dinamicamente os custos de entrada e saída, para que os usuários não precisem definir limites específicos de entrada e saída. Essa abordagem significa que sua implantação é resiliente a flutuações na forma da carga de trabalho.

Para ajudar a simplificar o esforço de dimensionamento, a tabela a seguir descreve o TPM por PTU para os gpt-4o modelos e gpt-4o-mini

GPT-4O, 2024-05-13 & GPT-4O, 2024-08-06 GPT-4O-Mini, 2024-07-18
Incrementos implantáveis 50 25
TPM de entrada por PTU 2500 37,000
TPM de saída por PTU 833 12,333

** Para obter uma lista completa, consulte o calcualator AOAI Studio

Conceitos-chave

Tipos de implementação

Ao criar uma implantação provisionada no Azure OpenAI Studio, o tipo de implantação na caixa de diálogo Criar Implantação é Provisionado-Gerenciado. Ao criar uma implantação gerenciada provisionada global no Azure Open Studio, o tipo de implantação na caixa de diálogo Criar Implantação é Global Provisioned-Managed.

Ao criar uma implantação provisionada no Azure OpenAI via CLI ou API, você precisa definir o sku-name como .ProvisionedManaged Ao criar uma implantação provisionada global no Azure OpenAI via CLI ou API, você precisa definir o sku-name como .GlobalProvisionedManaged O sku-capacity especifica o número de PTUs atribuídas à implantação.

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 

Quota

Unidades de taxa de transferência provisionadas

As unidades de taxa de transferência provisionadas (PTU) são unidades genéricas de capacidade de processamento de modelo que você pode usar para dimensionar implantações provisionadas para atingir a taxa de transferência necessária para processar prompts e gerar conclusão. As unidades de taxa de transferência provisionadas são concedidas a uma assinatura como cota. Cada cota é específica para uma região e define o número máximo de PTUs que podem ser atribuídas a implantações nessa assinatura e região.

Modelo de quota independente

Ao contrário da cota de Tokens por Minuto (TPM) usada por outras ofertas do Azure OpenAI, as PTUs são independentes do modelo. As PTUs podem ser usadas para implantar qualquer modelo/versão suportado na região.

Diagrama de cota independente de modelo com um pool de PTUs disponíveis para vários modelos do Azure OpenAI.

Para implantações provisionadas, a nova cota aparece no Azure OpenAI Studio como um item de cota chamado Unidade de Taxa de Transferência Gerenciada Provisionada. Para implantações gerenciadas provisionadas globais, a nova cota aparece no Azure OpenAI Studio como um item de cota chamado Unidade de Taxa de Transferência Gerenciada Provisionada Global. No painel Cota de Estúdio, expandir o item de cota mostra as implantações que contribuem para o uso de cada cota.

Captura de tela da interface do usuário de cota para o Azure OpenAI provisionada.

Obtenção de Quota PTU

A cota PTU está disponível por padrão em muitas regiões. Se for necessária mais quota, os clientes podem solicitar a quota através da ligação Solicitar quota. Este link pode ser encontrado à direita das guias de cota Unidade de Taxa de Transferência Gerenciada Provisionada ou Unidade de Taxa de Transferência Gerenciada Global Provisionada no Azure OpenAI Studio. O formulário permite que o cliente solicite um aumento na cota de PTU especificada para uma determinada região. O cliente recebe um e-mail no endereço incluído assim que o pedido é aprovado, normalmente no prazo de dois dias úteis.

Mínimos de PTU por modelo

A implantação, os incrementos e a capacidade de processamento mínimos de PTU associados a cada unidade variam de acordo com o tipo de modelo e a versão.

Transparência da capacidade

O Azure OpenAI é um serviço altamente procurado em que a demanda do cliente pode exceder a capacidade da GPU de serviço. A Microsoft se esforça para fornecer capacidade para todas as regiões e modelos sob demanda, mas vender uma região é sempre uma possibilidade. Essa restrição pode limitar a capacidade de alguns clientes de criar uma implantação do modelo, versão ou número de PTUs desejados em uma região desejada - mesmo que eles tenham cota disponível nessa região. De um modo geral:

  • A cota impõe um limite ao número máximo de PTUs que podem ser implantadas em uma assinatura e região, e não garante a disponibilidade de capacidade.
  • A capacidade é alocada no momento da implantação e é mantida enquanto a implantação existir. Se a capacidade de serviço não estiver disponível, a implantação falhará
  • Os clientes usam informações em tempo real sobre a disponibilidade de cota/capacidade para escolher uma região apropriada para seu cenário com a capacidade de modelo necessária
  • Reduzir ou excluir uma implantação libera a capacidade de volta para a região. Não há garantia de que a capacidade estará disponível caso a implantação seja ampliada ou recriada posteriormente.

Orientação da capacidade regional

Para encontrar a capacidade necessária para suas implantações, use a API de capacidade ou a experiência de implantação do Studio para fornecer informações em tempo real sobre a disponibilidade da capacidade.

No Azure OpenAI Studio, a experiência de implantação identifica quando uma região não tem a capacidade necessária para implantar o modelo. Este analisa o modelo, a versão e o número de PTUs desejados. Se a cpacidade não estiver disponível, a experiência direcionará os usuários para uma região alternativa selecionada.

Detalhes sobre a nova experiência de implantação podem ser encontrados no guia de introdução do Azure OpenAI Provisioned.

A API de capacidades do novo modelo pode ser usada para identificar programaticamente a implantação de tamanho máximo de um modelo especificado. A API considera a sua cota e a capacidade de serviço na região.

Se uma região aceitável não estiver disponível para suportar o modelo, a versão e/ou as PTUs desejadas, os clientes também podem tentar as seguintes etapas:

  • Tente a implantação com um número menor de PTUs.
  • Tente a implantação em um momento diferente. A disponibilidade da capacidade muda dinamicamente com base na demanda do cliente e mais capacidade pode ficar disponível mais tarde.
  • Garantir que a quota está disponível em todas as regiões aceitáveis. As capacidades do modelo, a API e a experiência do Studio consideram a disponibilidade de cota em regiões alternativas de retorno para a criação de uma implantação.

Determinar o número de PTUs necessárias para uma carga de trabalho

As PTUs representam uma quantidade de capacidade de processamento de modelos. Semelhante ao seu computador ou bancos de dados, diferentes cargas de trabalho ou solicitações para o modelo consumirão diferentes quantidades de capacidade de processamento subjacente. A conversão das características da forma da chamada (tamanho do prompt, tamanho da geração e taxa de chamada) para PTUs é complexa e não linear. Para simplificar esse processo, você pode usar a calculadora de Capacidade do Azure OpenAI para dimensionar formas de carga de trabalho específicas.

Algumas considerações de alto nível:

  • As gerações exigem mais capacidade do que os prompts
  • Para GPT-4o e modelos posteriores, o TPM por PTU é definido para tokens de entrada e saída separadamente. Para modelos mais antigos, chamadas maiores são progressivamente mais caras para calcular. Por exemplo, 100 chamadas de com um tamanho de prompt de token 1000 requer menos capacidade do que uma chamada com 100.000 tokens no prompt. Essa hierarquização significa que a distribuição dessas formas de chamada é importante na taxa de transferência geral. Padrões de tráfego com uma ampla distribuição que inclui algumas chamadas grandes podem ter uma taxa de transferência mais baixa por PTU do que uma distribuição mais restrita com os mesmos tamanhos médios de token de solicitação e conclusão.

Como funciona o desempenho de utilização

As implantações provisionadas e globais fornecem uma quantidade alocada de capacidade de processamento de modelo para executar um determinado modelo.

Nas implantações Provisioned-Managed e Global Provisioned-Managed, quando a capacidade for excedida, a API retornará um Erro de Status HTTP 429. Essa resposta rápida permite que o usuário tome decisões sobre como gerenciar seu tráfego. Os usuários podem redirecionar solicitações para uma implantação separada, para uma instância padrão de pagamento conforme o uso ou usar uma estratégia de repetição para gerenciar uma determinada solicitação. O serviço continua a retornar o código de status HTTP 429 até que a utilização caia abaixo de 100%.

Como posso monitorizar a capacidade?

A métrica Utilização Gerenciada Provisionada V2 no Azure Monitor mede uma determinada utilização de implantações em incrementos de 1 minuto. As implantações Provisioned-Managed e Global Provisioned-Managed são otimizadas para garantir que as chamadas aceitas sejam processadas com um tempo de processamento de modelo consistente (a latência real de ponta a ponta depende das características de uma chamada).

O que devo fazer quando receber uma resposta 429?

A resposta 429 não é um erro, mas sim parte do design para dizer aos usuários que uma determinada implantação é totalmente utilizada em um determinado momento. Ao fornecer uma resposta de falha rápida, você tem controle sobre como lidar com essas situações da maneira que melhor se adapta aos requisitos do seu aplicativo.

Os retry-after-ms cabeçalhos e retry-after na resposta informam o tempo de espera antes que a próxima chamada seja aceita. A forma como você escolhe lidar com essa resposta depende dos requisitos do seu aplicativo. Aqui estão algumas considerações:

  • Você pode considerar o redirecionamento do tráfego para outros modelos, implantações ou experiências. Esta opção é a solução de menor latência porque a ação pode ser tomada assim que você receber o sinal 429. Para obter ideias sobre como implementar esse padrão de forma eficaz, consulte esta postagem da comunidade.
  • Se você estiver de acordo com latências mais longas por chamada, implemente a lógica de repetição do lado do cliente. Essa opção oferece a maior quantidade de taxa de transferência por PTU. As bibliotecas de cliente do Azure OpenAI incluem recursos internos para lidar com tentativas.

Como o serviço decide quando enviar um 429?

Nas ofertas Provisioned-Managed e Global Provisioned-Managed, cada solicitação é avaliada individualmente de acordo com seu tamanho de prompt, tamanho de geração esperado e modelo para determinar sua utilização esperada. Isso contrasta com as implantações pré-pagas, que têm um comportamento personalizado de limitação de taxa com base na carga de tráfego estimada. Para implantações pré-pagas, isso pode levar à geração de erros HTTP 429 antes que os valores de cota definidos sejam excedidos se o tráfego não for distribuído uniformemente.

Para Provisioned-Managed e Global Provisioned-Managed, usamos uma variação do algoritmo de bucket com vazamento para manter a utilização abaixo de 100% e, ao mesmo tempo, permitir alguma interrupção no tráfego. A lógica de alto nível é a seguinte:

  1. Cada cliente tem uma quantidade definida de capacidade que pode utilizar em uma implantação

  2. Quando é feito um pedido:

    a. Quando a utilização atual está acima de 100%, o serviço retorna um código 429 com o retry-after-ms cabeçalho definido para o tempo até que a utilização esteja abaixo de 100%

    b. Caso contrário, o serviço estima a alteração incremental na utilização necessária para atender à solicitação combinando tokens de prompt e o especificado max_tokens na chamada. Se o max_tokens parâmetro não for especificado, o serviço estima um valor. Essa estimativa pode levar a uma simultaneidade menor do que o esperado quando o número de tokens gerados real é pequeno. Para maior simultaneidade, certifique-se de que o valor esteja o max_tokens mais próximo possível do tamanho real da geração.

  3. Quando uma solicitação termina, agora sabemos o custo real de cálculo para a chamada. Para garantir uma contabilidade precisa, corrigimos a utilização usando a seguinte lógica:

    a. Se a estimativa real > , a diferença é adicionada à utilização b da implantação. Se o real < estimado, então a diferença é subtraída.

  4. A utilização global é reduzida a uma taxa contínua com base no número de PTUs implantadas.

Nota

As chamadas são aceites até que a utilização atinja os 100%. Rajadas pouco acima de 100% podem ser permitidas em períodos curtos, mas com o tempo, seu tráfego é limitado a 100% de utilização.

Diagrama mostrando como as chamadas subsequentes são adicionadas à utilização.

Quantas chamadas simultâneas posso ter na minha implantação?

O número de chamadas simultâneas que você pode realizar depende da forma de cada chamada (tamanho do prompt, parâmetro max_token, etc.). O serviço continua a aceitar chamadas até que a utilização atinja os 100%. Para determinar o número aproximado de chamadas simultâneas, você pode modelar o máximo de solicitações por minuto para uma determinada forma de chamada na calculadora de capacidade. Se o sistema gerar menos do que o número de tokens de amostragem, como max_token, ele aceitará mais solicitações.

Quais modelos e regiões estão disponíveis para taxa de transferência provisionada?

Região GPT-4, 0613 gpt-4, 1106-Pré-visualização gpt-4, 0125-Pré-visualização GPT-4, turbo-2024-04-09 GPT-4O, 2024-05-13 GPT-4O, 2024-08-06 GPT-4O-Mini, 2024-07-18 GPT-4-32K, 0613 GPT-35-Turbo, 1106 GPT-35-Turbo, 0125
australiaeast
brazilsouth - - -
canadacentral - - - - - - -
canadaeast - - - -
eastus
eastus2
francecentral - - -
germanywestcentral - - -
japaneast - - - -
koreacentral - - - -
northcentralus
norwayeast - - - - - -
PolóniaCentral - -
southafricanorth - - - -
E.U.A Centro-Sul - -
southindia - -
suécia central
norte da suíça -
Suíça Oeste - - - - - - - - -
uksouth - -
westus
westus3 -

Nota

A versão provisionada de gpt-4 Version: turbo-2024-04-09 está atualmente limitada apenas ao texto.

Próximos passos