ChatPaper.aiChatPaper

SubGen: Генерация токенов за сублинейное время и с использованием сублинейной памяти

SubGen: Token Generation in Sublinear Time and Memory

February 8, 2024
Авторы: Amir Zandieh, Insu Han, Vahab Mirrokni, Amin Karbasi
cs.AI

Аннотация

Несмотря на значительные успехи крупных языковых моделей (LLM), их высокие требования к памяти создают трудности при их развертывании для генерации токенов в длинных контекстах. Значительный объем памяти, занимаемый декодерами LLM, обусловлен необходимостью хранения всех предыдущих токенов в модуле внимания, что является требованием, накладываемым кэшированием ключей и значений (KV). В данной работе мы сосредоточены на разработке эффективного метода сжатия KV-кэша. Эмпирические данные указывают на значительную тенденцию к кластеризации в ключевых эмбеддингах модуля внимания. Опираясь на это ключевое наблюдение, мы разработали новый метод кэширования с сублинейной сложностью, использующий онлайн-кластеризацию для ключевых токенов и онлайн-выборку по норме ell_2 для значений. В результате был создан алгоритм декодирования внимания с доказанной точностью и эффективностью, названный SubGen. Этот алгоритм не только обеспечивает сублинейный объем памяти и сублинейную временную сложность, но и устанавливает строгую границу ошибки для нашего подхода. Эмпирические оценки на задачах ответов на вопросы в длинных контекстах демонстрируют, что SubGen значительно превосходит существующие и передовые методы сжатия KV-кэша по производительности и эффективности.
English
Despite the significant success of large language models (LLMs), their extensive memory requirements pose challenges for deploying them in long-context token generation. The substantial memory footprint of LLM decoders arises from the necessity to store all previous tokens in the attention module, a requirement imposed by key-value (KV) caching. In this work, our focus is on developing an efficient compression technique for the KV cache. Empirical evidence indicates a significant clustering tendency within key embeddings in the attention module. Building on this key insight, we have devised a novel caching method with sublinear complexity, employing online clustering on key tokens and online ell_2 sampling on values. The result is a provably accurate and efficient attention decoding algorithm, termed SubGen. Not only does this algorithm ensure a sublinear memory footprint and sublinear time complexity, but we also establish a tight error bound for our approach. Empirical evaluations on long-context question-answering tasks demonstrate that SubGen significantly outperforms existing and state-of-the-art KV cache compression methods in terms of performance and efficiency.
PDF122December 15, 2024