
Esta publicación de blog explora las ventajas técnicas y estratégicas de implementar modelos de IA de código abierto en Ubuntu. Destacaremos por qué tiene sentido usar Ubuntu con modelos de IA de código abierto y describiremos el proceso de implementación en Azure.
Escrito por Gauthier Jolly, ingeniero de software de CPC, y Jehudi Castro-Sierra, director de alianzas de nube pública de Canonical.
¿Por qué elegir Ubuntu para implementar IA de código abierto?
- concepto abierto: La naturaleza de código abierto de Ubuntu se combina a la perfección con los principios de los modelos de IA de código abierto para promover la colaboración y la accesibilidad.
- Integración perfecta: Debido al fuerte soporte de Ubuntu para bibliotecas y herramientas de IA, la implementación de IA de código abierto en Ubuntu es muy sencilla.
- comunidad: La gran comunidad de Ubuntu proporciona valiosos recursos e intercambio de conocimientos para el desarrollo de la IA.
¿Qué hace Ubuntu Pro?
Ubuntu Pro mejora la seguridad y el cumplimiento de los modelos de IA implementados, brindando mantenimiento de seguridad extendido, parches integrales y capacidades de cumplimiento automatizado críticas para las aplicaciones de nivel empresarial. Su integración con máquinas virtuales confidenciales en Azure mejora la protección de datos confidenciales y la integridad del modelo, lo que la convierte en una herramienta indispensable para tareas que requieren medidas de seguridad estrictas, como capacitación en aprendizaje automático, inferencia y análisis de datos confidenciales entre múltiples partes.
¿Por qué utilizar la nube pública para implementar modelos de IA?
El uso de nubes públicas como Azure proporciona acceso directo a potentes GPU y capacidades informáticas confidenciales, que son fundamentales para tareas intensivas de IA. Estas capacidades reducen significativamente el tiempo y la complejidad necesarios para configurar y ejecutar modelos de IA sin comprometer la seguridad y la privacidad. Si bien algunos pueden optar por implementar en las instalaciones debido a requisitos específicos, el entorno escalable y seguro de Azure proporciona un argumento convincente para la implementación basada en la nube.
aprovisionamiento y configuración
Exploraremos el uso de modelos abiertos en Azure creando una instancia ejecutable usando Ubuntu, instalando controladores NVIDIA para compatibilidad con GPU y configurando Ollama para ejecutar el modelo. El proceso es técnico e implica comandos CLI para crear grupos de recursos, máquinas virtuales y configurar controladores NVIDIA. Ollama es la herramienta elegida para ejecutar modelos como Mixtral y se instala mejor usando Snap para una experiencia sin complicaciones, dependencias encapsuladas y actualizaciones simplificadas.
Configurar la máquina virtual de Azure
Primero use la CLI de Azure para crear el grupo de recursos y luego use la imagen de Ubuntu para crear la máquina virtual.
az group create --location westus --resource-group ml-workload
az vm create \
--resource-group ml-workload \
--name jammy \
--image Ubuntu2204 \
--generate-ssh-keys \
--size Standard_NC4as_T4_v3 \
--admin-username ubuntu --license-type UBUNTU_PRO
Tenga en cuenta la publicIpAddress en el resultado; la necesitará para conectarse a la máquina virtual a través de SSH.
Instale el controlador Nvidia (compatible con GPU)
Para la funcionalidad de GPU, utilice el sistema de administración de paquetes de Ubuntu para instalar el controlador NVIDIA. Reinicie el sistema después de la instalación.
sudo apt update -y sudo apt full-upgrade -y sudo apt install -y ubuntu-drivers-common sudo ubuntu-drivers install sudo systemctl reboot
importante: El controlador NVIDIA estándar no es compatible con vGPU (GPU fraccionada).Ver instrucciones en sitio azul Se utiliza para instalar controladores GRID, lo que puede implicar la creación de módulos principales sin firmar (que pueden ser incompatibles con el arranque seguro).
Implementar Olama usando Snap
Snap simplifica la instalación orama y sus dependencias, asegurando la compatibilidad y simplificando las actualizaciones. La bandera –beta le brinda acceso a las últimas funciones y versiones que aún pueden estar en desarrollo.
sudo snap install --beta ollama
Configuración
Configurar Ollama para usar discos temporales
sudo mkdir /mnt/models sudo snap connect ollama:removable-media # to allow the snap to reach /mnt sudo snap set ollama models=/mnt/models
Instalar híbrido
En este punto, puede ejecutar uno de los modelos abiertos disponibles de fábrica, p. mezclado o camello 2. También puede ejecutar versiones mejoradas de estos modelos (un proceso que implica capacitación adicional en un conjunto de datos específico) si las tiene.
ollama run mixtral
La primera ejecución puede tardar un poco en descargar el modelo.
Ahora puedes usar el modelo a través de la interfaz de la consola:
Instalar interfaz de usuario
Este paso es opcional, pero la interfaz de usuario se proporciona a través de un navegador web.
sudo snap install --beta open-webui
Acceso seguro a la interfaz de usuario web
Para acceder rápidamente a la interfaz de usuario sin abrir el puerto en el grupo de seguridad de Azure, puede usar el siguiente comando para establecer un túnel SSH a la VM:
ssh -L 8080:localhost:8080 ubuntu@${IP_ADDR}ir En un navegador web en su máquina local (el comando anterior envía tráfico desde su máquina local a la instancia de ejecución en Azure):
Si deseas hacer público este servicio, sigue este documento.
Verificar el uso de GPU
sudo watch -n2 nvidia-smi
Verifique si el proceso ollama está usando la GPU y debería ver lo siguiente:
+---------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |===========================================================================| | 0 N/A N/A 1063 C /snap/ollama/13/bin/ollama 4882MiB | +---------------------------------------------------------------------------+
Soluciones complementarias y alternativas
- Kubeflow fascinante: Explore esta solución MLOps (operaciones de aprendizaje automático) de extremo a extremo que proporciona una plataforma simplificada para gestionar cada etapa del ciclo de vida del aprendizaje automático. Es particularmente adecuado para implementaciones de inteligencia artificial complejas o de gran escala.
- Azure AI Studio: proporciona facilidad de uso para quienes buscan menos personalización.
en conclusión
La base de código abierto de Ubuntu y su sólido ecosistema lo convierten en una excelente opción para implementar modelos de IA de código abierto. Combinado con las capacidades de GPU de Azure y las capacidades informáticas confidenciales, obtiene una solución de IA flexible, segura y de alto rendimiento.









