Contenido del curso

Fine-tuning de modelos de OpenAI

Fine-tuning de GPT-3.5 con datos propios

Resumen

Hacer fine-tuning a un modelo de OpenAI con datos propios te permite adaptar GPT-3.5 o GPT-4 a casos de uso específicos, como un chatbot de atención a estudiantes. Aquí aprendes a entrenarlo desde la interfaz gráfica y por qué conviene también automatizarlo con Python.

Cómo se inicia un proceso de fine-tuning en la plataforma de OpenAI

Dentro de la plataforma de OpenAI existe una sección específica llamada fine-tuning donde puedes ver el historial completo de modelos entrenados, incluidos los que fallaron o cancelaste. Un error común aparece cuando el dataset no cumple con la cantidad mínima de ejemplos requerida, por eso validar los datos antes de subirlos te ahorra tiempo y créditos [01:00].

Para crear un nuevo proceso, haces clic en el botón verde Create y eliges el modelo base. La interfaz muestra todos los modelos disponibles en ese momento, y también los modelos que ya fine-tuneaste previamente, porque puedes hacer fine-tuning sobre fine-tuning para mejorar el rendimiento o expandir casos de uso [01:30].

Qué modelo base conviene elegir

En la demostración se usa GPT-3.5 Turbo-1106, pero la misma lógica aplica para GPT-4, GPT-4 Turbo o futuras versiones. La elección depende de tres factores:

  • El presupuesto disponible, ya que GPT-4 cuesta más por token.
  • La complejidad del caso de uso que vas a resolver.
  • El tiempo de entrenamiento que estás dispuesto a esperar.

¿Puedo hacer fine-tuning sobre un modelo ya fine-tuneado? Sí. OpenAI te permite entrenar encima de modelos previos para mejorar resultados o ampliar capacidades sin empezar desde cero.

Cómo subir los datasets de entrenamiento y validación

Después de elegir el modelo, cargas dos archivos en formato .jsonl: uno para entrenamiento y otro para validación. En el ejemplo se suben data-train.jsonl y data-val.jsonl mediante la opción Upload New y luego Upload and Select [02:30].

Cada archivo recibe un ID único de archivo, porque OpenAI los procesa internamente en sus servidores. Con el modelo base y los dos datasets listos, presionas Create y arranca el entrenamiento.

Cuánto tarda el fine-tuning

El proceso demora alrededor de una hora en este ejemplo, pero el tiempo varía según:

  • La cantidad de datos del dataset.
  • El modelo elegido (GPT-3.5 entrena más rápido que GPT-4).
  • La carga actual de los servidores de OpenAI.

Mientras esperas, aprovecha para avanzar en otras tareas o tomar otra clase en Platzi.

Qué información entrega OpenAI cuando termina el fine-tuning

Una vez finalizado, la interfaz muestra todos los datos relevantes del modelo entrenado [04:30]. Esta información es clave para integrarlo después en tu aplicación o API.

  • El ID único del modelo fine-tuneado, que usarás cada vez que lo invoques desde la API.
  • El modelo base sobre el que se entrenó.
  • La fecha de creación y el número de épocas.
  • La cantidad de tokens utilizados, útil para estimar el consumo en dólares.
  • Los archivos exactos con los que se entrenó.

¿Para qué sirve el ID del modelo fine-tuneado? Es el identificador que pasas en tus llamadas a la API de OpenAI para que tu aplicación use tu modelo personalizado en lugar del modelo genérico.

Cómo interpretar las métricas de entrenamiento

En la parte inferior aparece una gráfica con la pérdida de entrenamiento y la pérdida de validación a lo largo de los pasos y épocas. Lo ideal es que ambas sean lo más bajas posible, porque estás trabajando con modelos de deep learning aplicado al lenguaje [05:15].

También encuentras un log completo del proceso: cuándo se creó el job, cuándo se validaron los datasets, cuándo inició el entrenamiento, qué modelo nuevo se generó y cuándo terminó.

Por qué hacer fine-tuning desde Python en lugar de la interfaz

La UI de OpenAI funciona perfectamente para experimentos puntuales, pero hay un escenario donde Python se vuelve indispensable: cuando necesitas actualizar el modelo de forma continua cada semana, cada dos semanas o cada mes [06:30].

Los datos de tus clientes cambian, aparecen nuevos casos de uso y mantener el modelo al día manualmente se vuelve insostenible. Con Python puedes meter el fine-tuning dentro de un pipeline automatizado que recoja los datos nuevos, los valide y dispare el entrenamiento sin intervención humana.

¿Cuándo conviene automatizar el fine-tuning con Python? Cuando necesitas reentrenar el modelo de forma periódica con datos frescos, o cuando el flujo forma parte de un sistema de producción que no debe depender de clics manuales.

Reto práctico para comparar resultados

Usa la notebook de Python disponible en los recursos de la clase y aplica fine-tuning con el mismo dataset, pero reduce la cantidad de ejemplos. Después compara el desempeño del modelo entrenado con menos datos contra el original. Comparte tus hallazgos en los comentarios y cuéntanos qué diferencias notaste en la calidad de las respuestas.