Estuvimos presentes en el inicio de las 12 Jornadas Regionales de Software Libre organizadas por FLISOL, Via Libre, Facultad de Cs Exactas, Físicas y Naturales de la UNC, Libre Base y Salta LUG.
Las jornadas tuvieron lugar a lo largo de 4 días. Nosotros nos apersonamos en este primer taller ya que no abundan los talleres ni espacios donde se trabaje en detalle aspectos técnicos de modelos de lenguaje natural.
Guido Ivetta y Hernán Maina preparon para este taller una introducción a principios básicos de entrenamiento de LLMs (como contexto, seq2seq, encoder, decoder, masks, tokenization, pre-training y fine-tuning) usando como ejemplo BERT y GPT-2. Todo en un muy bien detallado notebook de colab donde se propone utilizar los modelos ya mencionados y la plataforma Hugging Face para hostear y compartir el resultado de nuestro entrenamiento.
Personalizando BERT
Los corpus o datasets propuestos para esta actividad en español son subtítulos de Peppa Pig, versos del Martin Fierro y reseñas de vinos. Y para inglés un conjunto de preguntas de no videntes sobre imagenes tomadas por ellos mismo duante la ejecución de sus tareas cotidianas.
El proceso de carga de datasets, tokenización, enmascarado aleatorio, entrenamiento y evaluación midiendo la perplejidad está muy claramente detallado en el colab. https://github.com/nanom/llm_adaptation_workshop.git
Una vez hecho el fine-tuning se puede comparar como completa una frase enmascarada el modelo base vs el modelo entrenado. Por ejemplo el resultado de entrenamiento usando Martin Fierro suele completar las frases de forma solemne y dramática. Mientras que Peppa Pig suele completar de forma más risueña e infantil como es de esperar.
Por ejemplo:
Sent Peppa Bert (%) Base Bert (%)
------------------------- ------------- ----- ----------- -----
No encuentro mis [MASK]!
cosas 6.1% - 20.8%
botas 4.7% ! 13.7%
armas 4.0% piernas 4.1%
zapatos 3.8% zapatos 3.2%
ojos 3.4% pies 2.9%
Sent Fierro Bert (%) Base Bert (%)
------------------------- ------------- ----- ----------- -----
No encuentro mis [MASK]!
gafas 55.3% - 20.8%
zapatos 18.1% ! 13.7%
botas 8.8% piernas 4.1%
zapatillas 5.4% zapatos 3.2%
guantes 1.0% pies 2.9%
Sent Peppa Bert (%) Base Bert (%)
------------------------- ------------- ----- ----------- -----
Por la tarde tomo [MASK].
te 21.4% [UNK] 8.1%
cafe 7.7% te 5.4%
algo 2.8% tren 3.4%
desayuno 2.7% v 3.1%
siesta 2.5% otra 1.9%
Sent Fierro Bert (%) Base Bert (%)
------------------------- ------------- ----- ----------- -----
Por la tarde tomo [MASK].
sol 4.7% [UNK] 8.1%
agua 2.9% te 5.4%
asiento 1.8% tren 3.4%
frio 1.3% v 3.1%
cafe 1.2% otra 1.9%
Personalizando GPT
En esta oportunidad vamos a tratar de generar textos en el estilo de un autor. Los corpus propuestos son todos en español. Los mismo 3 del ejercicio anterior más selecciones de textos de 3 autores: Julio Cortázar, Edgar Allan Poe y José Sarmago (estos últimos dos previamente traducidos del inglés y portugués).
En este caso optamos por incluir como dataset una transcripción de un episodio de La Venganza Será Terrible. A continuación algunos resultados de la experiemntación:
Encontrando personas
Además de algunos valiosos rudimentos técnicos nos apersonamos en Córdoba para encontrarnos con personas que estén explorando modelos generativos y pudimos entablar contacto con otras asociaciones como Fundación Via Libre, Democracia en Red y el Media Lab de CePIA (Facultad de Artes UNC). Nos llevamos muchos contactos y ganas de tender puentes para colaboraciones futuras.