Implementar modelos open-source com computação gerida (Pré-visualização)

Note

A computação gerida no Foundry está atualmente em versão preliminar. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para trabalhos em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.

A implementação de computação gerida (pré-visualização) no Microsoft Foundry aloja modelos de código aberto em capacidade dedicada de GPU. A Microsoft controla a topologia da GPU, o runtime, a imagem do contentor e os patches de segurança. Escolhe o modelo, o modelo de implementação, a família de aceleradores e o comportamento de escalabilidade que se adequam à sua carga de trabalho. Este artigo percorre o fluxo de trabalho de ponta a ponta para implementar um modelo open-source em computação gerida no Microsoft Foundry.

Neste artigo, você aprenderá a:

  • Escolha um modelo no catálogo de modelos
  • Selecione um modelo de implementação
  • Implemente o modelo usando o portal Foundry ou o SDK Python
  • Realizar inferência usando o SDK OpenAI
  • Escalar e monitorizar a implementação
  • Solicitar mais quotas

Para uma visão geral da implementação de computação gerida no Foundry, incluindo instâncias de modelos, modelos de implementação, tempos de execução, famílias de aceleradores, faturação e limitações de corrente, consulte Managed compute in Microsoft Foundry (Preview).

Pré-requisitos

  • Uma assinatura ativa do Azure. Para criar uma, consulte Crie a sua conta Azure gratuita.

  • Um grupo de recursos na subscrição onde tens permissão para criar recursos.

  • Uma conta Microsoft Foundry (conta de Serviços Cognitivos do tipo AIServices) e um projeto Foundry. Para criar um, consulte Criar um projeto Foundry.

  • As seguintes atribuições de funções do Azure no âmbito da conta Foundry:

  • Quota de computação gerida aprovada para a família de aceleradores onde planeia implementar (A100, H100 ou MI300X) na região alvo. A quota de computação gerida é separada da quota de VM do Azure. Consulte Solicitar mais quota no final deste artigo.

  • Ferramentas locais para exemplos de SDK e CLI:

    pip install "azure-mgmt-cognitiveservices==15.0.0b2" azure-identity openai requests
    az login
    
  • CLI do Azure 2,60 ou posterior.

Important

A computação gerida no Foundry está em pré-visualização pública. APIs, nomes de SKUs e regiões suportadas podem mudar antes da disponibilidade geral. A filtragem de conteúdo incorporada não faz parte do percurso de dados da computação gerida na pré-visualização pública. Se precisar de filtragem ao nível de pedido ou de resposta, ligue diretamente para as APIs Segurança de conteúdo de IA do Azure diretamente da sua aplicação.

Escolha um modelo no catálogo

O Managed compute implementa modelos da Hugging Face Collection no catálogo de modelos do Foundry, disponibilizados a partir do registo azure-huggingface.

  1. Inicie sessão no Microsoft Foundry. Certifica-te de que a opção New Foundry está ativada. Estes passos referem-se à Foundry (new).
  2. Selecione a sua subscrição e o recurso Foundry.
  3. Selecione Construir no canto superior direito da navegação, depois selecione Modelos no painel esquerdo.
  4. Filtra o catálogo por Coleções. Escolha Cara de Abraço. Também pode usar qualquer um dos outros filtros para restringir o modelo que pretende implementar (por exemplo, escolher uma família de modelos como o Qwen) ou por modalidade ou tarefa. Também pode pesquisar por nome do modelo.
  5. Selecione um cartão de modelo (por exemplo, nvidia-nemotron-3-nano-30b-a3b-fp8) para abrir os seus dados.

O cartão do modelo mostra a licença a montante, a modalidade, as tarefas suportadas e os modelos de implementação publicados para o modelo. Se tenciona implementar através do SDK do Python ou da REST, em vez de utilizar o assistente do portal, precisará de três valores como entrada para a chamada de implementação. Pode encontrar estes valores no portal da Foundry da seguinte forma:

  • ID do modelo: o identificador completamente qualificado do ativo de registo do modelo. Disponível no cartão do modelo no catálogo (cópia do painel de detalhes do modelo). Example:

    azureml://registries/azure-huggingface/models/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8/versions/2
    
  • ID do modelo de implementação: identifica o tempo de execução, a família e a contagem de aceleradores, e o comprimento do contexto do modelo. Disponível no assistente de implementação que se abre quando seleciona Deploy no cartão do modelo. Selecione um modelo e copie o ID do modelo de implementação a partir do assistente. Example:

    azureml://registries/azure-huggingface/deploymenttemplates/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8--nvidia-h100/labels/latest
    

    Note

    Um ID de modelo e um ID de template de implementação devem ser compatíveis; Cada modelo lista as versões dos modelos que suporta. O assistente do portal só mostra modelos compatíveis para o modelo que selecionaste. Se implementares com código, verifica se ambas as referências correspondem a ativos de registo válidos no registo azure-huggingface.

    Para saber mais sobre modelos de implementação, consulte Template de implementação no artigo de visão geral sobre computação gerida.

  • Tipo de acelerador: por exemplo H100_80GB, A100_80GB, ou MI_300_192GB. Mostrado ao lado de cada modelo no assistente de implementação.

Implementar o modelo

  1. Selecione Deploy na ficha do modelo para abrir o assistente de implementação.

  2. Especifique um nome de implantação. O nome de implementação é o que a sua aplicação passa no model campo no momento da inferência — escolha um nome estável e amigável para a aplicação (por exemplo, nemotron-3-nano-30b).

  3. O tipo de implementação (Global Managed Compute) é pré-selecionado no assistente de implementação.

  4. Selecione o modelo de Implementação que corresponda à sua carga de trabalho. Por exemplo, o modelo H100 de acelerador único para o custo mais baixo com comprimento de contexto moderado, ou um modelo de dois aceleradores se os seus prompts excederem o limite de contexto de um único acelerador.

  5. Selecione o tipo de acelerador, por exemplo, H100_80GB.

  6. Defina as instâncias do Modelo para 1 (ou mais se tiver medido a sua carga de trabalho). As instâncias do modelo determinam a capacidade de computação gerida e são o valor capacity no SKU da implementação. Cada instância consome a contagem de aceleradores definida pelo template; por exemplo, um template que especifica um H100 por instância com capacidade 2 utiliza dois aceleradores H100 no total.

    Tip

    Comece com capacity: 1 para uma primeira implementação e, em seguida, expanda aumentando a capacidade depois de medir a carga de trabalho. Consulte Gerir e escalar a implementação para saber como aumentar a capacidade.

  7. Selecione a caixa de verificação para tomar conhecimento do custo da implementação.

  8. Selecione Implantar. O abastecimento normalmente demora entre 10 a 15 minutos.

Verificar a implantação

A página de detalhes da implementação é atualizada de Creating para Succeeded quando o modelo está ativo no endpoint Foundry. Pode ver detalhes sobre a implementação, incluindo o estado de provisionamento, o tipo de implementação e outras escolhas feitas durante a criação da implementação.

Enviar um pedido de teste

Quando a implementação estiver pronta, teste-a de forma interativa no Foundry Playground.

  1. Selecione o separador Playground para aceder ao mesmo a partir da página Detalhes da implantação.
  2. Envia um prompt para testar a implementação.

Monitorizar a implementação

As implementações de computação gerida emitem métricas na mesma superfície do Azure Monitor que outras implementações do Foundry. Na página de detalhes de implementação no portal Foundry, o separador Monitor mostra:

  • Número de pedidos agrupado por código de estado HTTP.
  • Percentis de tempo de resposta (p50, p90, p99).
  • Para modelos de completação de chat: contagens de tokens de entrada e saída, percentis de tempo até ao primeiro token (TTFT) e percentis de tempo de decodificação entre tokens.

Para análises ou alertas mais aprofundados, abra a implementação no portal Azure e use Métricas em Monitorização para mapear as mesmas métricas, agrupar por implementação e configurar alertas. As etiquetas de faturação por implantação são emitidas automaticamente. Filtre a Gestão de Custos pela etiqueta de implementação para atribuir o gasto a uma implementação específica de computação gerida. Para detalhes, consulte Planear e gerir custos para Microsoft Foundry.

Excluir a implantação

Eliminar uma implementação liberta a sua alocação de acelerador e interrompe imediatamente a faturação. Para eliminar uma implementação:

  1. Vai à lista de implementações no portal Foundry.
  2. Selecione o botão de opção ao lado do nome da sua missão.
  3. No painel direito, selecione Excluir.

Solicitar mais quotas

A quota de computação gerida é concedida para cada família de aceleradores e por região através do processo de quotas do Foundry e é separada da quota de VM do Azure. A quota existente de VM do Azure não pode ser aplicada a uma implementação de computação gerida.

Para pedir mais quotas:

  1. Selecione Gerenciar no canto superior direito da navegação, e depois selecione Quota no painel esquerdo.
  2. Selecione o separador Computação Gerida . A tabela lista as alocações atuais agrupadas por família de aceleradores e região.
  3. Selecione Solicitar quota no canto superior direito.
  4. No formulário de pedido, escolha a família de aceleradores (A100, H100 ou MI300X), a região-alvo e a quota solicitada. Submeta o pedido.

Permitir até 15 minutos para que uma alteração de quota aprovada se propage. Atualize a página da Quota para verificar a alocação atualizada. Para mais informações sobre os conceitos de quotas, consulte Gerir e aumentar quotas para recursos.

Use o seguinte script Python para implementar o modelo. Substitua os marcadores de lugar pelo seu próprio ID de subscrição, grupo de recursos, nome da conta Foundry e nome da implementação.

Tip

Comece com capacity: 1 para uma primeira implementação e, em seguida, expanda aumentando a capacidade depois de medir a carga de trabalho. Consulte Gerir e escalar a implementação para saber como aumentar a capacidade.

from azure.identity import DefaultAzureCredential
from azure.mgmt.cognitiveservices import CognitiveServicesManagementClient

SUBSCRIPTION_ID  = "<your-subscription-id>"
RESOURCE_GROUP   = "<your-resource-group>"
ACCOUNT_NAME     = "<your-foundry-account>"
DEPLOYMENT_NAME  = "nemotron-3-nano-30b"

MODEL = "azureml://registries/azure-huggingface/models/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8/versions/2"
TEMPLATE = "azureml://registries/azure-huggingface/deploymenttemplates/nvidia--nvidia-nemotron-3-nano-30b-a3b-fp8--nvidia-h100/labels/latest"

client = CognitiveServicesManagementClient(
    DefaultAzureCredential(), SUBSCRIPTION_ID
)

deployment = client.managed_compute_deployments.begin_create_or_update(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
    resource={
        "sku": {"name": "GlobalManagedCompute", "capacity": 1},
        "properties": {
            "model": MODEL,
            "deploymentTemplate": TEMPLATE,
            "acceleratorType": "H100_80GB",
            "versionUpgradeOption": "OnceNewDefaultVersionAvailable",
        },
    },
).result()  # blocks until terminal state (~10–15 min)

print(f"State: {deployment.properties.provisioning_state}")
print(f"ID:    {deployment.id}")

Verificar a implantação

Depois de a implementação ser criada, confirme se está saudável antes de enviar tráfego.

d = client.managed_compute_deployments.get(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
)

print(f"State:        {d.properties.provisioning_state}")    # expect: Succeeded
print(f"Model:        {d.properties.model}")
print(f"Template:     {d.properties.deployment_template}")
print(f"Accelerator:  {d.properties.accelerator_type}")
print(f"Capacity:     {d.sku.capacity}")

Procure por:

  • provisioningState: Succeeded significa que a implantação está ativa.
  • acceleratorType Corresponde ao valor que pediu.
  • sku.capacity corresponde ao número de instâncias que solicitaste.

Se provisioningState estiver Failed, consulte Resolução de problemas.

Enviar um pedido de teste

As implementações de computação gerida estão acessíveis através do ponto de extremidade unificado do Foundry em:

https://<account>.services.ai.azure.com/openai/v1/

O model campo no corpo do pedido recebe o nome de implementação que especificaste, não o ID do modelo.

from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import OpenAI

ACCOUNT_NAME    = "<your-foundry-account>"
DEPLOYMENT_NAME = "nemotron-3-nano-30b"

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(),
    "https://cognitiveservices.azure.com/.default",
)

client = OpenAI(
    base_url=f"https://{ACCOUNT_NAME}.services.ai.azure.com/openai/v1",
    api_key="placeholder",  # required by OpenAI SDK; overridden by Authorization header
    default_headers={"Authorization": f"Bearer {token_provider()}"},
)

resp = client.chat.completions.create(
    model=DEPLOYMENT_NAME,
    messages=[{"role": "user", "content": "What is the capital of France?"}],
)

print(resp.choices[0].message.content)

Invocar a implementação com o Microsoft Entra ID requer a função Utilizador de IA do Azure na conta Foundry.

Gerir e escalar a implementação

Como as implementações de computação geridas são centradas no modelo, pode escalá-las alterando o número de instâncias do modelo, não alterando a dimensão de um nó.

Alterar capacidade

d = client.managed_compute_deployments.get(
    RESOURCE_GROUP, ACCOUNT_NAME, DEPLOYMENT_NAME
)
d.sku.capacity = 3

client.managed_compute_deployments.begin_create_or_update(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
    resource=d,
).result()

Obter atualizações do ambiente de execução e do modelo

Definir versionUpgradeOption para OnceNewDefaultVersionAvailable na implementação faz com que a implementação adote novas versões padrão de modelo e runtime quando Microsoft as publica. Os patches em tempo de execução e as correções de CVE são aplicados automaticamente às implementações de clientes em produção; não é necessário reimplementar o modelo para que sejam aplicados.

Monitorizar a implementação

As implementações de computação gerida emitem métricas na mesma superfície do Azure Monitor que outras implementações do Foundry. Para análises ou alertas mais aprofundados, abra a implementação no portal Azure e use Métricas em Monitorização para graficar métricas como:

  • Número de pedidos agrupado por código de estado HTTP.
  • Percentis de tempo de resposta (p50, p90, p99).
  • Para modelos de completação de chat: contagens de tokens de entrada e saída, percentis de tempo até ao primeiro token (TTFT) e percentis de tempo de decodificação entre tokens.

Também pode agrupar por implementação e configurar alertas. As etiquetas de faturação por implantação são emitidas automaticamente. Filtre a Gestão de Custos pela etiqueta de implementação para atribuir o gasto a uma implementação específica de computação gerida. Para detalhes, consulte Planear e gerir custos para Microsoft Foundry.

Excluir a implantação

Eliminar uma implementação liberta a sua alocação de acelerador e interrompe imediatamente a faturação. Para eliminar uma implementação:

client.managed_compute_deployments.begin_delete(
    resource_group_name=RESOURCE_GROUP,
    account_name=ACCOUNT_NAME,
    deployment_name=DEPLOYMENT_NAME,
).result()

Resumo do controlo de acesso

Action Papel mínimo
Criar, atualizar ou eliminar uma implementação de computação gerida Contribuidor de Serviços Cognitivos (ou Proprietário da Foundry / Proprietário da Conta da Foundry) na conta da Foundry
Ver uma implantação ou listar implantações Utilizador de Serviços Cognitivos, Utilizador do Foundry, Gestor de Projeto do Foundry, ou qualquer uma das funções acima
Chame a implementação com Microsoft Entra ID Utilizador do Foundry na conta do Foundry
Chame a implementação com uma chave API A chave da conta (não é necessária nenhuma função do Azure para a própria chamada; para obter a chave, é necessário acesso de leitura)

Para consultar a lista completa de operações do fornecedor de recursos do Azure, a matriz de funções e permissões e a comparação com implementações padrão, veja Role-based access control for Microsoft Foundry — managed compute control-plane operations.

Troubleshooting

provisioningState: Failed

Confirme que a família de aceleradores solicitada tem uma quota aprovada na região-alvo e que o modelo de implementação escolhido lista essa família de aceleradores. Um modelo e um modelo de implementação incompatíveis, por exemplo, um modelo de implementação publicado para uma versão diferente do modelo, é uma causa comum. Verifique se ambas as referências remetem para ativos de registo válidos no registo azure-huggingface.

"Quota excedida" ao criar

A conta da Foundry não tem quota de computação gerida suficiente na região para a família de aceleradores solicitada. Peça mais quota. A quota de VM do Azure não se aplica à computação gerida.

"Capacidade insuficiente" na região

A região não indicou disponibilidade para a família de aceleradores solicitada. Experimenta uma família diferente (por exemplo, implementa no MI300X em vez do H100), escolhe um template com menos aceleradores por instância, ou dirige-te para uma região diferente. Famílias de memória maior, como o MI300X, frequentemente têm capacidade para modelos que não cabem no A100.

Erro 404 da rota /openai/v1/

Se um pedido de conclusão de chat para https://<account>.services.ai.azure.com/openai/v1/chat/completions devolver um erro 404, verifique se:

  • O nome da implementação no corpo do pedido corresponde à implementação que criou.
  • O provisioningState da implantação é Succeeded.
  • O tempo de execução do modelo expõe as conclusões do chat. Alguns runtimes (por exemplo, TEI para embeddings) não expõem a rota de conclusão do chat; Use a rota documentada no cartão do modelo.

Implementação bloqueada em Creating há mais de 20 minutos

Alguns modelos maiores demoram mais de 10–15 minutos habituais a ficar disponíveis. Se provisioningState continuar a Creating após 20 minutos, verifique na página de detalhes da implementação no portal Foundry se existe uma mensagem sobre o estado da operação e confirme que a região subjacente não sofreu degradação. Se a implementação permanecer em Creating durante mais de 30 minutos sem qualquer mensagem de operação, elimine-a e tente novamente. O provisionamento é idempotente em relação ao nome da implementação.