Destilación y superalineamiento en Machine Learning (tomo I)

10/4/2024
AUTOR
Colegio de matemáticas Bourbaki

En redes neuronales profundas existe un concepto muy útil llamado Transfer Learning el cual permite transportar el conocimiento de un modelo neuronal a otro, en cierto sentido esto es la base del célebre fine-tuning del que tanto hemos escuchado para los LLM.

Esta facultad de transferir conocimiento es una de las enormes ventajas del enfoque ad hoc de los modelos neuronales y desde mi punto de vista es una de las principales razones detrás de su éxito.

Esta edición de nuestro Bourbakisme la dedicaremos a dos métodos de transfer learning uno llamado Destilación y el otro Superalineamiento. El texto está dividido en dos volúmenes y en este primero nos concentraremos exclusivamente en la Destilación.

El Superalineamiento es un método propuesto el año pasado por científicos de OpenAI cuyas aplicaciones van desde la optimización de recursos hasta el control de Superinteligencias Artificiales con fines de seguridad, en el segundo volumen hablaremos más de este tema fascinante.

Debo agradecerle a Alfredo Garbuno Iñigo una enriquecedora conversación sobre Topic Modeling que hemos tenido hace algunas semanas en un curso sobre NLP, la cual me ha ayudado a elegir este tema para nuestro Bourbakisme.

Destilación de profesores de Ciencia de Datos

Para explicar mejor el método de destilación propuesto por Geoffrey Hinton vamos a comenzar con una analogía simple por ejemplo en la preparación de un curso.

Supongamos que una profesora Fernanda del Colegio de Matemáticas Bourbaki ha impartido durante más de 5 años algún curso sobre Ciencia de Datos, digamos que este profesor:

  1. Conoce muy bien el material el material del curso.
  2. Es capaz de explicar el mismo concepto de distintas maneras dependiendo del background del alumnado.
  3. Tiene mucha práctica respondiendo algunas de las posibles preguntas que comúnmente se hacen durante las sesiones.

¿Es posible que la profesor Fernanda le enseñe a otro profesor Gabriel únicamente a contestar las preguntas de los estudiantes? Es decir, nos gustaría que Gabriel sea capaz de contestar a la mayoría de las preguntas tan bien como lo hace Fernanda aunque Gabriel no ser capaz de presentar el material o adecuar las explicaciones a las necesidades de los alumnos.

Supongamos que Gabriel se compromete a revisar en las grabaciones todas las sesiones de preguntas que se han respondido en los últimos años. ¿Es suficiente con este entrenamiento supervisado? Es muy probable que no lo sea y que las respuestas de Gabriel estén sobre-ajustadas.

La idea detrás de la destilación de redes neuronales que tanto éxito ha tenido inclusive para modelos LLM o de visión es la siguiente:

Durante el proceso de entrenamiento del profesor Gabriel, se añadirán a la supervisión una versión indecisa de las respuestas que daría Fernanda.

Pongamos un ejemplo: uno de los alumnos le preguntó hace un par de años a Fernanda si el modelo de Support Vector Machine es un modelo probabilista. La respuesta correcta a esta pregunta es NO, si suponemos que Fernanda es una buena profesora entonces seguramente respondió eso, sin embargo esta respuesta está en las grabaciones y la podría aprender Gabriel. Aquí es donde entran las respuestas indecisas.

Si además suponemos que Fernanda ha leído la documentación de scikit-learn entonces ella podría dudar levemente entre responder NO y responder DEPENDE, pues mediante la técnica de Platt Scaling sí es posible obtener una probabilidad. Al ser un primer curso de Machine Learning Fernanda contestó que NO, pero en su cabeza dudó si valía la pena o no explicar la técnica de Platt.

El método de destilación para que Fernanda entrene a Gabriel a responder a las preguntas de los estudiantes en el Colegio Bourbaki consiste en incluir una versión exagerada de la duda que tuvo Fernanda para que Gabriel note que aunque la respuesta DEPENDE no es ideal en ese curso, está más cerca de ser correcta que la respuesta SÍ.

Destilación à la Hinton

Supongamos que existe una red neuronal profunda F que tiene como salida una función Softmax y un conjunto de datos supervisado S donde la red neuronal alcanza un desempeño formidable, no necesariamente F se entrenó en S. Deseamos entrenar una red neuronal G con el objetivo de que aprenda los patrones del conjunto de datos S, a saber que generalice sobre este conjunto con un desempeño similar al de F.

En uno de los artículos más importantes del área titulado Distilling the Knowledge in a Neural Network, Geoffrey Hinton junto a sus co-autores propuso una función de pérdida que le sume a la función de error (cross-entropy) entre la predicción de G y la etiqueta en S, la función de error (cross-entropy) entre las predicciones indecisas de G y de F.

La manera formal de hacer a las predicciones indecisas es siguiendo una analogía de la termodinámica, cuando se aumenta la temperatura T>1, la entropía del sistema aumentará. En nuestro ejemplo anterior deseamos que la probabilidad del NO disminuya mientras que la del DEPENDE aumente:

Oferta académica del Colegio Bourbaki