Después de completar el proceso de fine tuning con OpenAI, el siguiente paso crítico es validar que tu modelo personalizado funcione correctamente. Existen dos formas principales de hacerlo: desde el Playground de OpenAI y mediante código Python. Ambas permiten evaluar la calidad de las respuestas y analizar las métricas de desempeño para asegurarte de que el entrenamiento fue exitoso.
¿Cómo probar tu modelo con fine tuning en el Playground de OpenAI?
Para comenzar a probar tu modelo personalizado, lo primero es acceder al Playground de OpenAI y seleccionar el modelo con fine tuning desde la lista de modelos disponibles [0:12]. Una vez seleccionado, es fundamental configurar el system message, es decir, el mensaje de sistema que utilizaste en tu conjunto de datos de entrenamiento.
En el caso del proyecto, el system message indica que el modelo es un asistente de estudiantes y clientes de Platzi [0:30]. Si omites este paso, el modelo responderá con información genérica de su base de conocimientos general, no con los datos específicos con los que fue entrenado.
¿Por qué es importante ajustar la temperatura del modelo?
Al hacer una pregunta como "¿qué curso tomar para aprender redes neuronales?", el modelo puede generar una alucinación, es decir, una respuesta que parece correcta pero contiene información inventada [1:06]. Para mitigar esto, se recomienda:
- Bajar la temperatura del modelo a cero.
- Esto fuerza al modelo a responder con mayor certeza basándose en los datos de entrenamiento.
- La respuesta se vuelve más precisa y delimitada.
Con la temperatura en cero, el modelo responde correctamente con el curso específico y su URL en Platzi [1:27].
¿Cómo exportar el experimento a código Python?
Desde el Playground, puedes exportar tu configuración seleccionando View Code y copiando el código Python generado [1:40]. Este código se pega en una notebook llamada Fine Tune Model Analysis, disponible en los recursos del curso.
El código exportado incluye:
- La llamada a la API de chat completions.
- El identificador del modelo con fine tuning.
- Los mensajes configurados en el Playground.
- Los parámetros como la temperatura.
Para obtener la respuesta, es necesario agregar la instrucción de impresión: print(response.choices[0].message.content) [2:26].
¿Cómo obtener información y métricas del modelo desde Python?
Más allá de hacer preguntas, Python permite acceder a la información detallada del modelo. Utilizando client.fine_tuning.jobs.retrieve() con el ID del modelo, se obtienen datos como la fecha de creación, errores durante el proceso, el nombre del modelo y los hiperparámetros utilizados [2:52].
Para encontrar el ID correcto, debes ir a la sección de fine tuning en la interfaz de OpenAI y copiar el ID del modelo, no su nombre [3:12].
¿Cómo analizar los resultados de entrenamiento con pandas?
Dentro de la información del modelo se encuentra el archivo de resultados de métricas. Se accede a él con client.files.content() usando el nombre del archivo obtenido previamente [3:48].
El contenido viene como un string con todas las métricas de cada paso de entrenamiento. Para interpretarlo de forma legible, se utiliza pandas [4:22]:
- Se hace un split por saltos de línea para separar filas.
- Se divide por comas para separar cada registro.
- Se crea un dataframe con las columnas: train loss, training accuracy, validation loss y valid mean token accuracy.
Los resultados muestran que en el último paso del entrenamiento:
- La pérdida de entrenamiento (train loss) fue de 0.3, la más baja registrada.
- El accuracy alcanzó 0.9, un valor cercano a 1 que indica un desempeño sólido [4:55].
¿Cómo visualizar el desempeño del modelo con gráficas?
Convirtiendo los datos a valores numéricos, se pueden graficar con matplotlib para observar la evolución del entrenamiento paso a paso [5:10]. En la gráfica se aprecia que:
- El training accuracy aumenta progresivamente hasta llegar a 0.9.
- El train loss disminuye de forma constante, lo cual es el comportamiento esperado.
Esta visualización confirma que el modelo tiene un buen desempeño general.
Como ejercicio práctico, compara la calidad de respuestas, el costo y las métricas entre el modelo entrenado con más datos y el que entrenaste con menos datos en clases anteriores. Podrías descubrir que un modelo con menos datos logra un desempeño similar a menor costo. Comparte tus hallazgos en los comentarios.