Machine Learning 6 min lectura

Acelera el fine‑tuning de LLMs con datos no estructurados usando SageMaker y S3

AWS integró SageMaker Unified Studio con buckets generales de S3 para facilitar el uso de datos no estructurados en ML. En este artículo explicamos cómo aprovechar esa integración para afinar Llama 3.2 11B Vision Instruct en una tarea de Visual Question Answering usando el dataset DocVQA.

Por Redaccion TD
Acelera el fine‑tuning de LLMs con datos no estructurados usando SageMaker y S3

Resumen

AWS integró Amazon SageMaker Unified Studio con buckets generales de Amazon S3, lo que facilita que equipos trabajen con datos no estructurados para casos de machine learning y analítica. En este artículo describimos cómo esa integración permite descubrir, catalogar y consumir datos almacenados en S3 para afinar un modelo multimodal: Llama 3.2 11B Vision Instruct. El caso de uso es Visual Question Answering (VQA), donde el modelo recibe una imagen y una pregunta y devuelve una respuesta (por ejemplo, identificar la fecha de una factura en una imagen de recibo).

Objetivo y enfoque

El objetivo es demostrar un flujo completo: ingestión de datos, catalogación, preprocesamiento, fine‑tuning y evaluación. Para el ejemplo se usa el modelo Llama 3.2 11B Vision Instruct disponible desde Amazon SageMaker JumpStart y el dataset DocVQA de Hugging Face como fuente de imágenes y preguntas. El modelo base obtiene un Average Normalized Levenshtein Similarity (ANLS) del 85.3% en DocVQA, una métrica común para medir similitud entre la respuesta predicha y la respuesta real en tareas de VQA.

Para mejorar precisión se realizan tres experimentos de fine‑tuning con conjuntos de distinto tamaño: 1,000; 5,000 y 10,000 imágenes, y se monitorean los resultados con Amazon SageMaker serverless MLflow.

¿Por qué es relevante para equipos en América Latina?

  • Muchas organizaciones en la región deben procesar grandes volúmenes de datos no estructurados: facturas, recibos, documentos legales, correos, chats de soporte, y más. Integrar S3 y SageMaker facilita convertir esos activos en datasets reutilizables.
  • La separación entre equipos que producen y consumen datos (data producer vs data consumer) ayuda a mantener gobernanza y cumplimiento frente a requisitos regulatorios locales.
  • La posibilidad de usar buckets generales de S3 permite consolidar fuentes heterogéneas sin mover datos fuera de la organización.

El modelo y la métrica: ANLS

Se utilizó Llama 3.2 11B Vision Instruct desde SageMaker JumpStart como punto de partida. El puntaje base reportado para este modelo en DocVQA es ANLS = 85.3%. ANLS (Average Normalized Levenshtein Similarity) cuantifica la similitud textual entre la respuesta generada y la respuesta esperada, penalizando errores de edición. Este tipo de métrica es útil en VQA sobre documentos donde pequeñas variaciones en formato o tokenización pueden afectar la evaluación.

Datos: DocVQA y preparación

El dataset DocVQA disponible en Hugging Face es la fuente empleada para este caso y contiene, en su partición de entrenamiento, 39,500 ejemplos (cada fila incluye la imagen, la pregunta y la respuesta esperada). En el flujo mostrado se copia y conserva una porción del dataset en un bucket de S3 para que SageMaker Unified Studio lo descubra y lo catalogue.

Los pasos de preparación incluyen descargar el subconjunto deseado del dataset, almacenarlo en S3 y luego usar SageMaker Unified Studio para enriquecer y publicar el dataset al catálogo del proyecto. A partir de ese dataset raw se generan tres conjuntos de entrenamiento (1k, 5k y 10k imágenes) para comparar el impacto del tamaño de muestras en el rendimiento de la versión fina del modelo.

Arquitectura y flujo de trabajo

La solución propuesta se organiza en seis pasos principales:

  1. Crear un rol IAM con permisos de lectura sobre el bucket de S3 que contiene el dataset DocVQA.
  2. El proyecto de “data producer” en SageMaker Unified Studio descubre el contenido del bucket y agrega el dataset al catálogo del proyecto, con metadatos opcionales.
  3. El dataset se publica en SageMaker Catalog para control de versiones y auditoría.
  4. El proyecto de “data consumer” se suscribe al dataset publicado y lo hace disponible para el equipo de ML.
  5. El equipo consumidor realiza preprocesamiento y transforma los datos en los tres conjuntos de entrenamiento (1k, 5k, 10k).
  6. Se ejecutan los trabajos de fine‑tuning con SageMaker y se registran experimentos y métricas (ANLS) en una instancia serverless de MLflow administrada por SageMaker.

Este diseño separa responsabilidades (descubrimiento/catalogación vs. consumo/desarrollo) y facilita reproducibilidad, control de acceso y colaboración entre equipos.

Prerrequisitos clave

Para replicar este flujo es necesario:

  • Tener una cuenta AWS y un dominio basado en Identity Center.
  • Crear un dominio de Amazon SageMaker Unified Studio (se puede usar la configuración rápida).
  • Definir dos proyectos dentro del dominio: uno para el rol de productor de datos y otro para el rol de consumidor.
  • Garantizar que el proyecto consumidor tenga acceso a una aplicación serverless de MLflow administrada por SageMaker para seguimiento de experimentos.
  • Contar con un bucket de S3 pre‑poblado con el dataset (en este caso DocVQA).
  • Solicitar aumento de cuota para usar instancias p4de.24xlarge en trabajos de entrenamiento, según el requisito de cómputo del proyecto.

El repositorio con el notebook de Jupyter que guía el ejercicio está disponible en GitHub para quienes deseen reproducir el pipeline y los experimentos.

Evaluación y seguimiento

Amazon SageMaker serverless MLflow se utiliza para registrar las variantes del modelo y comparar métricas de desempeño —especialmente ANLS— entre las tres versiones fine‑tuneadas. Este enfoque permite iterar y decidir si mayores cantidades de datos de entrenamiento ofrecen mejoras significativas frente al costo de cómputo.

Consideraciones prácticas para adopción en la región

  • Disponibilidad de instancias y cuotas: algunas regiones pueden requerir solicitudes de aumento de cuota para instancias de GPU de alta potencia (p4de.24xlarge). Planifiquen con antelación y consideren alternativas de entrenamiento distribuidas o por lotes.
  • Gobernanza y privacidad: al catalogar datasets en S3 y SageMaker, documenten metadatos y restricciones de acceso para cumplir con regulaciones locales sobre datos personales.
  • Costos y eficiencia: evaluar el retorno de inversión al decidir el tamaño del dataset para fine‑tuning. En muchos casos, conjuntos más pequeños y bien curados logran mejoras útiles sin necesidad de escalar al máximo la infraestructura.
  • Multilingüismo y formatos locales: adaptar el preprocesamiento a formatos de documentos frecuentes en la región (facturas, comprobantes fiscales, formatos bancarios) para lograr mejoras reales en producción.

Conclusión

La integración entre SageMaker Unified Studio y buckets generales de S3 simplifica el uso de datos no estructurados en proyectos de machine learning y acelera el ciclo de experimentación. En el ejemplo presentado, se muestra cómo partir de Llama 3.2 11B Vision Instruct y el dataset DocVQA permite realizar fine‑tuning controlado y trazable, evaluar mejoras con MLflow y gestionar datasets mediante un catálogo central. Para equipos en América Latina esto representa una vía práctica para transformar activos documentales en modelos útiles para automatización y extracción de información en entornos productivos.

Para quienes quieran reproducir el ejercicio, el notebook con los pasos está disponible en el repositorio de GitHub mencionado en la referencia del ejercicio.

Fuente original: AWS ML Blog