Cómo acelerar personalizaciones de LLM con Nova Forge SDK: caso práctico con Stack Overflow

Nova Forge SDK simplifica la personalización de modelos de lenguaje y reduce la fricción técnica. En este artículo mostramos paso a paso cómo entrenar y afinar un modelo Nova usando SageMaker AI para clasificar preguntas de Stack Overflow.

Por Redaccion TD
Cómo acelerar personalizaciones de LLM con Nova Forge SDK: caso práctico con Stack Overflow

Por qué importa Nova Forge SDK

Personalizar modelos de lenguaje a menudo ha requerido equipos con conocimientos técnicos, infraestructuras complejas y tiempo considerable. Nova Forge SDK busca cerrar esa brecha: ofrece una forma más accesible de adaptar modelos de lenguaje (LLM) sin que los equipos deban lidiar con la gestión de dependencias, selección de imágenes o configuración de recetas. Esto es especialmente relevante para equipos en América Latina que buscan resultados rápidos con recursos limitados y necesitan enfocarse en producto y gobernanza, no en detalles de infraestructura.

Nova Forge SDK se concibe como parte de una continuidad de personalización: desde adaptaciones ligeras mediante Amazon SageMaker AI hasta personalizaciones profundas con las capacidades completas de Amazon Nova Forge. En esta pieza usamos el SDK para entrenar un modelo Amazon Nova a través de trabajos de entrenamiento en SageMaker AI, evaluar su desempeño base, aplicar fine-tuning supervisado (SFT), refinar con fine-tuning por refuerzo (RFT) y finalmente desplegar el modelo en un endpoint de SageMaker AI.

Caso práctico: clasificar la calidad de preguntas de Stack Overflow

El ejemplo práctico consiste en automatizar la clasificación de preguntas de Stack Overflow en tres categorías simples que ayudan a moderadores y comunidades a priorizar esfuerzos:

  • HQ: publicaciones de alta calidad sin ediciones.
  • LQ_EDIT: publicaciones de baja calidad con puntuación negativa y múltiples ediciones comunitarias, pero que permanecen abiertas.
  • LQ_CLOSE: publicaciones de baja calidad que la comunidad cerró sin una edición.

El dataset base mencionado contiene 60,000 preguntas (2016–2020). Para los experimentos se muestrearon aleatoriamente 4,700 preguntas y se dividieron en: 3,500 para entrenamiento SFT (~75%), 500 para evaluación (~10%) y 700 específicas para RFT (~15%). Para evitar el olvido catastrófico durante RFT, los 700 ejemplos de RFT se combinaron con las 3,500 muestras SFT, alcanzando 4,200 ejemplos en esa etapa.

Flujo experimental: cuatro etapas

El experimento sigue cuatro etapas principales:

  1. Evaluación baseline del modelo Nova preentrenado.
  2. Fine-tuning supervisado (SFT) con ejemplos anotados.
  3. Fine-tuning por refuerzo (RFT) partiendo del checkpoint SFT para optimizar métricas de calidad.
  4. Despliegue del modelo personalizado en Amazon SageMaker AI para inferencia.

Cada etapa se construye sobre la anterior, permitiendo medir mejoras concretas tras SFT y RFT.

Instalación y módulos clave

Instalar el SDK es directo:

pip install amzn-nova-forge

Importe los módulos principales en su entorno Python:

from amzn_nova_forge import (
    NovaModelCustomizer,
    SMTJRuntimeManager,
    TrainingMethod,
    EvaluationTask,
    CSVDatasetLoader,
    Model,
)

Estos componentes manejan desde la personalización del modelo hasta la gestión de trabajos de entrenamiento y evaluación en SageMaker AI.

Preparar los datos de evaluación y el prompt del sistema

El SDK incluye utilidades para cargar y validar datos. En este caso usamos CSVDatasetLoader para transformar el CSV a la forma esperada por los modelos Nova. El mapeo básico es:

  • query: texto de la pregunta (columna Body)
  • response: etiqueta objetivo (HQ, LQ_EDIT, LQ_CLOSE)
  • system: instrucciones que guían la clasificación

Configuración de ejemplo empleada en el experimento:

MODEL = Model.NOVA_LITE_2
INSTANCE_TYPE = 'ml.p5.48xlarge'
EXECUTION_ROLE = '<YOUR_EXECUTION_ROLE_ARN>'
TRAIN_INSTANCE_COUNT = 4
EVAL_INSTANCE_COUNT = 1
S3_BUCKET = '<YOUR_S3_BUCKET>'
S3_PREFIX = 'stack-overflow'
EVAL_DATA = './eval.csv'

loader = CSVDatasetLoader(
    query='Body',
    response='Y',
    system='system'
)
loader.load(EVAL_DATA)

Se utilizó un prompt de sistema común para todas las etapas que instruye al modelo a devolver únicamente una de las tres etiquetas (HQ, LQ_EDIT, LQ_CLOSE) sin explicación adicional.

Entrenamiento con SFT y evaluación iterativa

La primera fase de ajuste fino (SFT) permite enseñar patrones específicos del dominio (por ejemplo, señales de edición comunitaria o cierres). Tras entrenar con las 3,500 muestras SFT, se vuelve a evaluar el checkpoint resultante en el conjunto de evaluación de 500 ejemplos para comparar contra la línea base. La evaluación inicial (baseline) es crítica para entender capacidades fuera de la caja y justificar el esfuerzo de personalización.

RFT: optimizar con señales de recompensa

Luego de SFT, se aplica RFT sobre el checkpoint SFT. Para evitar perder lo aprendido en SFT, los 700 ejemplos de RFT se combinaron con las 3,500 muestras SFT (total 4,200). RFT emplea señales de recompensa para mejorar la calidad de respuestas según criterios definidos (en este caso, la precisión en la clasificación hacia las tres categorías). El flujo completo muestra mejoras medibles en cada paso cuando se evalúa de forma consistente.

Despliegue en SageMaker AI

Una vez que el modelo alcanza el comportamiento deseado, se despliega en un endpoint de Amazon SageMaker AI para servir inferencias en producción. Gracias a la integración del SDK con SageMaker AI, el paso de pasar desde un checkpoint entrenado a un endpoint administrado es directo, lo que reduce el time-to-market para aplicaciones que consumen las predicciones.

Implicaciones para equipos en América Latina

Para organizaciones latinoamericanas, Nova Forge SDK ofrece ventajas operativas: menores barreras técnicas para experimentar con LLM, integración con infraestructuras administradas como SageMaker AI y un camino claro desde evaluación hasta despliegue. Esto facilita proyectos pilotos, pruebas de concepto y despliegues productivos sin requerir grandes equipos de infraestructura.

Además, la posibilidad de combinar SFT y RFT permite a equipos afinar modelos no solo para imitar etiquetas humanas, sino también para optimizar métricas de calidad relevantes para su comunidad o negocio.

Conclusión y próximos pasos

Nova Forge SDK reduce la fricción de personalizar modelos Nova y facilita un ciclo iterativo de evaluación, SFT y RFT, terminando en despliegue gestionado en SageMaker AI. El caso de Stack Overflow ilustra cómo una tarea concreta —clasificar la calidad de preguntas— puede beneficiarse de este flujo.

Si están evaluando personalizaciones de LLM en su organización, un siguiente paso práctico es replicar la estructura del experimento: preparar un conjunto representativo de datos, establecer un prompt de sistema claro, entrenar con SFT, aplicar RFT para optimizar objetivos específicos y desplegar el modelo en un endpoint de inferencia.

Para equipos en la región, esto significa acelerar la entrega de soluciones de IA con menos fricción operativa y más foco en la gobernanza, seguridad y resultados de negocio.

Fuente original: AWS ML Blog