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 provisionados 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 provisionadas globais estão disponíveis nos mesmos recursos do Azure OpenAI que todos os outros tipos de implantação, 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. Da mesma forma, as implantações provisionadas de zona de dados também estão disponíveis nos mesmos recursos que todos os outros tipos de implantação, mas permitem que você aproveite a infraestrutura global do Azure para rotear dinamicamente o tráfego para o data center dentro da zona de dados especificada pela Microsoft 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, Unidade de Taxa de Transferência Gerenciada Provisionada Global ou Unidade de Taxa de Transferência Gerenciada Provisionada de Zona de Dados 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 Azure AI Foundry & script de benchmarking. |
Cache de prompt | Para modelos suportados, descontamos até 100% dos tokens de entrada armazenados em cache. |
Quanta taxa de transferência por PTU você obtém 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
que representam o TPM máximo, supondo que todo o tráfego seja de entrada ou saída. Para entender como diferentes proporções de tokens de entrada e saída afetam seu TPM máximo por PTU, consulte a calculadora de capacidade do Azure OpenAI. A tabela também mostra os Valores de Destino de Latência do Acordo de Nível de Serviço (SLA) por modelo. Para obter mais informações sobre o SLA para o Serviço OpenAI do Azure, consulte a página Contratos de Nível de Serviço (SLA) para Serviços Online
Tópico | GPT-4O, 2024-05-13 & GPT-4O, 2024-08-06 | GPT-4O-Mini, 2024-07-18 |
---|---|---|
Implantação mínima provisionada da zona de dados Global & | 15 | 15 |
Incremento de escala provisionada da zona de dados global & | 5 | 5 |
Implantação mínima provisionada regional | 50 | 25 |
Incremento de escala provisionada regional | 50 | 25 |
TPM de entrada máxima por PTU | 2500 | 37,000 |
Saída máxima TPM por PTU | 833 | 12,333 |
Valor de destino de latência | 25 tokens por segundo | 33 tokens por segundo |
Para obter uma lista completa, consulte o Serviço OpenAI do Azure na calculadora do portal do Azure AI Foundry.
Nota
No momento, as implantações provisionadas globais são suportadas apenas para os modelos gpt-4o, 2024-08-06 e gpt-4o-mini, 2024-07-18. As implantações provisionadas de zona de dados são suportadas apenas para os modelos gpt-4o, 2024-08-06, gpt-4o, 2024-05-13 e gpt-4o-mini, 2024-07-18 no momento. Para obter mais informações sobre a disponibilidade do modelo, consulte a documentação dos modelos.
Conceitos-chave
Tipos de implementação
Ao criar uma implantação provisionada no Azure AI Foundry, o tipo de implantação na caixa de diálogo Criar Implantação pode ser definido como o tipo de implantação Global Provisioned-Managed, DataZone Provisioned-Managed ou regional Provisioned-Managed dependendo das necessidades de processamento de dados para uma determinada carga de trabalho.
Ao criar uma implantação provisionada no Azure OpenAI via CLI ou API, a sku-name
pode ser definida como GlobalProvisionedManaged
, DataZoneProvisionedManaged
ou ProvisionedManaged
dependendo da necessidade de processamento de dados para a carga de trabalho fornecida. Para adaptar o comando de exemplo da CLI do Azure abaixo a um tipo de implantação diferente, basta atualizar o sku-name
parâmetro para corresponder ao tipo de implantação que você deseja implantar.
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.
Para implantações provisionadas, a nova cota aparece no Azure AI Foundry como um item de cota chamado Unidade de Taxa de Transferência Gerenciada Provisionada. Para implantações provisionadas globais, a nova cota aparece no Azure AI Foundry como um item de cota chamado Unidade de Taxa de Transferência Gerenciada Provisionada Global. Para implantações provisionadas de zona de dados, a nova cota aparece no Azure AI Foundry como um item de cota chamado Unidade de Taxa de Transferência Gerenciada Provisionada da Zona de Dados. No painel Cota de Fundição, a expansão do item de cota mostra as implantações que contribuem para o uso de cada cota.
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 de tipo de implantação provisionada designadas no Azure AI Foundry 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 Azure AI Foundry para fornecer informações em tempo real sobre a disponibilidade de capacidade.
No Azure AI Foundry, 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 capacidade 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 sua cota e 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. A API de capacidades do modelo e a experiência do Azure AI Foundry consideram a disponibilidade de cota no retorno de regiões alternativas 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 fornecem uma quantidade alocada de capacidade de processamento de modelo para executar um determinado modelo.
Em todos os tipos de implantação provisionada, 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. Todos os tipos de implantação provisionados são otimizados 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?
Em todos os tipos de implantação provisionada, 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 implantações provisionadas, 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:
Cada cliente tem uma quantidade definida de capacidade que pode utilizar em uma implantação
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. Para solicitações que incluem pelo menos 1024 tokens armazenados em cache, os tokens armazenados em cache são subtraídos do valor do token de prompt. Um cliente pode receber até 100% de desconto em seus tokens de prompt, dependendo do tamanho de seus tokens armazenados em cache. Se omax_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 omax_tokens
mais próximo possível do tamanho real da geração.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 da implantação.
b. Se o real < estimado, então a diferença é subtraída.
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.
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-4O, 2024-05-13 | GPT-4O, 2024-08-06 | GPT-4O-Mini, 2024-07-18 | GPT-4, 0613 | gpt-4, 1106-Pré-visualização | gpt-4, 0125-Pré-visualização | GPT-4, turbo-2024-04-09 | 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 | - | - | - | - | - | - | - | - | - | ✅ |
uaenorth | ✅ | - | - | - | ✅ | - | - | - | ✅ | ✅ |
uksouth | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
westus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
westus3 | ✅ | ✅ | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Nota
A versão provisionada de gpt-4
Version: turbo-2024-04-09
está atualmente limitada apenas ao texto.