O que é taxa de transferência provisionada?
Observação
A oferta provisionada do Serviço OpenAI do Azure 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 transição para uma cota independente de modelo. É altamente recomendável que os clientes integrados antes desta data leiam a atualização de agosto do OpenAI do Azure provisionado para entender melhor essas mudanças.
A funcionalidade da taxa de transferência provisionada permite que você especifique 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 ele esteja pronto para você. A taxa de transferência é definida em termos de PTU (unidades de taxa de transferência provisionada), que é uma maneira normalizada de representar a taxa de transferência para sua implantação. Cada par de modelo/versão requer diferentes quantidades de PTU para implantar e fornecer diferentes quantidades de taxa de transferência por PTU.
O que os tipos de implantação provisionada fornecem?
- 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 estará disponível, sendo usada ou não.
- Economia de custos: as cargas de trabalho com alta taxa de transferência podem oferecer economia de custos em comparação com o consumo baseado em token.
Uma implantação do OpenAI do Azure é uma unidade de gerenciamento para um modelo de OpenAI específico. Uma implantação fornece acesso ao cliente a um modelo de inferência e integra mais recursos, como a Moderação de Conteúdo (Consulte a documentação da moderação de conteúdo). As implantações provisionadas globais estão disponíveis nos mesmos recursos da OpenAI do Azure 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 você obtém?
Tópico | Provisionado |
---|---|
O que é isso? | Fornece uma taxa de transferência garantida em incrementos menores do que a oferta provisionada existente. As implantações terão uma latência máxima consistente para determinado modelo/versão. |
Para quem são? | Clientes que desejam uma taxa de transferência garantida com uma variação de latência mínima. |
Cota | 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 do OpenAI do Azure disponível. |
Latência | Latência máxima restrita do modelo. A latência geral é um fator de forma de chamada. |
Utilização | A medição de Utilização Gerenciada Provisionada V2 é fornecida no Azure Monitor. |
Estimando o tamanho | Calculadora fornecida no script de benchmarking e Azure AI Foundry. |
Armazenamento de prompts em cache | Para modelos com suporte, descontamos até 100% dos tokens de entrada armazenados em cache. |
Quanto de taxa de transferência por PTU você obtém para cada modelo
A quantidade de produtividade (tokens por minuto ou TPM) que uma implantação alcança por PTU é uma função dos tokens de entrada e saída no minuto. Gerar tokens de saída requer mais processamento do que tokens de entrada e, portanto, quanto mais tokens de saída forem 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 de entrada e de saída específicos. 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 modelos gpt-4o
e gpt-4o-mini
, que representam o TPM máximo assumindo 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, confira a calculadora de capacidade do Serviço OpenAI do Azure. A tabela também mostra valores de destino de latência de Contrato de Nível de Serviço (SLA) por modelo. Para mais informações sobre o SLA para o Serviço OpenAI do Azure, confira a página Contratos de Nível de Serviço (SLA) para Serviços Online
Tópico | gpt-4o, 2024-05-13 e gpt-4o, 2024-08-06 | gpt-4o-mini, 2024-07-18 |
---|---|---|
Implantação mínima provisionada globalmente e em zona de dados | 15 | 15 |
Incremento de escala provisionada de zona de dados e global | 5 | 5 |
Implantação mínima provisionada regionalmente | 50 | 25 |
Incremento de escala provisionado regionalmente | 50 | 25 |
TPM de Entrada Máxima por PTU | 2\.500 | 37.000 |
TPM de Saída Máxima por PTU | 833 | 12.333 |
Valor de Destino de Latência | 25 Tokens Por Segundo | 33 Tokens Por Segundo |
Para uma lista completa, veja a calculadora AOAI no IA do Azure Foundry.
Observação
No momento, só há suporte para implementações com provisionamento global para os modelos gpt-4o, 2024-08-06 e gpt-4o-mini, 2024-07-18. Atualmente, as implantações provisionadas de zona de dados só têm suporte para modelos gpt-4o, 2024-08-06, gpt-4o, 2024-05-13, gpt-4o-mini e 2024-07-18. Para obter mais informações sobre a disponibilidade do modelo, confira a documentação de modelos.
Conceitos principais
Tipos de implantaçã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 Gerenciada e Provisionada Globalmente, Gerenciada e Provisionada em Zona de Dados ou Gerenciada e Provisionada Regionalmente, dependendo das necessidades de processamento de dados para a carga de trabalho fornecida.
Ao criar uma implantação provisionada no Azure OpenAI por meio da CLI ou da API, o sku-name
pode ser definido 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 parâmetro sku-name
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
Cota
Unidades de taxa de transferência provisionada
As PTUs (unidades de produtividade provisionadas) são unidades genéricas de capacidade de processamento de modelo que você pode usar para dimensionar implantações provisionadas e atingir a produtividade necessária para processar solicitações e gerar conclusões. Unidades de produtividade 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.
Cota independente do modelo
Diferentemente da cota de TPM (tokens por minuto) utilizada por outras ofertas do Serviço OpenAI do Azure, as PTUs são independentes do modelo. As PTUs podem ser usadas para implantar qualquer modelo/versão compatível com a região.
Para implantações provisionadas, a nova cota aparece no Azure AI Foundry como um item de cota nomeado Unidade de Produtividade Gerenciada Provisionada. Para implantações provisionadas globais, a nova cota aparece no Azure AI Foundry como um item de cota nomeado Unidade de Produtividade Gerenciada Provisionada Global. Para implantações provisionadas, a nova cota aparece no Azure AI Foundry como um item de cota nomeado Unidade de Produtividade Gerenciada Provisionada em Zona de Dados. No painel de Cotas do Foundry, expandir o item de cota mostra as implantações que contribuem para o uso de cada cota.
Obter a cota de PTU
A cota de PTU está disponível por padrão em muitas regiões. Se for necessária mais cota, os clientes poderão solicitar cota por meio do link Solicitar Cota. Esse 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 email no endereço fornecido assim que a solicitação for aprovada, normalmente dentro de dois dias úteis.
Mínimos de PTU por modelo
A capacidade mínima de implantação, incrementos e processamento de PTU associada a cada unidade varia de acordo com o tipo de modelo e versão.
Transparência de capacidade
O OpenAI do Azure é um serviço altamente requisitado, onde a demanda dos clientes pode exceder a capacidade de GPU do serviço. A Microsoft se esforça para fornecer capacidade para todas as regiões e modelos sob demanda, mas a possibilidade de esgotar as vendas em uma região sempre existe. Essa restrição pode limitar a capacidade de alguns clientes de criar uma implantação do modelo, versão ou número desejados de PTUs em uma região específica, mesmo que tenham cota disponível nessa região. De modo geral:
- A cota estabelece um limite de número máximo de PTUs que podem ser implantadas em uma assinatura e região, mas 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 do serviço não estiver disponível, a implantação falhará
- Os clientes usam informações em tempo real sobre disponibilidade de cota/capacidade para escolher uma região apropriada para seu cenário, com a capacidade de modelo necessária
- Reduzir a escala ou excluir uma implantação libera a capacidade de volta para a região. No entanto, não há garantia de que a capacidade estará disponível caso a implantação seja expandida ou recriada posteriormente.
Diretrizes sobre a 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 IA do Azure 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. Isso analisa o modelo, a versão e o número desejados de PTUs. Se a capacidade não estiver disponível, a experiência direcionará os usuários para selecionar uma região alternativa.
Encontre mais detalhes sobre a nova experiência de implantação no Guia de introdução do OpenAI do Azure Provisionado.
A nova API de capacidades do modelo pode ser usada para identificar programaticamente a implantação de tamanho máximo de um modelo especificado. A API considera tanto sua cota quanto a capacidade de serviço na região.
Se uma região aceitável não estiver disponível para dar suporte ao modelo, versão e/ou PTUs desejados os clientes também poderão tentar as seguintes etapas:
- Tentar realizar a implantação com um número menor de PTUs.
- Tentar realizar a implantação em um momento diferente. A disponibilidade de capacidade muda dinamicamente com base na demanda dos clientes, e mais capacidade pode ficar disponível posteriormente.
- Verifique se a cota está disponível em todas as regiões aceitáveis. A API de capacidades do modelo e a experiência do IA do Azure Foundry consideram a disponibilidade de cota no retorno de regiões alternativas para criar uma implantação.
Determinando o número de PTUs necessários para uma carga de trabalho
As PTUs representam uma quantidade de capacidade de processamento do modelo. De forma semelhante ao seu computador ou banco de dados, diferentes cargas de trabalho ou solicitações ao modelo consumirão diferentes quantidades de capacidade de processamento subjacente. A conversão das características do formato da chamada (tamanho da solicitação, 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 OpenAI do Azure para dimensionar formas específicas de carga de trabalho.
Algumas considerações de alto nível:
- As gerações exigem mais capacidade do que os prompts
- Para modelos GPT-4o e posteriores, o TPM por PTU é definido para tokens de entrada e de saída separadamente. Para modelos anteriores, chamadas maiores são progressivamente mais caras para serem computadas. Por exemplo, 100 chamadas com um tamanho de solicitação de 1000 tokens exigirão menos capacidade do que uma chamada com 100.000 tokens na solicitação. Essa disposição em camadas também significa que a distribuição desses formatos de chamada é importante para a produtividade geral. Os padrões de tráfego com uma distribuição ampla que inclui algumas chamadas grandes podem ter uma produtividade menor por PTU do que uma distribuição mais restrita com os mesmos tamanhos médios dos tokens de solicitação e conclusão.
Como funciona o desempenho de utilização
As implantações provisionadas fornecem a você uma quantidade alocada de capacidade de computação para executar um determinado modelo.
Em todos os tipos de implantação provisionada, quando a capacidade for excedida, a API retornará imediatamente 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 paga conforme o uso ou usar uma estratégia de repetição para gerenciar uma determinada solicitação. O serviço continuará retornando o código de status HTTP 429 até que a utilização caia abaixo de 100%.
Como posso monitorar a capacidade?
A métrica Uso Provisionado-Gerenciado V2 no Azure Monitor mede uma determinada utilização de implantação em incrementos de um minuto. Todos os tipos de implantação provisionada 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, em vez disso, parte do design para dizer aos usuários que uma determinada implantação é totalmente utilizada em um momento. Ao fornecer uma resposta de falha rápida, você tem controle sobre como lidar com essas situações de maneira que melhor atenda aos seus requisitos de aplicativo.
Os cabeçalhos retry-after-ms
e retry-after
na resposta informam o tempo de espera antes que a próxima chamada seja aceita. A forma de lidar com essa resposta depende dos requisitos do seu aplicativo. Estas são algumas considerações:
- Você pode pensar em redirecionar o tráfego para outros modelos, implantações ou experiências. Essa abordagem é a solução de menor latência porque essa ação pode ser tomada assim que você recebe o sinal 429. Para obter ideias sobre como implementar efetivamente esse padrão, consulte esta Postagem da comunidade.
- Se você não tem problemas com latências mais longas por chamada, implemente a lógica de repetição do lado do cliente. Essa opção oferece a você a maior quantidade de taxa de transferência por PTU. As bibliotecas de clientes do OpenAI do Azure incluem recursos internos para lidar com novas 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 o tamanho da solicitação, tamanho de geração esperado e modelo para determinar sua utilização esperada. Isso contrasta com implantações pagas conforme o uso, que têm um comportamento de limitação de taxa personalizada com base na carga de tráfego estimada. Para implantações pagas conforme o uso, isso pode levar à geração de erros HTTP 429s antes de valores de cota definidos serem excedidos se o tráfego não for distribuído uniformemente.
Para implantações provisionadas, usamos uma variação do algoritmo Leaky Bucket para manter a utilização abaixo de 100%, permitindo alguma intermitência 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 uma solicitação é feita:
a. Quando a utilização atual está acima de 100%, o serviço retorna um código 429 com o cabeçalho
retry-after-ms
definido como o tempo até que a utilização esteja abaixo de 100%b. Caso contrário, o serviço estima a alteração incremental para utilização necessária para atender à solicitação combinando tokens de prompt e o
max_tokens
especificado na chamada. Os tokens armazenados em cache são subtraídos do valor do token de prompt em solicitações que incluem pelo menos 1024 tokens armazenados em cache. Um cliente pode receber até 100% de desconto em seus tokens de prompt, dependendo do tamanho daqueles armazenados em cache. Se o parâmetromax_tokens
não for especificado, o serviço estimará um valor. Essa estimativa pode levar a uma simultaneidade menor do que a esperada quando o número de tokens reais gerados é pequeno. Para maior simultaneidade, verifique se o valormax_tokens
é o mais próximo possível do tamanho da geração real.Quando uma solicitação é concluída, passamos a saber o custo real de computação para a chamada. Para garantir uma contabilidade precisa, corrigimos a utilização usando a seguinte lógica:
a. Se o > real for estimado, a diferença será adicionada à utilização da implantação.
b. Se o < real for estimado, a diferença será subtraída.
A utilização geral é decrementada a uma taxa contínua com base no número de PTUs implantadas.
Observação
As chamadas são aceitas até que a utilização alcance 100%. As intermitências acima de 100% podem ser permitidas em períodos curtos, mas, ao longo do 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 alcançar depende da forma de cada chamada (tamanho da solicitação, parâmetro max_token etc.). O serviço continuará aceitando chamadas até que a utilização chegue a 100%. Para determinar o número aproximado de chamadas simultâneas, você pode modelar o máximo de solicitações por minuto para uma forma de chamada específica 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-Preview | gpt-4, 0125-Preview | 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 | ✅ | - | ✅ | ✅ | - | ✅ | - | ✅ | - | - |
polandcentral | ✅ | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
southafricanorth | ✅ | - | - | ✅ | ✅ | - | ✅ | ✅ | ✅ | - |
southcentralus | ✅ | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
southindia | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | ✅ | ✅ | ✅ |
swedencentral | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
switzerlandnorth | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
switzerlandwest | - | - | - | - | - | - | - | - | - | ✅ |
uaenorth | ✅ | - | - | - | ✅ | - | - | - | ✅ | ✅ |
uksouth | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
westus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
westus3 | ✅ | ✅ | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Observação
A versão provisionada da gpt-4
Versão: turbo-2024-04-09
atualmente está limitada apenas a texto.