2 puntos por GN⁺ 2024-03-29 | 1 comentarios | Compartir por WhatsApp
  • Investigadores del MIT y otras instituciones confirmaron que los modelos de lenguaje grandes (LLM), base de chatbots de IA como ChatGPT, suelen usar una función lineal simple para extraer algunos hechos almacenados
  • Esta función cambia según el tipo de hecho, como “el instrumento que toca una persona” o “el estado donde nació una persona”, y la misma función de decodificación se aplica a hechos de tipos similares
  • Tras estimar funciones para 47 relaciones y probarlas cambiando el sujeto, lograron recuperar la información correcta del objeto en más del 60% de los casos para relaciones como “la capital de un país”
  • Incluso cuando el modelo daba una respuesta incorrecta, muchas veces la respuesta correcta seguía presente internamente, lo que llevó a un attribute lens para ver en qué capa del transformer se almacenaba cierta información
  • No todo el conocimiento se almacena de forma lineal, así que como siguientes tareas de investigación quedan los hechos que no pueden hallarse con funciones lineales y la validación de precisión en modelos más grandes

Una forma simple de recuperar conocimiento encontrada dentro de los LLM

  • Investigadores del MIT y varias instituciones obtuvieron resultados que muestran que los complejos modelos de lenguaje transformer a menudo usan funciones lineales simples para recuperar hechos almacenados
  • Una función lineal es una forma simple que representa una relación recta entre dos variables
    • Incluso dentro de los LLM, que realizan cálculos no lineales complejos, parte de la recuperación de conocimiento funciona con este mecanismo simple
  • El artículo relacionado es “Linearity of Relation Decoding in Transformer Language Models”, y la investigación se presentará en la International Conference on Learning Representations

Los hechos se manejan como relaciones entre sujeto y objeto

  • Gran parte del conocimiento almacenado en un transformer puede expresarse como una relación que conecta un sujeto y un objeto
    • “Miles Davis plays the trumpet” es una relación que conecta al sujeto Miles Davis con el objeto trumpet
    • En el prompt “Miles Davis plays the...”, el modelo debe responder trumpet, no Illinois, que es el estado donde nació Miles Davis
  • A medida que el modelo adquiere más conocimiento sobre un tema, varios hechos sobre ese tema quedan almacenados a través de múltiples capas
  • Cuando entra una consulta, el modelo debe decodificar el hecho más relevante para generar la respuesta

Funciones de decodificación lineal que cambian según el tipo de relación

  • Mediante experimentos para analizar LLM, los investigadores confirmaron que en algunos casos el modelo decodifica la información relacional con una función lineal simple
  • La función cambia según el tipo de hecho que se quiere recuperar
    • La función usada para producir el instrumento que toca una persona es distinta de la usada para producir el estado donde nació una persona
  • Los investigadores desarrollaron un método para estimar estas funciones y calcularon funciones para 47 relaciones, como “la capital de un país” y “el cantante principal de una banda”
  • Como las relaciones posibles son infinitas, en el experimento se usó un subconjunto representativo de tipos de hechos que podían tratarse de esta manera

Más de 60% de recuperación exitosa y los límites del almacenamiento lineal

  • Cada función se probó cambiando el sujeto para verificar si podía recuperar la información correcta del objeto
    • La función de “la capital de un país” debe recuperar Oslo cuando el sujeto es Norway y London cuando el sujeto es England
  • Las funciones recuperaron la información correcta en más del 60% de los casos
  • Parte de la información dentro del transformer puede codificarse y recuperarse de esta manera
  • Sin embargo, no toda la información está codificada linealmente
    • En algunos hechos, aunque el modelo los conoce y predice texto coherente con ellos, los investigadores no logran encontrar una función lineal
    • En esos casos, el modelo está usando un método más complejo para almacenar esa información

Un attribute lens para ver qué sabe el modelo

  • Las funciones estimadas se usan para comprobar qué considera verdadero el modelo sobre un tema específico
  • Un experimento empezó con el prompt “Bill Bradley was a” y aplicó funciones de decodificación correspondientes a “practicó un deporte” y “asistió a una universidad”
    • Así verificaron si el modelo sabía que el senador Bill Bradley fue jugador de baloncesto y que estudió en Princeton
  • Este método muestra que, incluso si durante la generación de texto el modelo se concentra en otra información, internamente puede tener codificada diversa información relacionada
  • A partir de esto se creó una cuadrícula llamada attribute lens
    • El attribute lens visualiza en cuál de las múltiples capas del transformer se almacena la información sobre una relación específica
    • Puede generarse automáticamente y podría usarse como un método simplificado para entender el modelo

Posible corrección de errores y tareas de investigación pendientes

  • Incluso cuando el modelo responde mal a un prompt, muchas veces conserva internamente la información correcta
  • Este enfoque podría usarse para encontrar y corregir información incorrecta dentro del modelo, y podría ayudar a reducir la tendencia de los chatbots de IA a dar respuestas inexactas o sin sentido
  • La investigación futura se centrará en entender mejor qué ocurre con los hechos que no están almacenados linealmente
  • También planean experimentar con modelos más grandes y estudiar la precisión de las funciones de decodificación lineal
  • Mor Geva Pipek, de Tel Aviv University, evaluó que este estudio reveló una pieza faltante para entender cómo los LLM recuerdan conocimiento factual durante el razonamiento y mostró que los complejos cálculos no lineales para extraer atributos pueden aproximarse bien con funciones lineales simples

1 comentarios

 
GN⁺ 2024-03-29
Opiniones de Hacker News
  • Es un gran trabajo, pero creo que también deja ver un gran problema de la corriente actual de la IA. En la práctica, no está intentando salirse de neuronas o conjuntos de reglas que no son muy distintos de un perceptrón, cercano a una simple función de suma.
    Solo porque la topología de feedforward de una sola etapa de neuronas sea la más fácil para el entrenamiento y la ejecución en GPU, queda la duda de si realmente puede considerarse la mejor para realizar las tareas.
    Hay muchos métodos de entrenamiento y esquemas de codificación peculiares que no se usan porque las grandes bibliotecas no los soportan, y hasta que haya un cambio real en el conjunto de reglas fundamentales de las redes neuronales, creo que seguiremos peleando contra “perceptrones con etapas añadidas”.

    • Eso equivale a ignorar la montaña de papers que intentaron construir modelos con todos los enfoques posibles. Al final fue evolución por selección, y al final ganaron los transformers.
    • Dijiste “un perceptrón que es una simple función de suma”; me pregunto entonces qué propondrías.
      Entiendo que un aspecto de la NP-completitud es que cualquier algoritmo de esa clase de complejidad puede reducirse, en última instancia, a algo como una “función de suma”.
    • No entiendo que se diga que estamos atrapados en un máximo local. En los últimos 2 años literalmente hubo avances científicos en IA.
    • No conozco el tema lo suficiente, pero aunque otros modelos puedan mostrar mejores métricas con el mismo número de neuronas o en términos de tiempo de ejecución asintótico, creo que la métrica más importante termina siendo la exactitud y precisión por dinero invertido.
      Aunque GPT necesitara 10 veces más neuronas para alcanzar el mismo rendimiento, si comprar el cómputo y la memoria para esas neuronas cuesta menos, GPT es un mejor medio para lograr el objetivo.
    • Es la lección amarga. http://www.incompleteideas.net/IncIdeas/BitterLesson.html
      Si se encuentra una estructura más simple y entrenable, tal vez se haya dado con algo. Los intentos de adornarlo con complejidad ya se probaron y desaparecieron.
  • Me pregunto si decir que “los hechos se almacenan como funciones lineales” significa que dentro de un LLM hay, de alguna forma, un espacio de hechos de N dimensiones codificado, y que los hechos están incrustados allí como puntos, hiperesferas o variedades de Voronoi.
    Si es así, ¿recordar un hecho, visto de forma abstracta, consiste en que la red neuronal calcule o recuerde una clave a usar y luego haga una búsqueda clave-valor en ese espacio?
    Si es así, también me pregunto cómo se incorpora un almacén clave-valor dentro de un modelo de grafo de propagación por aristas, y si ya existen técnicas conocidas para que las personas lo construyan manualmente de esa forma.
    Además, ¿no podría verse la técnica del “palacio de la memoria” como un ejemplo de cómo el cerebro humano mete hechos en una función lineal para recuperarlos con más facilidad?

    • La operación básica de los transformers, softmax(Q.K^T).V, en esencia se parece a una consulta a un almacén clave-valor.
      Se hace el producto punto de la consulta con las claves y luego, mediante softmax, se elige en gran medida una clave ganadora, es decir, la clave más cercana a la consulta, y se usa el valor correspondiente.
      La diferencia es que es un poco más suave, puede acertar a varias claves y puede optimizarse con métodos tipo descenso por gradiente para encontrar los mapeos QKV adecuados.
    • La normalización por capas parece restringir los tokens, es decir, los enormes vectores que representan fragmentos de entrada, a posiciones sobre una esfera unitaria, y creo que el mecanismo de atención funciona rotando vectores no restringidos según la suma de sus ángulos con todos los demás vectores.
      Leí el paper por encima, pero el punto central parece ser que hay funciones relativamente simples, ocultas dentro de redes más grandes o recuperables de ellas, y que esas funciones manejan ciertas categorías de relaciones entre conceptos.
      Si se pudieran separar esas funciones, en teoría podrían optimizarse de forma más directa, así que esto podría derivar en avances en la manera de entrenar este tipo de modelos.
      Al final, una buena crítica a la IA “moderna” es la idea de que solo estamos mezclando una sopa de álgebra lineal, pero si permitimos cierto grado de modularidad o reduccionismo, podríamos acercarnos más a un enfoque basado en componentes que a una simple caja negra.
    • No entiendo bien por qué un “palacio de la memoria” sería una función lineal.
    • El palacio de la memoria es un hack que funciona porque, en sentido evolutivo, el propósito de nuestro cerebro es ayudarnos a explorar el mundo y actuar eficazmente dentro de él.
      Para eso, el cerebro tiene que ser muy bueno recordando ubicaciones, planificando rutas dentro y alrededor de ellas, y convirtiéndolas en palabras o movimientos.
  • Realmente interesante. De inmediato me hace pensar en qué función codifica el conocimiento de programación y, si también fuera una función lineal simple, si podríamos subir bibliotecas estándar u otras bibliotecas directamente al cerebro de un LLM sin entrenamiento costoso ni fine-tuning que arruine el rendimiento.
    Por ahora suena como una capacidad de ciencia ficción, pero parece que nos estamos acercando cada vez más.

    • Buen punto: quizá se pueda subir directamente información predicativa a un LLM. Podría ser especialmente útil cuando haya que codificar datos tabulares.
      En algún lugar, alguien debe estar leyendo esto y pensando en una forma de exportar Excel o bases de datos a un LLM.
      Es alentador que aparezcan investigaciones que logran mirar con éxito dentro de la caja negra.
      Otro gran resultado en esta área fue un paper que encontró una representación del tablero de juego dentro de un LLM entrenado para jugar. Me pregunto si hay otros buenos resultados por este lado.
      Como señalan los autores, los LLM hacen más que codificar información predicativa; eso es solo una parte.
  • Me pregunto si esta relación sigue manteniéndose en los modelos más recientes, a los que se les ha metido mucho más cómputo.
    Intuitivamente, creo que Word2Vec fue posible gracias a la estructura inherente del lenguaje. Luego, si se entrena con terabytes de texto humano codificado con Word2Vec y codificación posicional, durante el entrenamiento parece volverse capaz de predecir la siguiente codificación con un nivel de cognición sobrehumano.
    Siento que la bolsa de palabras como forma de entrada y salida, y la ventana de contexto limitada que permitió que funcionara la codificación posicional, crean un gran desajuste de impedancia con la estructura cognitiva interna.
    Por eso, dado que se ha invertido muchísimo más cómputo en GPT-4 y similares, es muy posible que hayan evolucionado nuevas formas de representación, y tal vez los humanos todavía tengan que descubrirlas sondeando todos los pesos.
    Creo que MemGPT, por su memoria a largo plazo ilimitada, podría terminar convirtiéndose en AGI, aunque la versión más probable se parecería más al protagonista de Memento.
    [1] https://en.wikipedia.org/wiki/Memento_(film)

    • Perdón si lo leí mal, pero parece que estás diciendo que los LLM que usan GPT-3+, como ChatGPT, son modelos de bolsa de palabras. Son modelos secuenciales.
  • Me recuerda al famoso ejemplo de embeddings “King - Man + Woman = Queen”. El hecho de que haya propiedades semánticas dentro de los embeddings explica por qué también funcionan bien funciones lineales simples.

  • Me recuerda a los vectores de relación de word2vec. Si sumas un vector como “de X”, a menudo sale la respuesta correcta.
    El principio sigue siendo el mismo, y quizá los transformers simplemente se volvieron “un poco” mejores en mapear entidades al espacio de embeddings.

    • Yo también pienso eso. Me cuesta creer que las fronteras de decisión dentro de estos modelos estén lo suficientemente retorcidas, como los pliegues del cerebro, como para aprovechar realmente los vectores FP32.
      Es decir, creo que se parece más a x < 1.5 es “frío” y x > 1.5 es “caliente”, que a algo como x = 0 es “volar”, x = 0.01 es “manejar” y x = 0.02 es “morado”.
      Por eso la cuantización, incluso la cuantización de 1 bit, suele funcionar.
      También es la razón por la que se obtienen buenos resultados al pasar texto o imágenes por modelos tipo BERT o CLIP y luego aplicar modelos clásicos de machine learning que suelen usar fronteras de decisión lineales.
  • Los LLM parecen un buen mecanismo de compresión.
    Es sorprendente poder tener una copia de llama localmente en la PC y, en la práctica, acceder a casi todo internet.

    • No llega ni de cerca a “casi todo internet”. Ni siquiera se acerca al 1%.
      Según los dumps más recientes, Common Crawl tiene 4,300 millones de páginas, pero Google estimó en 2016 que en la web había 130 billones de páginas.
      La diferencia entre 130 billones y 4,300 millones es casi 130 billones. Incluso si lo reducimos al índice de texto buscable de Google, son “cientos de miles de millones de páginas” y aproximadamente 100 PB, frente a los 400 TB de Common Crawl.
    • Cierto, pero es compresión con pérdida. Las partes perdidas se rellenan con alucinaciones en el momento de la inferencia.
    • El aprendizaje PAC es compresión.
      La aprendibilidad PAC, la dimensión VC finita y la compresión de la siguiente forma son completamente equivalentes.
      https://arxiv.org/abs/1610.03592
      Básicamente, una neurona individual o un perceptrón solo divide el espacio en dos subespacios.
  • No entiendo cómo un archivo CSV/base de datos/modelo de 70,000 millones de “parámetros” con pesos de 4 bits se convierte en un LLM/GPT conversacional que parece casi erudito en todos los temas.
    Investigando, ¿los 4 bits son simplemente un método de compresión y al final el modelo ve f32?
    Dicen que la cuantización es el proceso de mapear los números de punto flotante de 32 bits que son los pesos de una red neuronal a una representación de muchos menos bits, como valores de 4 bits, por eficiencia de almacenamiento y memoria.
    La descuantización ocurre cuando se usa el modelo, es decir, durante la inferencia o, en algunos casos, durante el entrenamiento, y los pesos cuantizados de 4 bits se convierten de nuevo en números de punto flotante usados en los cálculos reales.
    Entonces me pregunto cuál es la relación entre los “parámetros” y “la cantidad de tokens únicos que conoce el modelo, es decir, el tamaño del vocabulario”.
    A simple vista, se dice que LLaMA, en comparación con GPT-3, solo tiene un vocabulario de 32,000 y 65,000 millones de parámetros.
    Dicen que los 65,000 millones de parámetros de un modelo como LLaMA funcionan como un sistema de mapeo muy complejo que decide cómo responder a la entrada con base en relaciones aprendidas entre tokens de los datos de entrenamiento.

    • La respuesta simple es que no se convierte en eso.
      Dicho de forma un poco más compleja, un dump de texto comprimido de Wikipedia tampoco llega a 70 GB, y esto es una compresión con pérdida de internet.
    • Aquí, cuantización se refiere a la precisión de cada valor dentro de un vector, matriz o tensor.
      Si la longitud de los embeddings de tokens de ese modelo es 1024, incluso con cuantización de 1 bit cada token tiene 2^1024 valores posibles.
      Si la longitud de contexto es de 32,000 tokens, las entradas posibles son 32,000^2^1024.
  • ¿Se podría decir, a grandes rasgos, que un LLM en modo de entrenamiento genera automáticamente muchísimas reglas IF-THEN a partir de enormes cantidades de información que antes eran imposibles de manejar?

  • Este paper está genial, y también me gusta que hayan corrido experimentos para validar una idea así. Pero no estoy seguro de qué tan novedosa sea la idea en sí.
    Si un LLM aprende de forma natural tendencias estadísticas simples entre palabras, ¿no era esperable este resultado?
    Más bien, me parece mucho más interesante que haya mostrado claramente que no todo el comportamiento de los LLM puede explicarse de una forma tan simple.