HomeBlogSobre HAL149El Proceso de Fine-Tuning para Entrenar una IA

El Proceso de Fine-Tuning para Entrenar una IA

¿Qué es el fine-tuning?

El proceso de fine-tuning consiste en entrenar un modelo de inteligencia artificial (IA) como ChatGPT para personalizarlo y que realice mejor ciertas tareas especializadas. El entrenamiento puede consistir en dotar a la IA de más conocimientos, o hacerle responder con determinado formato y estilo.

Técnicamente el fine-tuning es hacer pequeños cambios en la estructura de un sistema de deep learning para optimizar su respuesta. En este post vamos a ver qué necesitamos para empezar, cómo es el proceso y en qué condiciones da los mejores resultados.

La clave son los datos

La clave de cualquier proceso de fine-tuning son los datos iniciales. En HAL149 se trata de recoger y formatear los datos de la empresa. Habitualmente estos datos están en forma de contenidos en PDFs, notas manuscritas, archivos word, etc. En muchos casos estos contenidos se deben limpiar de forma manual.

El fine-tuning tiene unas exigencias muy definidas en cuanto al formato de la información a utilizar. Por lo tanto es en esta etapa inicial de preparación donde se oculta la principal fuente de rozamiento (y por tanto de valor) al entrenar a medida una IA. Es un trabajo que require ciertas habilidades para las que apenas hay herramientas automáticas.

El desafío es aún mayor teniendo en cuenta que un negocio produce con regularidad contenido, una buena parte del cual debe ser utilizado en el proceso de entrenamiento. Por lo tanto se trata de un proceso recurrente y en tiempo real.

Las etapas del fine-tuning

A continuación voy a describir las etapas más generales del proceso de fine-tuning. El texto se hace algo técnico, pero he tratado de utilizar descripciones lo más abstractas posible:

  • Tokenización. El texto se tokeniza, lo que significa que se divide en unidades más pequeñas (tokens), que suelen ser palabras o trozos de palabras dependiendo del método usado.
  • Vectorización. Cada token en el texto se convierte en una representacion numérica, mediante diferentes técnicas que pueden involucrar embeddings de palabras (Word2Vec, GloVe) o de sub-palabras (Byte Pair Encoding, SentencePie). A cada palabra asignamos vectores de densidad en un espacio contínuo.
  • Tuneado. El proceso propiamente dicho de fine-tuning, utilizando la base de datos de vectores anterior. Los pesos (configuración) del modelo se actualizan y quedan personalizados para dar respuestas relacionadas con el dominio o estilo de lenguaje deseado.
  • Evaluación. A continuación el modelo se evalúa para comprobar su rendimiento en la tarea o dominio espécifico. Para ello se puede recurrir a datasets (bases de datos) y métricas específicos: basicamente el proceso consiste en examinar al modelo para ver cómo se comporta.
  • Implementación. Cuando el resultado anterior es satisfactorio el modelo se puede desplegar para su uso como asistente IA especializado en tareas de chatbot, generación de contenidos, etc.

¿Cuando usar el fine-tuning?

El fine-tuning es un proceso lento y costoso. El motivo es que requiere de bases de datos grandes, tiempo de procesamiento local (trabajo humano de preparación de la información) y de máquina (actualizar el modelo). Por lo tanto se debe optimizar su uso.

El fine-tuning es interesante para entrenamiento con información que no cambia o apenas cambia en el tiempo: se realiza una vez, o con una periodicidad larga. Utilizaremos para ello datos maestros, es decir, información como leyes, estatutos, estadísticas, vocabulario, etc. El entrenamiento con noticias y otros tipos de contenidos más “volátiles” se debe realizar mediante la técnica de vectorización o embeddings (lo comentaré en un post aparte).

 

que es el fine-tuning


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contacto

* Campos obligatorios