TriForce : Accélération sans perte de la génération de longues séquences grâce au décodage spéculatif hiérarchique
TriForce: Lossless Acceleration of Long Sequence Generation with Hierarchical Speculative Decoding
April 18, 2024
papers.authors: Hanshi Sun, Zhuoming Chen, Xinyu Yang, Yuandong Tian, Beidi Chen
cs.AI
papers.abstract
Avec le déploiement massif des grands modèles de langage (LLMs) dans la génération de contenus longs récemment, une demande croissante pour une inférence efficace sur de longues séquences a émergé. Cependant, le cache clé-valeur (KV), stocké pour éviter les recalculs, est devenu un goulot d'étranglement critique en augmentant linéairement en taille avec la longueur de la séquence. En raison de la nature auto-régressive des LLMs, l'intégralité du cache KV est chargée pour chaque token généré, entraînant une faible utilisation des cœurs de calcul et une latence élevée. Bien que diverses méthodes de compression pour le cache KV aient été proposées pour atténuer ce problème, elles souffrent d'une dégradation de la qualité de génération. Nous présentons TriForce, un système hiérarchique de décodage spéculatif qui est évolutif pour la génération de longues séquences. Cette approche exploite les poids originaux du modèle et un cache KV dynamique et parcimonieux via la récupération comme modèle de brouillon, qui sert de couche intermédiaire dans la hiérarchie et est ensuite spéculé par un modèle plus petit pour réduire sa latence de brouillon. TriForce permet non seulement des accélérations impressionnantes pour Llama2-7B-128K, atteignant jusqu'à 2,31 fois sur un GPU A100, mais démontre également son évolutivité dans la gestion de contextes encore plus longs. Pour le paramétrage de déchargement sur deux GPU RTX 4090, TriForce atteint 0,108s/token—soit seulement la moitié de la lenteur de la base auto-régressive sur un A100, qui atteint 7,78 fois sur notre système de déchargement optimisé. De plus, TriForce performe 4,86 fois mieux que DeepSpeed-Zero-Inference sur un seul GPU RTX 4090. La robustesse de TriForce est mise en évidence par ses performances exceptionnelles et constantes à travers diverses températures. Le code est disponible à l'adresse suivante : https://github.com/Infini-AI-Lab/TriForce.
English
With large language models (LLMs) widely deployed in long content generation
recently, there has emerged an increasing demand for efficient long-sequence
inference support. However, key-value (KV) cache, which is stored to avoid
re-computation, has emerged as a critical bottleneck by growing linearly in
size with the sequence length. Due to the auto-regressive nature of LLMs, the
entire KV cache will be loaded for every generated token, resulting in low
utilization of computational cores and high latency. While various compression
methods for KV cache have been proposed to alleviate this issue, they suffer
from degradation in generation quality. We introduce TriForce, a hierarchical
speculative decoding system that is scalable to long sequence generation. This
approach leverages the original model weights and dynamic sparse KV cache via
retrieval as a draft model, which serves as an intermediate layer in the
hierarchy and is further speculated by a smaller model to reduce its drafting
latency. TriForce not only facilitates impressive speedups for Llama2-7B-128K,
achieving up to 2.31times on an A100 GPU but also showcases scalability in
handling even longer contexts. For the offloading setting on two RTX 4090 GPUs,
TriForce achieves 0.108s/tokenx2014only half as slow as the
auto-regressive baseline on an A100, which attains 7.78times on our
optimized offloading system. Additionally, TriForce performs 4.86times than
DeepSpeed-Zero-Inference on a single RTX 4090 GPU. TriForce's robustness is
highlighted by its consistently outstanding performance across various
temperatures. The code is available at
https://github.com/Infini-AI-Lab/TriForce.