Compartir a través de


Conceptos: ajuste de modelos de lenguaje para flujos de trabajo de inteligencia artificial y aprendizaje automático

En este artículo, obtendrá información acerca de la optimización modelos de lenguaje, incluidos algunos métodos comunes y cómo aplicar los resultados de optimización puede mejorar el rendimiento de los flujos de trabajo de inteligencia artificial y aprendizaje automático en Azure Kubernetes Service (AKS).

Modelos de lenguaje entrenados previamente

Los modelos de lenguaje entrenados previamente (PLM) ofrecen una manera accesible de empezar a trabajar con la inferencia de IA y se usan ampliamente en el procesamiento del lenguaje natural (NLP). Los PLM se entrenan en corpus de texto a gran escala desde Internet mediante redes neuronales profundas y se pueden ajustar en conjuntos de datos más pequeños para tareas específicas. Estos modelos normalmente constan de miles de millones de parámetros o pesosque se aprenden durante el proceso de entrenamiento previo.

Los PLM pueden aprender representaciones universales del lenguaje que capturan las propiedades estadísticas del lenguaje natural, como la probabilidad de palabras o secuencias de palabras que se producen en un contexto determinado. Estas representaciones se pueden transferir a tareas de nivel inferior, como la clasificación de texto, el reconocimiento de entidades con nombre y la respuesta a preguntas, ajustando el modelo en conjuntos de datos específicos de la tarea.

Ventajas y desventajas

En la tabla siguiente se enumeran algunas ventajas y desventajas del uso de PLM en los flujos de trabajo de inteligencia artificial y aprendizaje automático:

Ventajas Desventajas
• Comenzar a trabajar rápidamente con la implementación en el ciclo de vida del aprendizaje automático.
• Evite costos de proceso pesados asociados con el entrenamiento del modelo.
• Reduce la necesidad de almacenar grandes conjuntos de datos etiquetados.
• Puede proporcionar respuestas generalizadas o obsoletas basadas en orígenes de datos previos al entrenamiento.
• Puede que no sea adecuado para todas las tareas o dominios.
• El rendimiento puede variar en función del contexto de inferencia.

Métodos de ajuste preciso

Ajuste eficaz de parámetros

El ajuste eficaz de parámetros (PEFT) es un método para ajustar los PLM en conjuntos de datos relativamente pequeños con recursos de proceso limitados. PEFT usa una combinación de técnicas, como métodos aditivos y selectivos para actualizar pesos, para mejorar el rendimiento del modelo en tareas específicas. PEFT requiere recursos de proceso mínimos y cantidades flexibles de datos, lo que lo convierte en adecuado para la configuración de recursos bajos. Este método conserva la mayoría de los pesos del modelo previamente entrenado original y actualiza los pesos restantes para ajustarse a los datos etiquetados específicos del contexto.

Adaptación de rango bajo

La adaptación de rango bajo (LoRA) es un método PEFT que se usa habitualmente para personalizar modelos de lenguaje grandes para nuevas tareas. Este método realiza un seguimiento de los cambios realizados en los pesos del modelo y almacena de forma eficaz matrices de peso más pequeñas que representan solo los parámetros entrenables del modelo, lo que reduce el uso de memoria y la potencia de proceso necesaria para ajustarla. LoRA crea resultados de ajuste fino, conocidos como capas de adaptador , que se pueden almacenar y extraer temporalmente en la arquitectura del modelo para nuevos trabajos de inferencia.

La adaptación de clasificación baja cuantificada (QLoRA) es una extensión de LoRA que reduce aún más el uso de memoria mediante la introducción de la cuantificación a las capas del adaptador. Para obtener más información, consulte Cómo hacer que los LLM sean aún más accesibles con bitsandbites, cuantificación de 4 bits y QLoRA.

Experimentar con modelos de lenguaje de ajuste preciso en AKS

Kubernetes AI Toolchain Operator (KAITO) es un operador de código abierto que automatiza las implementaciones de modelos de lenguaje pequeños y grandes en clústeres de Kubernetes. El complemento del operador de cadena de herramientas de IA aprovecha KAITO para simplificar la incorporación, ahorrar en costos de infraestructura y reducir el tiempo de inferencia para los modelos de código abierto en un clúster de AKS. El complemento aprovisiona automáticamente nodos de GPU de tamaño correcto y configura el servidor de inferencia asociado como servidor de punto de conexión al modelo elegido.

Con KAITO versión 0.3.0 o posterior, puede ajustar eficazmente los modelos con licencia de MIT y Apache 2.0 compatibles con las siguientes características:

  • Almacene los datos de reentrenamiento como una imagen de contenedor en un registro de contenedor privado.
  • Hospede la nueva imagen de capa de adaptador en un registro de contenedor privado.
  • Extraiga eficazmente la imagen para la inferencia con capas de adaptador en nuevos escenarios.

Para obtener instrucciones sobre cómo empezar a optimizar KAITO, consulte la Documentación de la API del área de trabajo de ajuste de Kaito Tuning. Para más información sobre la implementación de modelos de lenguaje con KAITO en los clústeres de AKS, consulte elRepositorio de GitHub del modelo KAITO.

Importante

El software de código abierto se menciona en toda la documentación y ejemplos de AKS. El software que implemente se excluye de los contratos de nivel de servicio de AKS, la garantía limitada y el soporte técnico de Azure. A medida que usa la tecnología de código abierto junto con AKS, consulte las opciones de soporte técnico disponibles en las comunidades y los mantenedores de proyectos respectivos para desarrollar un plan.

Por ejemplo, el Repositorio Ray de GitHub describe varias plataformas que varían en el tiempo de respuesta, el propósito y el nivel de soporte técnico.

Microsoft asume la responsabilidad de crear los paquetes de código abierto que implementamos en AKS. Esa responsabilidad incluye tener la propiedad completa del proceso de compilación, examen, firma, validación y revisión, junto con el control sobre los archivos binarios en imágenes de contenedor. Para obtener más información, consulte Administración de vulnerabilidades para AKS y cobertura de soporte técnico de AKS.

Pasos siguientes

Para obtener más información sobre las cargas de trabajo de inteligencia artificial y el aprendizaje automático en contenedores en AKS, consulte los siguientes artículos: