Publicado: 12 de enero de 2023
Colaborador: Dave Bergmann
La destilación del conocimiento es una técnica de machine learning que tiene como objetivo transferir los aprendizajes de un gran modelo preentrenado, el "modelo de profesor", a un "modelo de estudiante" más pequeño. Se utiliza en el deep learning como una forma de compresión de modelos y transferencia de conocimientos, particularmente para redes neuronales profundas masivas.
El objetivo de la destilación del conocimiento es entrenar un modelo más compacto para imitar un modelo más grande y complejo. Mientras que el objetivo del deep learning convencional es entrenar una red neuronal artificial para acercar sus predicciones a los ejemplos de salida proporcionados en un conjunto de datos de entrenamiento, el objetivo principal de la destilación de conocimientos es entrenar a la red de estudiantes para que coincida con las predicciones realizadas por la red de profesores.
La destilación de conocimiento (KD) se aplica con mayor frecuencia a grandes redes neuronales profundas con muchas capas y parámetros aprendibles. Este proceso lo hace particularmente relevante para la proliferación en curso de modelos masivos de IA generativa con miles de millones de parámetros.
El concepto tiene sus orígenes en un artículo de 2006 titulado "Model Compression". Caruana et al utilizaron lo que era un modelo de clasificación de última generación en ese momento, un enorme modelo de conjunto compuesto por cientos de clasificadores de base, para etiquetar un conjunto de datos grande y luego entrenó una red neural única en ese conjunto de datos recién etiquetado mediante un aprendizaje supervisado. Este modelo compacto, “mil veces más pequeño y más rápido”, estuvo a la altura del rendimiento del conjunto.1
Desde entonces, las técnicas de destilación del conocimiento se han empleado con éxito en diversos campos, incluido el procesamiento del lenguaje natural (PLN), el reconocimiento de voz, el reconocimiento de imágenes y la detección de objetos. En los últimos años, el estudio de la destilación del conocimiento ha sido de particular importancia para los modelos de lenguaje de gran tamaño (LLM). Para los LLM, KD se ha convertido en un medio eficaz para transferir capacidades avanzadas de los principales modelos propietarios a modelos de código abierto más pequeños y accesibles.
En muchos entornos del mundo real, la precisión y la capacidad de un modelo de inteligencia artificialno son, por sí solas, suficientes para que el modelo sea útil: también debe ajustarse al presupuesto disponible de tiempo, memoria, dinero y recursos computacionales.
Los modelos más eficaces para una tarea determinada suelen ser demasiado grandes, lentos o caros para la mayoría de los casos prácticos, pero a menudo tienen cualidades únicas que surgen de la combinación de su tamaño y su capacidad de preentrenamiento en una cantidad masiva de datos de entrenamiento. Estas habilidades emergentes son especialmente evidentes en los modelos de lenguaje autorregresivos, como GPT o Llama, que exhiben capacidades más allá de su objetivo explícito de entrenamiento de simplemente predecir la siguiente palabra en una secuencia. Por el contrario, los modelos pequeños son más rápidos y menos exigentes desde el punto de vista computacional, pero carecen de la precisión, el refinamiento y la capacidad de conocimiento de un modelo grande con muchos más parámetros.
En el artículo fundacional de 2015, "Distilling the Knowledge in a Neural Network", Hinton et al propusieron sortear estas limitaciones al dividir el entrenamiento en dos etapas distintas con propósitos diferentes. Los autores presentaron una analogía: mientras que muchos insectos tienen una forma larvaria optimizada para extraer energía y nutrientes del entorno y una forma adulta totalmente diferente optimizada para viajar y reproducirse, el deep learning convencional utiliza los mismos modelos tanto para la fase de entrenamiento como para la de despliegue, a pesar de sus diferentes requisitos.
Inspirándose tanto en la naturaleza como en el trabajo de Caruana et al, Hinton et al sugirieron que el entrenamiento de modelos grandes y engorrosos vale la pena si hacerlo es la mejor manera de extraer la estructura de los datos, pero presentaron un tipo diferente de entrenamiento, la destilación, para transferir ese conocimiento a un modelo pequeño más adecuado para la implementación en tiempo real.2
Las técnicas de destilación del conocimiento tienen como objetivo no solo replicar los resultados de los modelos docentes, sino también emular sus "procesos de pensamiento". En la era de los LLM, KD ha permitido la transferencia de cualidades abstractas como el estilo, la capacidad de razonamiento y la alineación con las preferencias y valores humanos.3
Además, los modelos más pequeños son en esencia más explicables: en un modelo con cientos de miles de millones de parámetros, es difícil interpretar las contribuciones de diferentes partes de la red neuronal. Transferir las representaciones aprendidas con grandes modelos de "caja negra" a modelos más simples puede ayudar a dilucidar ideas transformadoras en campos como el diagnóstico médico y el descubrimiento molecular.4
La destilación del conocimiento (KD) no se basa en ninguna arquitectura de red neuronal específica, ni siquiera requiere que la red de profesores y la red de estudiantes tengan las mismas arquitecturas: se puede aplicar a cualquier modelo de deep learning.
KD aprovecha el hecho de que las redes neuronales artificiales son "aproximadores universales": con suficientes datos de entrenamiento y una capa oculta lo suficientemente grande, una red neuronal puede aproximar cualquier función con una precisión arbitraria.5
En el machine learning convencional, el "conocimiento" de un modelo entrenado se identifica con sus parámetros aprendidos: los pesos (y sesgos) variables, aplicados a las distintas operaciones matemáticas que se producen en la red neuronal, que amplifican o disminuyen la influencia que una determinada parte de la salida de la red tiene sobre otra. Esta visión del conocimiento hace que sea difícil ver cómo un modelo puede absorber el conocimiento de otro modelo de un tamaño y estructura diferentes.
En su lugar, Hinton et al aplicaron una visión más abstracta y flexible del conocimiento como simplemente "un mapeo aprendido de vectores de entrada a vectores de salida". En otras palabras, KD interpreta el conocimiento de un modelo no como los parámetros estrictamente matemáticos que aprende durante el entrenamiento, sino como la forma en que se generaliza a nuevos datos después de ese entrenamiento.
A través de esta comprensión alternativa del conocimiento, los métodos de destilación de conocimiento apuntan a entrenar modelos de estudiantes para imitar no sólo el resultado final del modelo del maestro para una entrada determinada, sino también los pasos de razonamiento que sigue el modelo del maestro para llegar a ese resultado final. Conceptualmente, esto funciona de forma similar al ajuste de instrucciones a través de indicaciones de cadena de pensamiento (CoT), lo que mejora la calidad de las respuestas LLM enseñándoles a articular su racionalidad "paso a paso".
En el aprendizaje supervisado o autorsupervisado convencional, una función de pérdida produce un vector que representa la divergencia (o pérdida) entre las salidas del modelo y las salidas "correctas" (o la verdad fundamental) en las diferentes entradas. Al ajustar los parámetros del modelo para minimizar la pendiente (o gradiente) de este vector a través de un algoritmo de optimización como el descenso del gradiente, las salidas del modelo se acercan a esas salidas correctas. Aunque los pasos de razonamiento del modelo son "importantes" en el sentido de que influyen en su resultado final, no suelen medirse mediante una función de pérdida convencional.
La destilación del conocimiento, por el contrario, también entrena al modelo del estudiante para imitar el proceso de razonamiento del modelo del profesor a través de la adición de un tipo especializado de función de pérdida, la pérdida por destilación, que utiliza pasos de razonamiento discretos como objetivos blandos para la optimización.
El resultado de cualquier modelo de IA puede entenderse como predicciones: un LLM autorregresivo predice las siguientes palabras de una secuencia específica; un modelo de visión artificial utilizado para la clasificación de imágenes predice la categoría de una imagen determinada. Para llegar a estas predicciones finales, denominadas "objetivos difíciles" en este contexto, los modelos de deep learning suelen hacer varias predicciones preliminares y utilizan una función softmax para generar la predicción con la mayor probabilidad. Durante el entrenamiento, se utiliza una función de pérdida de entropía cruzada para maximizar la probabilidad asignada a la salida correcta y minimizar la probabilidad asignada a las salidas incorrectas.
Por ejemplo, un modelo de clasificación de imágenes predice la probabilidad de que una imagen de entrada pertenezca a cada clase conocida que el modelo está entrenado para reconocer y, a continuación, emite la clase con el valor de probabilidad más alto. En la jerga matemática del machine learning, estas predicciones individuales por clase se denominan logits. De manera similar, un LLM autorregresivo predice múltiples posibilidades para cada palabra siguiente y (dependiendo de su ajuste de temperatura) muestra una de esas posibilidades para su salida.
En la destilación del conocimiento, estas predicciones intermedias (los "objetivos fáciles") generadas por el modelo docente suelen proporcionar los principales datos de formación del modelo estudiantil. Las probabilidades relativas asignadas a estas predicciones preliminares proporcionan información valiosa sobre cómo el modelo docente tiende a generalizarse. Por ejemplo, un modelo de clasificación de imágenes tiene muchas más probabilidades de clasificar erróneamente una imagen de un zorro como "perro" que como "bocadillo". Por lo tanto, los objetivos fáciles proporcionan mucha más información por caso de entrenamiento que los objetivos duros por sí solos.
Los objetivos fáciles también ofrecen más coherencia que los difíciles: la predicción final de un modelo puede depender en última instancia de una diferencia minúscula entre dos valores logit, pero los propios valores logit tienen mucha menos varianza en el gradiente entre cada ejemplo de entrenamiento.
Dada la riqueza y estabilidad de la información proporcionada por los objetivos blandos, el modelo del alumno puede entrenarse con menos ejemplos de entrenamiento, utilizando una tasa de aprendizaje más alta, que la utilizada para entrenar el modelo original del profesor.
Para acercar las tendencias de generalización de la red de estudiantes a las de la red de profesores, la destilación del conocimiento suele utilizar dos funciones de pérdida. La primera es una función de pérdida estándar que opera sobre la "pérdida dura", midiendo los resultados finales del modelo del alumno con respecto a las etiquetas verdaderas (en el aprendizaje supervisado) o con respecto a la muestra de datos original (en el aprendizaje autosupervisado). La segunda es la pérdida por destilación, una "pérdida leve" que mide los objetivos blandos del modelo de alumno frente a los del profesor.
Debido a que puede haber varios objetivos blandos para cada ejemplo de entrenamiento, la pérdida por destilación mide la diferencia entre la distribución de probabilidad de los objetivos blandos de la red de profesores y la distribución de probabilidad de los del alumno. La divergencia de Kullback-Leibler (o "divergencia KL") se utiliza habitualmente con este fin.
Aunque los logits son el enfoque típico de la transferencia de conocimientos profesor-alumno, hay varias formas en las que el "conocimiento" puede manifestarse en una red neuronal profunda. Otros métodos de destilación de conocimientos se centran en los pesos y las activaciones de las capas ocultas de la red, o en las relaciones entre las distintas partes de la red.
Estas diferentes formas de conocimiento suelen dividirse en tres categorías: conocimiento basado en respuestas, conocimiento basado en características o conocimiento basado en relaciones.
El conocimiento basado en respuestas, el género más común de destilación de conocimiento, se centra en la transferencia de información desde la capa de salida final del modelo docente. En un método típico de KD basado en respuestas, el modelo de estudiante se entrena para generar logits que coincidan con las predicciones del modelo de profesor.
Cuando los objetivos blandos del modelo del profesor tienen una entropía baja, en otras palabras, cuando las predicciones son extremadamente "seguras", como si un modelo de clasificación produjera un logit muy cercano a 1 (que representa la seguridad) para una clase y logits cercanos a 0 para todas las demás, no proporcionan tanta información. Por lo tanto, los métodos basados en la respuesta suelen utilizar un ajuste de temperatura alta para las salidas de los modelos, lo que aumenta la entropía de las predicciones de los modelos. Esto garantiza una distribución de probabilidad más variable y, por tanto, una mayor cantidad de información de cada ejemplo de entrenamiento.
El conocimiento basado en entidades se centra en la información que se transmite en las capas intermedias o en las "capas ocultas" de una red neuronal. Aquí es donde las redes neuronales tienden a realizar la extracción de características, la identificación de características y patrones distintivos de los datos de entrada que son relevantes para la tarea en cuestión.
Por ejemplo, en las redes neuronales convolucionales que se utilizan sobre todo para tareas de visión artificial como segmentación de imágenes, cada capa oculta sucesiva captura detalles progresivamente más ricos a medida que los datos se transmiten a través de la red. En un modelo utilizado para clasificar imágenes de animales por especies, las primeras capas ocultas podrían simplemente discernir la presencia de la forma de un animal en una parte de la foto; las capas ocultas intermedias podrían discernir que el animal es un ave; las últimas capas ocultas, justo antes de la capa de salida, discernirían los detalles matizados que diferencian una especie de ave de otra especie estrechamente relacionada.
El objetivo de los métodos de destilación de conocimiento basados en características es, por lo tanto, entrenar al modelo de estudiante para que aprenda las mismas características que la red de profesores. Las funciones de pérdida de destilación basadas en características se utilizan para medir y luego minimizar la diferencia entre las activaciones de características de las dos redes.
Mientras que tanto el conocimiento basado en respuestas como el basado en características se centran en los resultados de capas de modelos específicas, la destilación de conocimiento basada en relaciones se centra en las relaciones entre diferentes capas o entre mapas de entidades que representan las activaciones en diferentes capas o ubicaciones.
Básicamente, el conocimiento basado en las relaciones representa quizá el enfoque más completo para entrenar a la red de alumnos a emular el "proceso de pensamiento" del modelo de profesor. Estas relaciones y correlaciones pueden modelarse de varias formas, como correlaciones entre mapas de rasgos, matrices que representan la similitud entre diferentes capas, incrustaciones de rasgos o distribuciones probabilísticas de representaciones de rasgos.
Los métodos de destilación de conocimientos también se pueden clasificar por su impacto en la red de profesores. Aunque el proceso de destilación propuesto originalmente por Hinton et al y las numerosas evoluciones posteriores de esa metodología tienen como único objetivo formar a la red de estudiantes, otros esquemas de destilación también implican la actualización simultánea de las ponderaciones de la red de profesores.
En la destilación fuera de línea, la red de profesores ya está preentrenada y los pesos de sus modelos se congelan para evitar más cambios. La destilación offline es típica de muchos enfoques KD para LLM, en los que el profesor suele ser un modelo propietario más grande para el que no se pueden cambiar los pesos del modelo.
En algunas circunstancias, es posible que no se disponga de un modelo de profesor debidamente entrenado previamente y con un rendimiento adecuado, o que un científico de datos desee adaptar la red de profesores a su caso de uso específico. Los programas de destilación en línea tienen como objetivo capacitar simultáneamente a las redes de profesores y estudiantes.
Por ejemplo, Cioppa et al propusieron un esquema de destilación en línea para los modelos de segmentación semántica utilizados en eventos deportivos en vivo, donde las circunstancias visuales pueden cambiar a lo largo de una coincidencia. Su objetivo era eludir la disyuntiva entre la velocidad de una red más pequeña y la precisión de una red más grande, entrenando continuamente un modelo lento y eficaz con datos de partidos en directo y destilando al mismo tiempo los conocimientos de ese modelo más grande en un modelo más pequeño y rápido, desplegado para generar resultados en tiempo real.6
En la autodestilación, una red actúa como profesor y alumno. Mientras que la destilación convencional del conocimiento implica la transferencia de conocimientos de un modelo a otro, la autodestilación se puede entender como la transferencia de conocimientos de las capas más profundas de una red a las mismas capas poco profundas.7
En la autodestilación, se añaden múltiples "clasificadores superficiales" basados en la atención a las capas intermedias del modelo a distintas profundidades. Durante el entrenamiento, los clasificadores más profundos actúan como modelos docentes y guían el entrenamiento de los otros módulos basados en la atención a través de dos tipos de pérdidas de destilación: una pérdida métrica de divergencia KL en las salidas y una pérdida de regularización L2 en los mapas de características.
Una vez que el modelo está entrenado y listo para la inferencia, todos estos clasificadores superficiales se eliminan del modelo. Básicamente, esto permite que el modelo sea más grande y tenga mayor capacidad de reconocimiento de patrones durante el entrenamiento, pero luego sea más pequeño y, en consecuencia, más rápido y eficiente cuando se implemente.
Con la llegada de los LLM, la destilación de conocimientos ha surgido como un medio importante de transferir las capacidades avanzadas de los modelos grandes, a menudo propietarios, a modelos más pequeños, a menudo de código abierto. Como tal, se ha convertido en una herramienta importante en la democratización de la IA generativa.
En la mayoría de los casos, los LLM con mayores capacidades son demasiado costosos y exigentes desde el punto de vista computacional para que puedan acceder a ellos muchos usuarios potenciales, como aficionados, nuevas empresas o instituciones de investigación. Además, a pesar de su rendimiento avanzado y sus capacidades únicas, los LLM patentados, por su naturaleza, no pueden adaptarse a aplicaciones nicho y casos de uso específicos.
Asimismo, la mayoría de los LLM comercialmente viables son demasiado grandes y exigentes desde el punto de vista computacional para ser utilizados localmente en teléfonos móviles u otros dispositivos periféricos. Esto presenta diversas complicaciones logísticas, informáticas y de privacidad que, de otro modo, se sortearían con un modelo más pequeño que pudiera ejecutarse directamente en dispositivos móviles. Así pues, la compresión de modelos de KD constituye un medio prometedor para transferir las cualidades emergentes de los grandes modelos a modelos lo suficientemente pequeños como para ejecutarse en un dispositivo.
Otros usos comunes de la destilación de conocimientos para los LLM incluyen:
Hacer que los LLM sean multilingües, por ejemplo mediante el uso de varios modelos de profesor, cada uno de ellos especializado en una lengua distinta, para transferir conocimientos lingüísticos a un único modelo de alumno8 o coentrenando modelos en lenguas distintas para generar incrustaciones similares para la misma frase.9
Uso de LLM propios de mayor tamaño para generar conjuntos de datos para el ajuste de instrucciones de modelos más pequeños. Por ejemplo, el modelo Orca de Microsoft "aprendió a partir de señales ricas de GPT-4, incluidos rastros de explicaciones, procesos de pensamiento paso a paso y otras instrucciones complejas". 10
El uso de un modelo de profesor para clasificar los resultados de los alumnos, destilando sus preferencias y ajustes de alineación mediante una variación del aprendizaje de refuerzo de los comentarios humanos (RLHF) duplicó el aprendizaje de refuerzo de los comentarios de IA (RLAIF).11
Entrenar, validar, ajustar e implementar IA generativa, modelos fundacionales y capacidades de aprendizaje automático con facilidad y crear aplicaciones de IA en una fracción del tiempo con una fracción de los datos.
Descubra la biblioteca de watsonx AI studio de modelos fundacionales rentables y de nivel empresarial desarrollados por IBM, modelos de código abierto y modelos procedentes de proveedores externos, para ayudar a los clientes y socios a escalar y poner en funcionamiento rápidamente la IA generativa con un riesgo mínimo.
Nota: todos los enlaces residen fuera de ibm.com
1 "Model compression", Actas de la Duodécima Conferencia Internacional ACM SIGKDD sobre Descubrimiento de Conocimiento y Minería de Datos. 23 de agosto de 2006
2 "Distilling the Knowledge in a Neural Network". arXiv. 9 de marzo de 2015
3 "A Survey on Knowledge Distillation of Large Language Models". arXiv. 8 de marzo de 2024
4 "Improving drug-target affinity prediction via feature fusion and knowledge distillation", Briefings in Bioinformatics. Mayo de 2023
5 "A three layer neural network can represent any multivariate function". arXiv. 16 de enero de 2022
6 "ARTHuS: Adaptive Real-Time Human Segmentation in Sports Through Online Distillation". Conferencia IEEE/CVF sobre visión artificial y talleres de reconocimiento de patrones de 2019 (CVPRW). 2019
7 "Self-Distillation: Towards Efficient and Compact Neural Networks". IEEE Transactions on Pattern Analysis and Machine Intelligence. vol. 44. nº 8, pp. 4388-4403. 1 de agosto de 2022
8 "Multilingual Neural Machine Translation with Knowledge Distillation". arXiv. 30 de abril de 2019
9 "Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation". arXiv. 21 de abril de 2020
10 "Orca: Progressive Learning from Complex Explanation Traces of GPT-4". Hugging Face. 5 de junio de 2023
11 "RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback", arXiv. 1 de septiembre de 2023