Optimización de Meta Llama 3: Integración de Deep Preference Optimization (DPO), Amazon SageMaker Studio y Amazon SageMaker Ground Truth para una Alineación de Preferencias Humanas

Los grandes modelos de lenguaje (LLMs, por sus siglas en inglés) poseen capacidades notables. No obstante, usarlos en aplicaciones orientadas al cliente a menudo requiere adaptar sus respuestas para alinearse con los valores e identidad de marca de una organización. En este artículo, se demuestra cómo utilizar la optimización directa de preferencias (DPO), una técnica que permite ajustar un LLM con datos de preferencias humanas, junto con Amazon SageMaker Studio y Amazon SageMaker Ground Truth, para alinear las respuestas del modelo Meta Llama 3 8B Instruct con los valores de su organización.

Con DPO, se puede ajustar finamente un LLM usando datos de preferencias humanas, como calificaciones o clasificaciones, para que genere respuestas alineadas con las expectativas del usuario final. Esta técnica es computacionalmente eficiente y ayuda a mejorar la utilidad, honestidad e inofensividad del modelo, desviándolo de abordar ciertos temas y mitigando sesgos. El proceso generalmente empieza seleccionando un modelo existente o previamente entrenado con ajuste fino supervisado (SFT, por sus siglas en inglés). A partir de ahí, el modelo genera respuestas y se recopila retroalimentación humana sobre estas respuestas. Esta retroalimentación se usa luego para realizar el ajuste fino DPO y alinear el modelo con las preferencias humanas.

Para ajustar un LLM preentrenado con SFT o cargar un modelo ya afinado para DPO, generalmente se requieren GPUs potentes. Esto también se aplica durante el ajuste fino DPO. Con Amazon SageMaker, se puede empezar rápidamente y experimentar de manera ágil utilizando notebooks gestionados de Jupyter equipados con instancias de GPU. Se puede iniciar rápidamente creando un espacio de JupyterLab en SageMaker Studio, el entorno de desarrollo integrado (IDE) diseñado específicamente para el aprendizaje automático (ML, por sus siglas en inglés), y lanzar una aplicación de JupyterLab que se ejecute en una instancia de GPU.

La orquestación del flujo de trabajo completo de recolección de datos y el desarrollo de una aplicación para que los anotadores califiquen o clasifiquen las respuestas del modelo para el ajuste fino DPO puede consumir mucho tiempo. SageMaker Ground Truth ofrece capacidades human-in-the-loop que ayudan a configurar flujos de trabajo, gestionar anotadores y recopilar retroalimentación de alta calidad y consistente.

Este artículo guía paso a paso sobre cómo usar DPO para alinear las respuestas de un modelo SFT finamente ajustado con los valores de un banco digital ficticio llamado Example Bank. El notebook se ejecuta en un espacio de JupyterLab en SageMaker Studio con una instancia ml.g5.48xlarge (8 GPUs A10G). Opcionalmente, se puede ejecutar este notebook dentro de una instancia de menor tamaño, como ml.g5.12xlarge (4 GPUs A10G) o ml.g6.12xlarge (4 GPUs L4) con cuantización de bitsandbytes. Se usa el modelo Meta Llama 3 8B Instruct, optimizado para casos de uso de diálogo del Hugging Face Hub, para generar respuestas, SageMaker Ground Truth para recopilar datos de preferencias y el DPOTrainer de la biblioteca HuggingFace TRL para el ajuste fino DPO junto con Parameter-Efficient Fine-Tuning (PEFT). Además, se despliega el modelo alineado en un endpoint de SageMaker para inferencia en tiempo real. Este enfoque se puede usar con otros modelos.

El siguiente diagrama ilustra el enfoque:

  1. Cargar el modelo Meta Llama 3 8B Instruct en SageMaker Studio y generar respuestas para un conjunto curado de preguntas comunes y tóxicas. El conjunto de datos sirve como punto de referencia inicial para el rendimiento del modelo.
  2. Almacenar las parejas de pregunta-respuesta generadas en Amazon S3. Estas se presentarán a los anotadores humanos más tarde para que puedan clasificar las respuestas del modelo.
  3. Crear un flujo de trabajo en SageMaker Ground Truth para recopilar datos de preferencias humanas para las respuestas. Esto implica crear un equipo de trabajo, diseñar una interfaz de usuario para la recopilación de retroalimentación y configurar una tarea de etiquetado.
  4. Anotadores humanos interactúan con el portal de etiquetado para evaluar y clasificar las respuestas del modelo en función de su alineación con los valores de la organización.
  5. Procesar los datos recopilados para adherirse al formato esperado por el DPOTrainer.
  6. Usar la biblioteca Hugging Face TRL y el DPOTrainer para ajustar finamente el modelo Llama 3 con los datos procesados del paso anterior.
  7. Poner a prueba el modelo ajustado en un conjunto de datos de evaluación para verificar su rendimiento y asegurarse de que cumple con los estándares deseados.
  8. Desplegar el modelo en un endpoint de SageMaker para inferencia a escala en tiempo real una vez satisfechos con el rendimiento del modelo.

Este enfoque presenta una solución integral que ofrece a las organizaciones la capacidad de personalizar las respuestas de sus modelos de lenguaje, garantizando que se alineen con los valores y expectativas específicas de sus usuarios, mediante el uso eficiente de herramientas avanzadas proporcionadas por Amazon SageMaker y la comunidad de aprendizaje automático.

Mariana G.
Mariana G.
Mariana G. es una periodista europea y editora de noticias de actualidad en Madrid, España, y el mundo. Con más de 15 años de experiencia en el campo, se especializa en cubrir eventos de relevancia local e internacional, ofreciendo análisis profundos y reportajes detallados. Su trabajo diario incluye la supervisión de la redacción, la selección de temas de interés, y la edición de artículos para asegurar la máxima calidad informativa. Mariana es conocida por su enfoque riguroso y su capacidad para comunicar noticias complejas de manera clara y accesible para una audiencia diversa.

Más popular

Más artículos como este
Relacionados

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.