ChatPaper.aiChatPaper

BASS: Campionamento Speculativo Ottimizzato con Attenzione in Batch

BASS: Batched Attention-optimized Speculative Sampling

April 24, 2024
Autori: Haifeng Qian, Sujan Kumar Gonugondla, Sungsoo Ha, Mingyue Shang, Sanjay Krishna Gouda, Ramesh Nallapati, Sudipta Sengupta, Xiaofei Ma, Anoop Deoras
cs.AI

Abstract

Il decoding speculativo è emerso come un metodo potente per migliorare la latenza e il throughput nell'hosting di grandi modelli linguistici. Tuttavia, la maggior parte delle implementazioni esistenti si concentra sulla generazione di una singola sequenza. Le applicazioni generative di intelligenza artificiale nel mondo reale spesso richiedono più risposte, e come eseguire il decoding speculativo in un contesto batch preservando i suoi vantaggi in termini di latenza pone sfide non banali. Questo articolo descrive un sistema di decoding speculativo in batch che stabilisce un nuovo stato dell'arte nella latenza di generazione di sequenze multiple e dimostra una superiore utilizzazione della GPU, nonché una qualità delle generazioni entro un budget di tempo. Ad esempio, per un modello di dimensioni 7.8B su una singola GPU A100 e con una dimensione del batch di 8, ogni sequenza viene generata a una velocità media di 5.8ms per token, con un throughput complessivo di 1.1K token al secondo. Questi risultati rappresentano una latenza all'avanguardia e un miglioramento di 2.15X rispetto al decoding regolare ottimizzato. Entro un budget di tempo in cui il decoding regolare non riesce a completare, il nostro sistema è in grado di generare sequenze con un HumanEval Pass@First del 43% e un Pass@All del 61%, superando di gran lunga quanto è fattibile con il decoding speculativo a singola sequenza. La nostra massima utilizzazione della GPU durante il decoding raggiunge il 15.8%, più di 3X rispetto al massimo del decoding regolare e circa 10X rispetto al decoding speculativo a singola sequenza.
English
Speculative decoding has emerged as a powerful method to improve latency and throughput in hosting large language models. However, most existing implementations focus on generating a single sequence. Real-world generative AI applications often require multiple responses and how to perform speculative decoding in a batched setting while preserving its latency benefits poses non-trivial challenges. This paper describes a system of batched speculative decoding that sets a new state of the art in multi-sequence generation latency and that demonstrates superior GPU utilization as well as quality of generations within a time budget. For example, for a 7.8B-size model on a single A100 GPU and with a batch size of 8, each sequence is generated at an average speed of 5.8ms per token, the overall throughput being 1.1K tokens per second. These results represent state-of-the-art latency and a 2.15X speed-up over optimized regular decoding. Within a time budget that regular decoding does not finish, our system is able to generate sequences with HumanEval Pass@First of 43% and Pass@All of 61%, far exceeding what's feasible with single-sequence speculative decoding. Our peak GPU utilization during decoding reaches as high as 15.8%, more than 3X the highest of that of regular decoding and around 10X of single-sequence speculative decoding.
PDF111December 15, 2024