Fine tuning de modelos Transformer para análisis de sentimientos

Clase 13 de 16Curso de NLP con Python

Resumen

Aprender a aplicar fine tuning permitirá aprovechar al máximo los modelos preentrenados para personalizarlos según necesidades específicas, como el análisis de sentimientos. Gracias a herramientas como Transformer, Dataset y Evaluate, se pueden adaptar modelos base con información particular, obteniendo así resultados más eficientes y ajustados a contextos reales como reseñas con emojis y caracteres especiales.

¿Qué es el fine tuning y por qué hacerlo en Transformers?

El proceso de fine tuning consiste en ajustar un modelo previamente entrenado (pretrained model) para resolver tareas específicas utilizando datos propios. Al aplicar esta técnica sobre Transformers se obtienen capacidades avanzadas, como clasificar sentimientos de reseñas con gran precisión.

Esta técnica implica:

  • Entrenar un modelo con un dataset específico y propio.
  • Adaptarlo a contextos particulares como reseñas con emojis o caracteres especiales.
  • Mejorar significativamente la precisión mediante entrenamiento especializado.

¿Cómo preparar y ajustar el dataset para entrenamiento en Transformers?

Para obtener modelos efectivos, el dataset original debe adaptarse del formato data frame al formato esperado por Transformers:

  • Primero, se importa el dataset original, validando la carga.
  • Luego se dividen los datos en tres partes: 70 % entrenamiento, 20 % test y 10 % validación.
  • Se normalizan las reseñas, calificando más de tres estrellas como positivas y menos como negativas.
  • Finalmente, se convierte el data frame al formato de dataset específico mediante Dataset from pandas.

¿Cuáles son las consideraciones al elegir un modelo base para análisis en español?

Al elegir un modelo para análisis en español, es recomendable utilizar uno específicamente diseñado para este idioma, como Roberta Base BNE, que fue entrenado con datos de la Biblioteca Nacional de España.

Aspectos importantes del modelo elegido:

  • Gran contexto y vocabulario en idioma español.
  • Facilidad para realizar tokenización exclusiva del contenido relevante (review body).
  • Alta efectividad en clasificación binaria de reseñas positivas y negativas.

¿Qué pasos seguir para entrenar y evaluar el modelo con Transformers?

Para entrenar y evaluar un modelo aplicando Transformers, considera:

  • Conectar a GPU para optimizar rendimiento.
  • Usar métricas claras como accuracy para evaluar resultados.
  • Configurar parámetros adecuados:
  • Número de epochs (dos en este caso particular).
  • Validar la buena diferenciación de categorías y cantidad de ejemplos en los grupos de datos.

Tras aproximadamente 31 minutos de entrenamiento, se puede alcanzar hasta un 85% de accuracy.

¿Cómo llevar tu modelo personalizado a producción?

Utilizando Hugging Face Hub, es posible hacer que el modelo entrenado sea accesible públicamente:

  • Configura credenciales con permisos de escritura en Hugging Face.
  • Al finalizar el entrenamiento, sube el modelo usando comandos específicos.
  • Comparte la URL del modelo una vez en la plataforma, accesible globalmente.

Una vez publicado, puedes hacer predicciones sencillas, precisas y con alta confianza:

  • "Me encantó el pantalón": reseña positiva (99% confianza).
  • "Te obliga a comprar dos unidades": reseña negativa (94% confianza).
  • "La peor compra de mi vida": reseña negativa (99% confianza).

Te invitamos a realizar tu propio entrenamiento usando fine tuning con Transformers y compartir tu resultado en Hugging Face, generando oportunidades valiosas para apoyar diversos contextos y necesidades empresariales.