No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de OpenAI API

Curso de OpenAI API

Marcelo Arias

Marcelo Arias

Preparación de Datos para Fine-Tuning

16/25
Recursos

¿Cómo podemos crear un asistente personalizado para Platzi?

Imagina tener un asistente que, al recibir consultas de los estudiantes sobre lo que desean aprender, responda recomendando cursos específicos con enlaces directos. Este asistente se centraría exclusivamente en ofrecer cursos de Platzi, evitando responder a preguntas fuera de este ámbito. Para lograr esto, podemos utilizar Engineering Prompt para ajustar el prompt del sistema con información relevante, o emplear un entrenamiento más sofisticado a través de AI y fine-tuning.

¿Qué es Fine Tuning y cómo se utiliza?

Fine Tuning o ajuste fino es una técnica que permite ajustar modelos de IA para responder de manera más precisa a situaciones específicas, como recomendar cursos de Platzi en este caso. Emplearemos un conjunto de datos que contiene múltiples interacciones entre estudiantes y el asistente para entrenar un modelo que siga patrones y dé respuestas precisas. Con Fine Tuning, es posible definir cuáles respuestas del asistente se deben enfatizar durante el entrenamiento.

Proceso de selección de respuestas

En algunos casos, el asistente puede proporcionar varias respuestas durante una interacción. Por lo tanto, es vital seleccionar la respuesta correcta que queremos que el sistema enfoque. Esto se hace asignando valores denominados "peso" a las respuestas. Por ejemplo, si el asistente falla dos veces y acierta en una tercera, esa respuesta correcta recibe un mayor peso en el entrenamiento.

¿Cómo preparamos los datos para el entrenamiento?

Para realizar fine-tuning con OpenAI necesitamos un archivo en formato JSONL (JSON Lines). Este formato es esencialmente un archivo con líneas individuales de JSON, similar a un CSV pero únicamente compuesto por objetos.

¿Qué características deben tener los datos de entrenamiento?

  • Múltiples líneas que representan ejemplos de interacciones.
  • Al menos 10 ejemplos, siendo lo ideal más de 50 para una mayor precisión.
  • Diversidad y corrección en las respuestas para un aprendizaje sólido.

Platzi proporciona datasets preparados para este propósito: uno para entrenamiento y otro para validación, disponible en la sección de recursos. El primero entrena al modelo para responder adecuadamente, y el segundo verifica su precisión y corrección.

¿Qué parámetros del modelo son importantes?

Varios parámetros automáticos gestionan el entrenamiento, y aunque no es necesario modificarlos, son interesantes de conocer:

1 - Batch Size (tamaño del lote):

  • Número de ejemplos procesados por el modelo simultáneamente.
  • Un tamaño mayor acelera el proceso, pero es menos preciso; un tamaño menor es más lento y preciso.

2 - Learning Rate Multiplier (multiplicador de tasa de aprendizaje):

  • Determina el tamaño de los pasos de aprendizaje del modelo.
  • Pasos más grandes permiten aprender más detalles; pasos pequeños son más rápidos pero menos detallados.

3 - Number of Epochs (número de épocas):

  • Iteraciones completas sobre los datos de entrenamiento.
  • Un número bajo puede resultar en un ajuste insuficiente; un número alto puede llevar a sobre ajuste, donde el modelo memoriza respuestas.

4 - Seed (semilla):

  • Varía ligeramente el resultado del modelo.
  • Generalmente, se deja en automático.

Estos parámetros ayudan a ajustar la precisión y eficiencia del modelo durante su entrenamiento.

Para familiarizarse más con este enfoque y explorar cómo se configuran estos archivos, los usuarios pueden descargar y examinar los datasets para entrenamiento en JSONL, lo que les permitirá experimentar en sus propias aplicaciones.

Aportes 4

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

💚 ¡Hola! Los archivos .json para realizar el Fine-Tuning están disponibles en el repositorio del curso: <https://github.com/platzi/curso-openaiapi/tree/main/Fine-Tuning>
No encontré los archivos json
No se encuentran los json
En las ultimas clases no han agregado los recursos necesarios.