ChatPaper.aiChatPaper

BASS: Stapelverarbeitungsoptimierte spekulative Stichprobenziehung

BASS: Batched Attention-optimized Speculative Sampling

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

Zusammenfassung

Spekulatives Decodieren hat sich als eine leistungsstarke Methode zur Verbesserung von Latenz und Durchsatz bei der Bereitstellung großer Sprachmodelle etabliert. Die meisten bestehenden Implementierungen konzentrieren sich jedoch darauf, eine einzelne Sequenz zu generieren. Generative KI-Anwendungen in der realen Welt erfordern oft mehrere Antworten, und die Durchführung des spekulativen Decodierens in einem Stapelmodus unter Beibehaltung seiner Latenzvorteile birgt nicht-triviale Herausforderungen. Dieser Artikel beschreibt ein System des stapelweisen spekulativen Decodierens, das einen neuen Stand der Technik in Bezug auf die Latenz bei der Mehrfachsequenzgenerierung setzt und eine überlegene GPU-Auslastung sowie Qualität der Generierungen innerhalb eines Zeitbudgets aufzeigt. Zum Beispiel wird für ein Modell der Größe 7,8 Milliarden auf einer einzelnen A100 GPU und mit einer Stapelgröße von 8 jede Sequenz mit einer durchschnittlichen Geschwindigkeit von 5,8 ms pro Token generiert, wobei der Gesamtdurchsatz bei 1,1K Tokens pro Sekunde liegt. Diese Ergebnisse repräsentieren den Stand der Technik in Bezug auf die Latenz und eine 2,15-fache Beschleunigung gegenüber optimiertem regulärem Decodieren. Innerhalb eines Zeitbudgets, das reguläres Decodieren nicht abschließt, ist unser System in der Lage, Sequenzen mit einer HumanEval Pass@First-Rate von 43% und Pass@All-Rate von 61% zu generieren, was bei weitem über das hinausgeht, was mit spekulativem Decodieren von Einzelsequenzen möglich ist. Unsere Spitzen-GPU-Auslastung während des Decodierens erreicht bis zu 15,8%, mehr als das 3-fache des höchsten Wertes des regulären Decodierens und etwa 10-fach des spekulativen Decodierens von Einzelsequenzen.
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.

Summary

AI-Generated Summary

PDF111December 15, 2024