[À propos de l'utilisation des vecteurs d'espace latent continus dans les fenêtres contextuelles des transformateurs et des LLM] #SundayHarangue On parle beaucoup de la façon dont les vecteurs issus d'un espace latent continu peuvent permettre aux transformateurs de résoudre efficacement les problèmes. Certains de ces arguments vont à l'encontre du principe de conservation de la complexité computationnelle, à mon avis. Les arguments/analogies s'articulent autour de la vision de ces jetons comme une « superposition » (pensez à l'union) de jetons discrets. En guise de contexte, les transformateurs opèrent dans un espace latent L où chaque jeton (linguistique) correspond à un vecteur dans L. Cette correspondance est cependant unilatérale : tous les vecteurs de L ne correspondent pas à un jeton unique. On peut toutefois considérer ces vecteurs (qui n'ont pas de correspondance unique avec les jetons) comme une combinaison linéaire de vecteurs correspondant aux jetons. De cette façon, ils peuvent être vus comme une union/superposition de ces jetons. Il devrait être assez évident que les opérations du transformateur considèrent les entités de la fenêtre de contexte comme de simples vecteurs issus de l'espace d'intégration. En particulier, l'opération de propagation avant ne tient pas compte de la présence ou non de jetons uniques associés aux vecteurs traités. Cela signifie que, pour ce qui est de l'opération de transformation, la fenêtre de contexte peut contenir à la fois des « vecteurs de jetons » (c'est-à-dire des vecteurs d'intégration correspondant à des jetons uniques) et des « vecteurs latents » (c'est-à-dire des vecteurs d'intégration ne correspondant pas à des jetons uniques). Comme mentionné précédemment, ces vecteurs latents peuvent être considérés comme des combinaisons linéaires des vecteurs de jetons. L'un des avantages évidents de cette flexibilité réside dans le fait que les jetons intermédiaires émis par le transformateur peuvent parfaitement correspondre à ces vecteurs latents ; seuls les jetons de solution (destinés aux utilisateurs finaux) doivent être des vecteurs de jetons. En effet, comme nous l'expliquons dans https://t.co/f6E3c2j4dm (https://t.co/t4uYw5WTmD), tant que les jetons intermédiaires ne semblent pas avoir de sémantique pour l'utilisateur final, le fait de leur permettre d'être n'importe quel vecteur de l'espace latent offre une flexibilité considérablement accrue pour l'apprentissage d'augmentations d'invites pertinentes (cf. https://t.co/jl0LyWJUys). Un autre argument avancé concernant l'utilisation de vecteurs latents dans les jetons intermédiaires est qu'elle permet d'« améliorer l'efficacité de la résolution des problèmes sous-jacents ». Je suis assez sceptique quant à l'utilisation des LLM pour résoudre des problèmes. Nos travaux montrent, par exemple, qu'il existe peu de corrélation entre la longueur des jetons intermédiaires et la complexité sous-jacente du problème (cf. https://t.co/UKgCwgHKeQ), ce qui suggère qu'elle reflète davantage des tentatives de rapprochement entre la distribution d'entraînement et l'instance de test. Néanmoins, si l'on considère les transformateurs comme des moyens de « calculer des solutions » (même si ce n'est pas ce qui se passe réellement dans les LLM pré-entraînés), alors laisser les transformateurs opérer sur des vecteurs latents plutôt que sur des vecteurs de jetons semble correspondre à effectuer des calculs sur des représentations disjonctives d'entités plutôt que sur des entités uniques. L'utilisation de représentations disjonctives peut améliorer l'efficacité moyenne pour certaines distributions, mais pas la complexité dans le pire des cas. À titre de vérification, l'abstraction et la hiérarchie peuvent être considérées comme des opérations sur des représentations disjonctives ; or, aucune des deux ne modifie la complexité de calcul du problème dans le pire des cas. Voir https://t.co/aXreC5YKPN ou https://t.co/UDzu2Qp7WK pour des arguments relatifs à la planification. C'est pourquoi je suis sceptique quant aux affirmations selon lesquelles les transformateurs à jetons latents peuvent systématiquement améliorer l'efficacité. Par exemple, un article récent (https://t.co/4oQzEUIFPk) soutient que ces transformateurs peuvent résoudre le problème d'accessibilité des graphes en un temps proportionnel au diamètre du graphe (et cite même la superposition quantique !). Cela n'a aucun sens, surtout dans le pire des cas, sans enfreindre la conservation de la complexité (ou sans redéfinir la notion de « résolution » du problème d'accessibilité ; les résultats empiriques de l'article semblent se satisfaire d'une précision inférieure à 100 %, par exemple). Lors de notre discussion de cet article en groupe vendredi dernier, j'ai évoqué avec mes étudiants l'analogie avec l'algorithme de planification Graphplan, qui accélère la planification STRIPS (elle-même étroitement liée à l'accessibilité). Il y a plusieurs années, nous avons démontré que les gains de vitesse de Graphplan s'expliquent par la projection sur des ensembles d'états plutôt que sur des états individuels. Cependant, en opérant directement sur des représentations union, on peut arriver à un point où la représentation semble atteindre l'état final, sans pour autant pouvoir extraire un chemin valide ! (Dans le cas de Graphplan, cette extraction implique une étape de décodage dont le coût est exponentiel ; en cas d'échec, la projection sur des états disjonctifs se poursuit). Ceci est illustré dans la figure ci-dessous 👇 et dans l'article original disponible à l'adresse https://t.co/s20cFEOfQk (ou dans la figure 3 et la discussion associée disponibles à l'adresse https://t.co/YqN0fh7vp6). En résumé ; je crois que les jetons latents peuvent considérablement augmenter la flexibilité des augmentations d'invites que les LLM peuvent apprendre après l'entraînement, mais je ne suis pas tout à fait d'accord avec l'affirmation selon laquelle « ils réduisent la complexité des problèmes considérés ».
Chargement du thread
Récupération des tweets originaux depuis X pour offrir une lecture épurée.
Cela ne prend généralement que quelques secondes.
