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.
Neste artigo, você aprenderá a usar o complemento do operador de cadeia de ferramentas de IA para auto-hospedar 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 o KAITO
A auto-hospedagem de LLMs (modelos de linguagem grande) no Kubernetes está ganhando força entre as organizações com cargas de trabalho de inferência em escala, como processamento em lotes, chatbots, agentes e aplicativos controlados por IA. Essas organizações geralmente têm acesso a GPUs de nível comercial e estão buscando alternativas para modelos de preços caros de API por token, que podem escalar rapidamente fora de controle. Muitos também exigem a capacidade de ajustar ou personalizar seus modelos, uma funcionalidade normalmente restrita por provedores de API de origem fechada. 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 auto-hospedagem 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 Operador de Conjunto de Ferramentas de IA do Kubernetes (KAITO), um projeto da Cloud Native Computing Foundation (CNCF) Sandbox, simplifica o processo de implantação e gerenciamento de cargas de trabalho LLM de código aberto no Kubernetes. O KAITO integra-se à vLLM, um mecanismo de inferência de alta taxa de transferência projetado para atender a modelos de linguagem grandes com eficiência. A vLLM como um mecanismo de inferência ajuda a reduzir os requisitos de memória e GPU sem comprometer significativamente a precisão.
Criado com base no projeto de código aberto KAITO, a extensão gerenciada do operador de ferramentas de inteligência artificial oferece uma configuração modular e plug-and-play que permite que as equipes implantem rapidamente modelos e os exponham por meio de APIs otimizadas para produção. Ele inclui recursos internos, como APIs compatíveis com OpenAI, formatação de prompt e suporte para respostas em streaming. Quando implantado em um cluster do 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, confira Conceitos básicos do Kubernetes para o AKS.
- Para todas as imagens predefinidas do modelo hospedado e a configuração de recursos padrão, consulte o repositório GitHub do KAITO.
- O complemento do operador de cadeia de ferramentas de IA atualmente dá suporte à versão KAITO 0.6.0. Observe isso ao considerar sua escolha de modelo no repositório de modelos KAITO.
Limitações
-
AzureLinuxeWindowsSKU de SO não têm suporte no momento. - Tamanhos de VM com GPU AMD não têm suporte
instanceTypeem um espaço de trabalho KAITO. - O complemento do operador de cadeia de ferramentas de IA é suportado nas regiões públicas do Azure.
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Se você tiver várias assinaturas do Azure, selecione 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 possuir a cota recomendada de VM com GPU para a implantação do seu modelo, na mesma região do Azure que seus recursos do AKS.
CLI do Azure versão 2.76.0 ou posterior instalada e configurada. Execute
az --versionpara encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.O cliente de linha de comando do Kubernetes, kubectl, instalado e configurado. Para obter mais informações, confira Instalar o 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 com seus próprios valores.
export AZURE_SUBSCRIPTION_ID="mySubscriptionID" export AZURE_RESOURCE_GROUP="myResourceGroup" export AZURE_LOCATION="myLocation" export CLUSTER_NAME="myClusterName"
Habilitar o complemento do operador de cadeia de ferramentas de IA em um cluster do AKS
As seções a seguir descrevem como criar um cluster do AKS com o complemento do operador de cadeia de ferramentas de IA habilitado e implantar um modelo de IA hospedado padrão.
Criar um cluster do AKS com o complemento do operador de 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 do AKS com o complemento do operador de cadeia de ferramentas de IA habilitado usando o comando az aks create com os sinalizadores
--enable-ai-toolchain-operatore--enable-oidc-issuer.az aks create --location $AZURE_LOCATION \ --resource-group $AZURE_RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-ai-toolchain-operator \ --enable-oidc-issuer \ --generate-ssh-keysEm um cluster do AKS existente, você pode habilitar o complemento do operador de 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 seu cluster
Configure
kubectlpara se conectar ao seu cluster usando o comando az aks get-credentials.az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAMEVerifique a conexão com o cluster usando o comando
kubectl get.kubectl get nodes
Implantar um modelo de IA hospedado padrão
O KAITO oferece uma variedade de modelos de linguagem, desde pequenos até grandes, hospedados como imagens de contêiner público, que podem ser implantados rapidamente em uma etapa usando um workspace KAITO. Você pode procurar as imagens de LLM predefinidas disponíveis no registro de modelo KAITO. Nesta seção, usaremos o modelo de linguagem multimodal do Microsoft Phi-4-mini de alto desempenho como exemplo:
Implante o modelo predefinido Phi-4-mini instruct para inferência do repositório de modelos KAITO usando o comando
kubectl apply.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 ao vivo em seu workspace usando o comando
kubectl get.kubectl get workspace workspace-phi-4-mini -wObservação
Ao acompanhar a implantação do workspace KAITO, observe que a preparação do computador pode levar até 10 minutos e a preparação do workspace até 20 minutos, dependendo do tamanho do seu modelo.
Verifique o 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 Phi-4-mini instruct com uma entrada de amostra de sua escolha usando o formato da API de conclusão de chat 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 de domínio
As LLMs de software livre geralmente são treinadas em diferentes contextos e domínios, e as configurações padrão do modelo hospedado podem nem sempre atender aos requisitos de seu aplicativo ou dados. Nesse caso, o KAITO também dá suporte à implantação de inferência de modelos de linguagem mais recentes ou específicos do domínio do HuggingFace. Experimente uma implantação de inferência de modelo personalizado com KAITO seguindo este artigo.
Limpar os recursos
Caso não precise mais desses recursos, poderá excluí-los para evitar incorrer em encargos extras de computação do Azure.
Exclua o workspace KAITO usando o
kubectl delete workspacecomando.kubectl delete workspace workspace-phi-4-miniVocê precisa excluir manualmente os pools de nós de 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 comando
az aks nodepool list. 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 do AKS e repita as etapas nesta seção para cada workspace KAITO que será removido.
Cenários comuns de solução de problemas
Depois de aplicar o workspace de inferência do modelo KAITO, a preparação do recurso e as condições do workspace 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 workspace KAITO. Você precisará solicitar um aumento de cota para a família de VMs de GPU em sua assinatura do Azure.
- O tipo de instância de GPU não está disponível em sua região do AKS. 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óximas etapas
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 o complemento do operador de cadeia de ferramentas de IA no AKS.
- Configurar e testar chamadas de ferramentas com a inferência KAITO.
- Integre um servidor MCP com o complemento do operador de cadeia de ferramentas de IA no AKS.