[Sobre el uso de vectores de espacio latente continuo en las ventanas de contexto de los transformadores y los LLM] #DiscursoDominical Se habla mucho de cómo los vectores del espacio latente continuo pueden hacer que los transformadores resuelvan problemas de manera eficiente. Algunos de estos argumentos, en mi opinión, contradicen la conservación de la complejidad computacional. Los argumentos/analogías giran en torno a la idea de que estos tokens son una "superposición" (piense en la unión) de tokens discretos. Como contexto, los transformadores operan en un espacio latente L donde cada token (lingüístico) corresponde a un vector en L. Sin embargo, esta correspondencia es unilateral: no cada vector en L corresponde a un token único. Sin embargo, estos vectores (que no tienen una correspondencia única entre tokens) podrían considerarse como una combinación lineal de vectores correspondientes a dichos tokens. De esta forma, pueden verse como una unión/superposición de esos tokens. Resulta bastante obvio que las operaciones del transformador consideran las entidades en la ventana de contexto como simples vectores del espacio de incrustación. En particular, a la operación de propagación hacia adelante le resulta indiferente si los vectores procesados tienen tokens únicos asociados o no. Esto significa que, en lo que respecta a la operación de transformación, la ventana de contexto puede contener tanto "vectores de tokens" (es decir, vectores de incrustación que corresponden a tokens únicos) como "vectores latentes" (es decir, vectores de incrustación que no corresponden a tokens únicos). Como se mencionó anteriormente, estos vectores latentes pueden considerarse combinaciones lineales de los vectores de tokens. Un uso evidente de esta flexibilidad es que los tokens intermedios emitidos por el transformador pueden ser perfectamente estos vectores latentes; solo los tokens de solución (que se transmiten a los usuarios finales) necesitan ser vectores de tokens. De hecho, como argumentamos en https://t.co/f6E3c2j4dm (https://t.co/t4uYw5WTmD), siempre que los tokens intermedios no parezcan tener ninguna semántica de usuario final, permitirles ser cualquier vector del espacio latente proporciona mucha más flexibilidad para aprender aumentos de prompts apropiados (véase https://t.co/jl0LyWJUys). Otro argumento que se ha esgrimido sobre el uso de vectores latentes en los tokens intermedios es como una forma de "mejorar la eficiencia en la resolución de los problemas subyacentes". Ahora bien, soy bastante escéptico respecto a considerar los LLM como una solución a los problemas. Nuestro trabajo muestra, por ejemplo, que existe poca relación entre la longitud de los tokens intermedios y la complejidad subyacente del problema (véase https://t.co/UKgCwgHKeQ), lo que sugiere que es más bien un indicador de intentos por conectar la distribución de entrenamiento con la instancia de prueba. Sin embargo, si consideramos los transformadores como formas de "calcular soluciones" (aunque eso no sea lo que realmente ocurre en los LLM preentrenados), entonces permitir que los transformadores operen sobre vectores latentes en lugar de vectores de tokens parece corresponder a realizar cálculos sobre representaciones disyuntivas de entidades en lugar de sobre entidades individuales. Operar con representaciones disyuntivas puede mejorar la eficiencia promedio en distribuciones específicas, pero no la complejidad en el peor de los casos. Como prueba de validez, la abstracción y la jerarquía pueden considerarse como operaciones con representaciones disyuntivas, y ninguna de ellas modifica la complejidad computacional del problema en el peor de los casos; véase https://t.co/aXreC5YKPN o https://t.co/UDzu2Qp7WK para argumentos sobre planificación. Por eso, me muestro escéptico ante las afirmaciones de que los transformadores con tokens latentes pueden aumentar la eficiencia de forma demostrable en todos los casos. Por ejemplo, un artículo reciente (https://t.co/4oQzEUIFPk) argumenta que los transformadores con tokens latentes pueden resolver el problema de alcanzabilidad de un grafo en un tiempo proporcional al diámetro del grafo (¡e incluso cita la superposición cuántica!). Esto no tiene sentido —sobre todo en el peor de los casos— sin violar la conservación de la complejidad (o sin cambiar el significado de «resolver» la alcanzabilidad; por ejemplo, los resultados empíricos del artículo parecen conformarse con una precisión inferior al 100%). Cuando discutíamos este artículo en nuestra reunión de grupo el viernes, les comenté a mis alumnos la analogía con el algoritmo de planificación Graphplan, que acelera la planificación STRIPS (estrechamente relacionada con la alcanzabilidad). Hace años, demostramos que la aceleración de Graphplan se puede entender en términos de proyección sobre conjuntos de estados en lugar de estados individuales. Sin embargo, si se opera directamente sobre representaciones de unión, se puede llegar a un punto donde la representación parezca alcanzar el estado objetivo, ¡pero en realidad podría no ser posible extraer una ruta válida! (En el caso de Graphplan, esta extracción implica un paso de decodificación con un coste exponencial, y si falla, la proyección sobre estados disyuntivos continúa). Esto se ilustra en la figura a continuación 👇 y en el artículo original en https://t.co/s20cFEOfQk (o en la Figura 3 y la discusión adjunta en https://t.co/YqN0fh7vp6). tldr; Creo que los tokens latentes pueden aumentar considerablemente la flexibilidad de las mejoras de prompts que los LLM pueden aprender después del entrenamiento, pero no estoy del todo de acuerdo con que "reduzcan la complejidad de los problemas en consideración".
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.
![[Sobre el uso de vectores de espacio latente continuo en las ventanas de contexto de los transformadores y los LLM] #Dis](https://pbs.twimg.com/media/G4yh-s7b0AAH-4k.png)