Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste artigo, você aprenderá a usar o complemento do operador da cadeia de ferramentas de IA para autohospedar com eficiência modelos de linguagem grandes no Kubernetes, reduzindo custos e complexidade de recursos, aprimorando a personalização e mantendo controle total sobre seus dados.
Sobre a KAITO
A auto-hospedagem de grandes modelos de linguagem (LLMs) no Kubernetes está ganhando força entre as organizações com cargas de trabalho de inferência em escala, como processamento em lote, chatbots, agentes e aplicativos orientados por IA. Essas organizações geralmente têm acesso a GPUs de nível comercial e estão buscando alternativas aos caros modelos de preços de API por token, que podem rapidamente sair do controle. Muitos também exigem a capacidade de ajustar ou personalizar seus modelos, um recurso normalmente restrito por provedores de API de código fechado. Além disso, as empresas que lidam com dados confidenciais ou proprietários - especialmente em setores regulamentados, como finanças, saúde ou defesa - priorizam a autohospedagem para manter um controle rigoroso sobre os dados e evitar a exposição por meio de sistemas de terceiros.
Para atender a essas necessidades e muito mais, o Kubernetes AI Toolchain Operator (KAITO), um projeto Sandbox da Cloud Native Computing Foundation (CNCF), simplifica o processo de implantação e gerenciamento de cargas de trabalho LLM de código aberto no Kubernetes. O KAITO integra-se com o vLLM, um mecanismo de inferência de alto rendimento projetado para servir modelos de linguagem grandes de forma eficiente. O vLLM como um mecanismo de inferência ajuda a reduzir os requisitos de memória e GPU sem comprometer significativamente a precisão.
Construído sobre o projeto KAITO de código aberto, o complemento gerenciado pelo operador da cadeia de ferramentas de IA oferece uma configuração modular plug-and-play que permite que as equipes implantem modelos rapidamente e os exponham por meio de APIs prontas para produção. Ele inclui recursos internos, como APIs compatíveis com OpenAI, formatação de prompt e suporte a resposta de streaming. Quando implantado em um cluster AKS, o KAITO garante que os dados permaneçam dentro do ambiente controlado da sua organização, fornecendo uma alternativa segura e compatível às APIs LLM hospedadas na nuvem.
Antes de começar
- Este artigo pressupõe uma compreensão básica dos conceitos do Kubernetes. Para obter mais informações, consulte Conceitos principais do Kubernetes para AKS.
- Para todas as imagens predefinidas de modelo hospedado e configuração de recursos padrão, consulte o repositório KAITO GitHub.
- O complemento do operador da cadeia de ferramentas AI atualmente suporta KAITO versão 0.6.0, por favor, tome nota disso ao considerar sua escolha de modelo do repositório de modelos KAITO.
Limitações
-
AzureLinuxeWindowsOS SKU não são suportados atualmente. - Os tamanhos de VM de GPU AMD não são suportados
instanceTypeem um espaço de trabalho KITO. - O complemento do operador da cadeia de ferramentas de IA é suportado em regiões públicas do Azure.
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Se você tiver várias assinaturas do Azure, certifique-se de selecionar a assinatura correta na qual os recursos serão criados e cobrados usando o comando az account set .
Observação
Sua assinatura do Azure deve ter a cota de VM de GPU recomendada para sua implantação de modelo na mesma região do Azure que seus recursos AKS.
Azure CLI versão 2.76.0 ou posterior instalado e configurado. Executar
az --versionpara localizar a versão. Se precisar de instalar ou atualizar, consulte Install Azure CLI.O cliente de linha de comandos do Kubernetes kubectl está instalado e configurado. Para obter mais informações, consulte Instalar kubectl.
Exportar variáveis de ambiente
Para simplificar as etapas de configuração neste artigo, você pode definir variáveis de ambiente usando os comandos a seguir. Certifique-se de substituir os valores de espaço reservado pelos seus.
export AZURE_SUBSCRIPTION_ID="mySubscriptionID" export AZURE_RESOURCE_GROUP="myResourceGroup" export AZURE_LOCATION="myLocation" export CLUSTER_NAME="myClusterName"
Habilite o complemento do operador da cadeia de ferramentas de IA em um cluster AKS
As seções a seguir descrevem como criar um cluster AKS com o complemento do operador da cadeia de ferramentas de IA habilitado e implantar um modelo de IA hospedado padrão.
Crie um cluster AKS com o complemento do operador da cadeia de ferramentas de IA habilitado
Crie um grupo de recursos do Azure usando o comando az group create .
az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATIONCrie um cluster AKS com o add-on do operador da cadeia de ferramentas de IA ativado usando o comando az aks create com os
--enable-ai-toolchain-operatore--enable-oidc-issuerparâmetros.az aks create --location $AZURE_LOCATION \ --resource-group $AZURE_RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-ai-toolchain-operator \ --enable-oidc-issuer \ --generate-ssh-keysNum cluster AKS existente, pode-se habilitar o complemento do operador da cadeia de ferramentas de IA usando o comando az aks update.
az aks update --name $CLUSTER_NAME \ --resource-group $AZURE_RESOURCE_GROUP \ --enable-ai-toolchain-operator \ --enable-oidc-issuer
Conectar-se ao cluster
Configure
kubectlpara se conectar ao cluster usando o seguinte comando az aks get-credentials.az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAMEVerifique a conexão ao seu cluster utilizando o comando
kubectl get.kubectl get nodes
Implantar um modelo de IA hospedado padrão
O KAITO oferece uma variedade de modelos de linguagem pequenos a grandes hospedados como imagens de contêiner público, que podem ser implantados em uma etapa usando um espaço de trabalho KAITO. Você pode navegar pelas imagens LLM predefinidas disponíveis no registro do modelo KITO. Nesta seção, usaremos o modelo de linguagem multimodal de alto desempenho Microsoft Phi-4-mini como exemplo:
Implante a predefinição do modelo de instrução Phi-4-mini para inferência do repositório do modelo KAITO usando o
kubectl applycomando.kubectl apply -f https://raw.githubusercontent.com/kaito-project/kaito/refs/heads/main/examples/inference/kaito_workspace_phi_4_mini.yamlAcompanhe as alterações de recursos em tempo real em seu espaço de trabalho usando o
kubectl getcomando.kubectl get workspace workspace-phi-4-mini -wObservação
Ao acompanhar a implantação do espaço de trabalho KITO, observe que a preparação da máquina pode levar até 10 minutos e a preparação do espaço de trabalho até 20 minutos, dependendo do tamanho do seu modelo.
Verifique seu serviço de inferência e obtenha o endereço IP do serviço usando o
kubectl get svccomando.export SERVICE_IP=$(kubectl get svc workspace-phi-4-mini -o jsonpath='{.spec.clusterIP}')Teste o serviço de inferência de instruções Phi-4-mini com uma entrada de amostra de sua escolha usando o formato da API de conclusão de bate-papo do OpenAI:
kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POST http://$SERVICE_IP/v1/completions -H "Content-Type: application/json" \ -d '{ "model": "phi-4-mini-instruct", "prompt": "How should I dress for the weather today?", "max_tokens": 10 }'
Implantar um LLM personalizado ou específico do domínio
Os LLMs de código aberto geralmente são treinados em diferentes contextos e domínios, e as predefinições do modelo hospedado nem sempre se ajustam aos requisitos do seu aplicativo ou dados. Nesse caso, o KAITO também suporta a implantação de inferência de modelos de linguagem mais recentes ou específicos de domínio do HuggingFace. Experimente uma implantação de inferência de modelo personalizado com o KAITO seguindo este artigo.
Limpeza de recursos
Se você não precisar mais desses recursos, poderá excluí-los para evitar incorrer em cobranças extras de computação do Azure.
Exclua o espaço de trabalho KAITO usando o
kubectl delete workspacecomando.kubectl delete workspace workspace-phi-4-miniVocê precisa excluir manualmente os pools de nós da GPU provisionados pela implantação do KAITO. Use o rótulo de nó criado pelo espaço de trabalho Phi-4-mini instruct para obter o nome do pool de nós usando o
az aks nodepool listcomando. Neste exemplo, o rótulo do nó é "kaito.sh/workspace": "workspace-phi-4-mini".az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAMEExclua o pool de nós com esse nome do cluster AKS e repita as etapas nesta seção para cada espaço de trabalho KAITO que será removido.
Cenários comuns de solução de problemas
Depois de aplicar o espaço de trabalho de inferência do modelo KAITO, a prontidão de recursos e as condições do espaço de trabalho podem não ser atualizadas para True pelos seguintes motivos:
- Sua assinatura do Azure não tem cota para o tipo mínimo de instância de GPU especificado em seu espaço de trabalho KAITO. Você precisará solicitar um aumento de cota para a família de VMs GPU em sua assinatura do Azure.
- Na sua região AKS, o tipo de instância da GPU não está disponível. Confirme a disponibilidade da instância de GPU em sua região específica e alterne a região do Azure se sua família de VMs de GPU não estiver disponível.
Próximos passos
Saiba mais sobre as opções de implantação do modelo KAITO abaixo:
- Implante LLMs com seu aplicativo no AKS usando KAITO no Visual Studio Code.
- Monitore sua carga de trabalho de inferência KAITO.
- Ajuste um modelo com a funcionalidade adicional do operador do conjunto de ferramentas de IA no AKS.
- Configure e teste chamadas de ferramentas com inferência KAITO.
- Integre um servidor MCP com o complemento do operador da cadeia de ferramentas de IA no AKS.