La vitesse de décodage du modèle Transformer a toujours été un goulot d’étranglement majeur limitant son application. Récemment, des chercheurs de l'Institut coréen des sciences et technologies, LG et DeepMind ont surmonté conjointement ce problème. Ils ont proposé une nouvelle architecture appelée Block Transformer, qui a augmenté la vitesse de décodage de 10 à 20 fois ! Le cœur de ce développement révolutionnaire réside dans le « découpage » intelligent du mécanisme d'attention de Transformer, qui résout efficacement le problème de la faible utilisation du GPU dans Transformer traditionnel et réduit considérablement la surcharge de mémoire.
Bien que le modèle Transformer soit puissant, son efficacité en matière de décodage a toujours été un casse-tête. Cependant, des chercheurs de l'Institut coréen des sciences et technologies, LG et DeepMind nous ont surpris cette fois-ci : ils ont proposé une nouvelle architecture Transformer appelée Block Transformer, qui a directement augmenté la vitesse de décodage de 10 à 20 fois !
Comment cela se fait-il ? Il s'avère qu'ils ont « coupé » le mécanisme d'attention du Transformateur. De cette façon, la méthode inefficace du Transformer d'origine pour accéder au cache KV global à chaque fois qu'un jeton est généré a été complètement renversée.
Les chercheurs ont analysé les défauts du Transformer original : l'utilisation effective du GPU était inférieure à 1 %, et les 99 % restants étaient utilisés pour l'accès à la mémoire. C'est évidemment déraisonnable, c'est pourquoi ils ont proposé Block Transformer. Cette nouvelle architecture utilise la décomposition de l'attention au niveau du bloc et de l'attention intra-bloc pour faire exploser directement le débit de raisonnement du modèle.
Plus précisément, le flux de travail de Block Transformer est le suivant : coupez d'abord la séquence en blocs, puis utilisez Embedder pour convertir chaque bloc en un vecteur d'intégration. Block Decoder est responsable du traitement des vecteurs d'intégration de blocs et de la capture des dépendances globales entre les blocs ; Token Decoder est responsable du traitement des dépendances locales entre les jetons et de la génération de séquences de jetons.
Cette méthode améliore non seulement la vitesse d’inférence, mais réduit également considérablement la surcharge de mémoire. Certains internautes ont déclaré avoir eu une idée similaire auparavant, mais les performances du modèle résultant étaient insuffisantes. Désormais, cette méthode semble avoir effectivement réduit le cache KV.
De plus, la précision du Block Transformer sur plusieurs tâches sans tir est comparable, voire légèrement supérieure, à celle du Transformer original de même taille, ce qui prouve qu'il améliore l'efficacité sans sacrifier la qualité.
Les implications de cette recherche ne s’arrêtent pas là. Cela réduit également le coût de formation du modèle, la surcharge d'accès à la mémoire secondaire de l'attention globale est réduite de 16 fois et l'utilisation du GPU est également augmentée de 1 % à 44 %.
Adresse papier : https://arxiv.org/abs/2406.02657
L'émergence de Block Transformer a élargi de nouvelles possibilités d'application des modèles Transformer et a également fourni une nouvelle direction pour l'optimisation de l'efficacité des modèles de langage à grande échelle à l'avenir. Son amélioration significative en termes de vitesse et d’efficacité devrait promouvoir le développement et l’application ultérieurs de la technologie de l’IA.