Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O guia a seguir orienta você pelas principais etapas na criação de uma implantação provisionada com seu recurso Microsoft Foundry. Para obter mais detalhes sobre os conceitos discutidos aqui, consulte:
- Guia de Integração do Provisioned Throughput do Foundry
- Conceitos do Provisioned Throughput do Foundry
Pré-requisitos
- Uma assinatura Azure – Criar uma gratuitamente
- Função de Colaborador de Azure ou Colaborador de Serviços Cognitivos
- Um recurso do Foundry em uma região com cota de PTUs disponível
- CLI do Azure - Instale o CLI do Azure (necessário apenas para implantação baseada em CLI)
Verificar a disponibilidade da cota de PTU
As implantações de throughput provisionado são dimensionadas em unidades chamadas Unidades de Throughput Provisionado (PTUs). A cota de PTU para cada tipo de implantação provisionada é concedida a uma assinatura regionalmente e limita o número total de PTUs que podem ser implantadas nessa região em todos os modelos e versões.
A criação de uma nova implantação requer uma cota disponível (não usada) para cobrir o tamanho desejado da implantação. Por exemplo: se uma assinatura tiver o seguinte no Centro-Sul dos EUA:
- Cota total de PTU = 500 PTUs
- Implantações:
- 100 PTUs: GPT-4o, 13/05/2024
- 100 PTUs: DeepSeek-R1, 1
Então, 200 PTUs de cota são considerados usados e há 300 PTUs disponíveis para uso na criação de novas implantações.
Uma quantidade padrão de cota provisionada global, de zona de dados e regional é atribuída a assinaturas qualificadas em várias regiões.
Você pode exibir a cota disponível para você em uma região visitando o painel Quota no painel Microsoft FoundryOperate e selecionando a assinatura e a região desejadas.
Cota adicional pode ser solicitada selecionando o botão Cota de Solicitação .
Criar um recurso do Foundry
As implantações provisionadas são criadas por meio de objetos de recurso do Foundry em Azure. Você deve ter um recurso do Foundry em cada região em que pretende criar uma implantação.
Nota
Os recursos da Foundry podem dar suporte a vários tipos de implantações da Foundry ao mesmo tempo. Não é necessário dedicar novos recursos para suas implantações provisionadas.
Descobrir modelos com a opção de implantação provisionada
Depois de verificar sua cota, você pode criar uma implantação. Navegue até o catálogo de modelos do Foundry para descobrir os modelos com opções de implantação provisionadas.
- Entre no Microsoft Foundry. Verifique se o interruptor da Nova Fundição está ativado. Estas etapas se referem ao Foundry (novo).
- Na página inicial do portal do Foundry, escolha a assinatura que foi habilitada para implantações provisionadas e selecione o recurso desejado em uma região onde você tenha limite de cota disponível.
- Selecione Descobrir na navegação superior direita e, em seguida, Modelos no painel esquerdo.
- Selecione o filtro Collections e filtre por Direct from Azure para ver os modelos mantidos e servidos diretamente pelo Azure. Um conjunto desses modelos oferece suporte à opção de implantação de produtividade provisionada.
- Selecione o modelo que você deseja implantar para abrir seu cartão de modelo.
- Selecione Implantar>Configurações personalizadas para personalizar sua implantação.
- Selecione o Tipo de implantação no menu suspenso para verificar se a implantação provisionada está disponível para o modelo.
Crie sua implantação provisionada – a capacidade está disponível
Você pode criar sua implantação programaticamente usando o comando CLI do Azure a seguir. Para especificar o tipo de implantação, modifique o sku-name tipo de implantação para GlobalProvisionedManaged, DataZoneProvisionedManagedou ProvisionedManaged com base no tipo de implantação pretendido. Atualize o campo sku-capacity com o número desejado de unidades de taxa de transferência provisionadas.
az cognitiveservices account deployment create \
--name <myResourceName> \
--resource-group <myResourceGroupName> \
--deployment-name MyModel \
--model-name GPT-4 \
--model-version 0613 \
--model-format OpenAI \
--sku-capacity 100 \
--sku-name ProvisionedManaged
REST, modelos ARM, Bicep e Terraform também podem ser usados para criar implantações. Consulte a seção sobre automação de implantações no guia de instruções do Gerenciamento de Cotas e substitua o sku.name por GlobalProvisionedManaged, DataZoneProvisionedManaged ou ProvisionedManaged em vez de Standard.
Opcionalmente, compre uma reserva
Após a criação de sua implantação, talvez você queira comprar um desconto por período por meio de Instâncias de Máquinas Virtuais Reservadas do Azure. Uma reserva de Azure pode fornecer um desconto substancial na taxa por hora para os usuários que pretendem usar a implantação além de alguns dias.
Para obter mais informações sobre o modelo de compra e as reservas, consulte:
- Economizar custos com reservas de taxa de transferência provisionadas do Microsoft Foundry.
- Guia de Integração do Provisioned Throughput do Foundry
- Guia para reservas de taxa de transferência provisionadas pelo Foundry
Importante
A disponibilidade de capacidade para implantações de modelo é dinâmica e muda com frequência entre regiões e modelos. Para impedir que você compre uma reserva para mais PTUs do que pode usar, crie implantações primeiro e, em seguida, compre a reserva Azure para cobrir as PTUs implantadas. Essa prática recomendada garantirá que você possa aproveitar ao máximo o desconto de reserva e impedir que você adquire um compromisso de termo que não possa usar.
Realizar suas primeiras chamadas de inferência
O código de inferência para implantações provisionadas é o mesmo que um tipo de implantação padrão. O snippet de código a seguir mostra uma chamada de conclusão de chat para um modelo GPT-4. Pela primeira vez usando esses modelos programaticamente, recomendamos começar com nosso guia de início rápido. Nossa recomendação é usar a biblioteca OpenAI com a versão 1.0 ou superior, pois isso inclui lógica de repetição dentro da biblioteca.
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-10-21"
)
response = client.chat.completions.create(
model="gpt-4", # model = "deployment_name".
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure services support this too?"}
]
)
print(response.choices[0].message.content)
Importante
Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte este artigo de segurança .
Entender a taxa de transferência esperada
A quantidade de taxa de transferência que você pode obter no ponto de extremidade é um fator do número de PTUs implantadas, do tamanho da entrada, do tamanho da saída e da taxa de chamada. O número de chamadas simultâneas e o total de tokens processados pode variar com base nesses valores.
Medir a utilização da implantação
Quando você implanta um número específico de unidades de produtividade provisionadas (PTUs), uma quantidade definida de inferência de produtividade é disponibilizada para esse ponto de extremidade. A utilização dessa produtividade é uma fórmula complexa baseada no modelo, na taxa de chamadas da versão do modelo, no tamanho da solicitação e no tamanho da geração. Para simplificar esse cálculo, fornecemos uma métrica de utilização em Azure Monitor. Sua implantação retorna um 429 em novas chamadas depois que a utilização aumenta acima de 100%. A utilização provisionada é definida da seguinte maneira:
Utilização de implantação de PTU = (PTUs consumidas no período de tempo) / (PTUs implantadas no período de tempo)
Você pode encontrar a medida de utilização na seção Azure-Monitor do recurso. Para acessar os painéis de monitoramento, entre em https://portal.azure.com, vá até o recurso do OpenAI do Azure e selecione a página Métricas na navegação à esquerda. Na página de métricas, selecione a métrica "Utilização gerenciada provisionada V2". Se você tiver mais de uma implantação no recurso, também deverá dividir os valores por cada implantação selecionando o botão "Aplicar Divisão".
Gerenciar alta utilização
As implantações provisionadas fornecem uma quantidade alocada de capacidade de computação para executar um determinado modelo. A métrica "Provisioned-Managed Utilization V2" no Azure Monitor mede a utilização da implantação em incrementos de um minuto. As implantações Provisionadas-Gerenciadas também são otimizadas para que as chamadas aceitas sejam processadas com uma latência máxima consistente por chamada. Quando a carga de trabalho excede sua capacidade alocada, o serviço retorna um código de status HTTP 429 até que a utilização cai abaixo de 100%. O tempo antes de tentar novamente é fornecido nos cabeçalhos retry-after e retry-after-ms da resposta, que fornecem o tempo em segundos e milissegundos, respectivamente. Essa abordagem mantém os objetivos de latência por chamada, permitindo que o desenvolvedor tenha controle sobre como lidar com situações de alta carga – por exemplo, tentar novamente ou desviar para outro endereço de destino/experiência.
O que devo fazer quando receber uma resposta 429?
Uma resposta 429 indica que as PTUs alocadas são totalmente consumidas no momento da chamada. A resposta inclui os cabeçalhos retry-after-ms e retry-after que informam o tempo de espera antes que a próxima chamada seja aceita. A maneira como você escolhe lidar com uma resposta 429 depende dos requisitos do aplicativo. Aqui estão algumas considerações:
- Se você estiver bem com latências mais longas por chamada, implemente a lógica de repetição do lado do cliente para aguardar o tempo
retry-after-mse tente novamente. Essa abordagem permite maximizar o throughput na implementação. Os SDKs de cliente fornecidos pela Microsoft já cuidam disso com configurações padrão razoáveis. Talvez você ainda precise de ajustes adicionais com base em seus casos de uso. - Considere 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. O sinal 429 não é uma resposta de erro inesperada ao efetuar push para alta utilização, mas sim para parte do design para gerenciar filas e a alta carga para implantações provisionadas.
Modificando a lógica de repetição dentro das bibliotecas de cliente
Os SDKs do OpenAI do Azure repetem 429 respostas por padrão e nos bastidores do cliente (até o máximo de repetições). As bibliotecas respeitam o tempo retry-after. Você também pode modificar o comportamento de repetição para se adequar melhor à sua experiência. Aqui está um exemplo com a biblioteca python.
Você pode usar a opção max_retries para definir ou desabilitar as configurações de repetição:
import os
from openai import AzureOpenAI
# Configure the default for all requests:
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-10-21",
max_retries=5,# default is 2
)
# Or, configure per-request:
client.with_options(max_retries=5).chat.completions.create(
model="gpt-4", # model = "deployment_name".
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure services support this too?"}
]
)
Executar um teste de desempenho
O desempenho exato e o throughput de sua instância dependem do tipo de solicitações que você faz e da carga de trabalho exata. A melhor maneira de determinar a taxa de transferência para sua carga de trabalho é executar um benchmark em seus próprios dados.
Para ajudá-lo nesse trabalho, a ferramenta de benchmarking fornece uma maneira de executar facilmente parâmetros de comparação em sua implantação. A ferramenta vem com várias formas de carga de trabalho pré-configuradas possíveis e gera as principais métricas de desempenho. Saiba mais sobre a ferramenta e as configurações em nosso repositório de GitHub: https://github.com/Azure/azure-openai-benchmark.
Recomendamos o seguinte fluxo de trabalho:
- Faça uma estimativa de suas PTUs de produtividade usando a calculadora de capacidade.
- Execute um teste de benchmark com essa forma de tráfego por um período prolongado (mais de 10 minutos) para observar os resultados em um estado constante.
- Observe a utilização, os tokens processados e os valores de taxa de chamadas da ferramenta de benchmark e do Azure Monitor.
- Execute um benchmark com sua própria forma de tráfego e cargas de trabalho usando sua implementação de cliente. Certifique-se de implementar a lógica de repetição usando uma biblioteca de clientes Azure OpenAI ou uma lógica personalizada.
Conteúdo relacionado
- Para obter mais informações sobre as práticas recomendadas do aplicativo de nuvem, confira as práticas recomendadas em aplicativos de nuvem
- Para obter mais informações sobre implantações provisionadas, confira o que é taxa de transferência provisionada?
- Para obter mais informações sobre a lógica de repetição em cada SDK, confira: