Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, obtendrá más información sobre cómo usar el complemento del operador de cadena de herramientas de IA para autohospedar modelos de lenguaje grandes de forma eficaz en Kubernetes, lo que reduce los costes y la complejidad de los recursos, mejorar la personalización y mantener el control total sobre los datos.
Acerca de KAITO
El autohospedaje de modelos de lenguaje grande (LLM) en Kubernetes está ganando impulso entre las organizaciones con cargas de trabajo de inferencia a escala, como el procesamiento por lotes, los bots de chat, los agentes y las aplicaciones controladas por IA. Estas organizaciones suelen tener acceso a GPU de nivel comercial y buscan alternativas a los costosos modelos de precios de API por token, lo que puede escalar rápidamente fuera del control. Muchas también requieren la capacidad de ajustar o personalizar sus modelos, una funcionalidad que normalmente está restringida por proveedores de API de origen cerrado. Además, las empresas que controlan datos confidenciales o de su propiedad, especialmente en sectores regulados como finanzas, atención sanitaria o defensa, priorizan el autohospedaje para mantener un control estricto sobre los datos y evitar la exposición a través de sistemas de terceros.
Para satisfacer estas necesidades y mucho más, el operador de cadenas de herramientas de AI de Kubernetes (KAITO), un proyecto de espacio aislado de Cloud Native Computing Foundation (CNCF), simplifica el proceso de implementación y administración de cargas de trabajo LLM de código abierto en Kubernetes. KAITO se integra con vLLM, un motor de inferencia de alto rendimiento diseñado para ofrecer modelos de lenguaje grandes de forma eficaz. vLLM como motor de inferencia ayuda a reducir los requisitos de memoria y GPU sin comprometer significativamente la precisión.
Basado en el proyecto KAITO de código abierto, el complemento administrado por el operador de cadena de herramientas de IA ofrece una configuración modular, plug-and-play que permite a los equipos implementar rápidamente modelos y exponerlos a través de API listas para producción. Incluye características integradas, como API compatibles con OpenAI, formato de indicación y compatibilidad con la respuesta de streaming. Cuando se implementa en un clúster de AKS, KAITO garantiza que los datos permanezcan dentro del entorno controlado de la organización, lo que proporciona una alternativa segura y compatible a las API LLM hospedadas en la nube.
Antes de empezar
- En este artículo se presupone un conocimiento básico de los conceptos de Kubernetes. Para más información, vea Conceptos básicos de Kubernetes para AKS.
- Para ver todas las imágenes preestablecidas del modelo hospedado y la configuración de recursos predeterminada, consulte el repositorio kaito de GitHub.
- El complemento del operador de cadena de herramientas de IA admite actualmente la versión 0.6.0 de KAITO, tome nota de esto teniendo en cuenta la elección del modelo del repositorio de modelos KAITO.
Limitaciones
-
La SKU del sistema operativo
AzureLinuxyWindowsno se admite actualmente. - Los tamaños de máquina virtual de GPU de AMD no se admiten
instanceTypeen un área de trabajo de KAITO. - El complemento del operador de cadena de herramientas de IA se admite en regiones públicas de Azure.
Requisitos previos
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Si tiene varias suscripciones de Azure, asegúrese de seleccionar la suscripción correcta en la que se crearán los recursos y se cobrarán mediante el comando az account set.
Nota:
La suscripción de Azure debe tener la cuota de máquina virtual de GPU recomendada para la implementación del modelo en la misma región de Azure que los recursos de AKS.
CLI de Azure versión 2.76.0 o posterior instalada y configurada. Ejecute
az --versionpara encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.El cliente de línea de comandos de Kubernetes, kubectl, instalado y configurado. Para más información, vea Instalación de kubectl.
Exporte las variables de entorno
Para simplificar los pasos de configuración de este artículo, puede definir variables de entorno mediante los comandos siguientes. Asegúrese de reemplazar los valores del marcador de posición por otros propios.
export AZURE_SUBSCRIPTION_ID="mySubscriptionID" export AZURE_RESOURCE_GROUP="myResourceGroup" export AZURE_LOCATION="myLocation" export CLUSTER_NAME="myClusterName"
Habilitación del complemento de operador de cadena de herramientas de IA en un clúster de AKS
En las secciones siguientes se describe cómo crear un clúster de AKS con el complemento del operador de cadena de herramientas de IA habilitado e implementar un modelo de IA hospedado predeterminado.
Creación de un clúster de AKS con el complemento del operador de cadena de herramientas de IA habilitado
Cree un grupo de recursos de Azure con el comando az group create.
az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATIONCree un clúster de AKS con el complemento del operador de cadena de herramientas de IA habilitado mediante el comando az aks create con las marcas
--enable-ai-toolchain-operatory--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-keysEn un clúster de AKS existente, puede habilitar el complemento del operador de cadena de herramientas de IA mediante el comando az aks update.
az aks update --name $CLUSTER_NAME \ --resource-group $AZURE_RESOURCE_GROUP \ --enable-ai-toolchain-operator \ --enable-oidc-issuer
Conexión al clúster
Configure
kubectlpara conectarse al clúster mediante el comando az aks get-credentials.az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAMECompruebe la conexión al clúster mediante el comando
kubectl get.kubectl get nodes
Implementación de un modelo de IA hospedado predeterminado
KAITO ofrece una variedad de modelos de lenguaje pequeños a grandes hospedados como imágenes de contenedor públicas, que se pueden implementar en un paso mediante un área de trabajo KAITO. Puede examinar las imágenes LLM preestablecidas disponibles en el registro del modelo KAITO. En esta sección, usaremos el modelo de lenguaje multimodal Phi-4-mini de Microsoft de alto rendimiento como ejemplo:
Implemente el valor preestablecido del modelo Phi-4-mini para la inferencia desde el repositorio de modelos KAITO mediante el comando
kubectl apply.kubectl apply -f https://raw.githubusercontent.com/kaito-project/kaito/refs/heads/main/examples/inference/kaito_workspace_phi_4_mini.yamlRealice el seguimiento de los cambios de recursos activos en el área de trabajo mediante el comando
kubectl get.kubectl get workspace workspace-phi-4-mini -wNota:
A medida que realiza un seguimiento de la implementación del área de trabajo KAITO, tenga en cuenta que la preparación de la máquina puede tardar hasta 10 minutos y la preparación del área de trabajo hasta 20 minutos en función del tamaño del modelo.
Compruebe el servicio de inferencia y obtenga la dirección IP del servicio mediante el
kubectl get svccomando .export SERVICE_IP=$(kubectl get svc workspace-phi-4-mini -o jsonpath='{.spec.clusterIP}')Pruebe el servicio de inferencia Phi-4-mini con un ejemplo de entrada de su elección utilizando el formato de API para finalizaciones de chat de 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 }'
Implementar un LLM personalizado o específico del dominio
Las LLM de código abierto suelen entrenarse en diferentes contextos y dominios, y es posible que los valores preestablecidos del modelo hospedado no siempre se ajusten a los requisitos de la aplicación o los datos. En este caso, KAITO también admite la implementación de inferencia de modelos de lenguaje específico de dominio o más recientes de HuggingFace. Pruebe una implementación de inferencia de modelos personalizado con KAITO siguiendo este artículo.
Limpieza de recursos
En caso de que ya no necesite estos recursos, elimínelos para evitar incurrir en cargos adicionales de proceso de Azure.
Elimine el área de trabajo KAITO mediante el
kubectl delete workspacecomando .kubectl delete workspace workspace-phi-4-miniDebe eliminar los grupos de nodos de GPU aprovisionados por la implementación de KAITO manualmente. Use la etiqueta de nodo creada por el área de trabajo de instrucción de Phi-4-mini para obtener el nombre del grupo de nodos mediante el comando
az aks nodepool list. En este ejemplo, la etiqueta del nodo es "kaito.sh/workspace": "workspace-phi-4-mini".az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAMEElimine el grupo de nodos con este nombre del clúster de AKS y repita los pasos descritos en esta sección para cada área de trabajo kaito que se quitará.
Escenarios habituales de solución de problemas
Después de aplicar el área de trabajo de inferencia del modelo KAITO, es posible que True no actualice las condiciones de preparación del recurso y del área de trabajo por los siguientes motivos:
- La suscripción de Azure no tiene cuota para el tipo de instancia de GPU mínima especificado en su área de trabajo KAITO. Deberá solicitar un aumento de cuota para la familia de máquinas virtuales de GPU en la suscripción de Azure.
- El tipo de instancia de GPU no está disponible en su región de AKS. Confirme la disponibilidad de la instancia de GPU en su región específica y cambie la región de Azure si la familia de máquinas virtuales de GPU no está disponible.
Pasos siguientes
Obtenga más información sobre las opciones de implementación del modelo KAITO a continuación:
- Implemente LLM con la aplicación en AKS mediante KAITO en Visual Studio Code.
- Supervise la carga de trabajo de inferencia de KAITO.
- Ajuste un modelo con precisión con el complemento de operador de cadena de herramientas de IA en AKS.
- Configure y pruebe la invocación de herramientas con inferencia KAITO.
- Integre un complemento de servidor MCP con el operador de cadena de herramientas de IA en AKS.