BASS: Batched Attention-optimized Speculative Sampling
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.
662a9330a57509c0c1493ef1
Haifeng Qian
662a9330a57509c0c1493ef2
Sujan Kumar Gonugondla
extracted_pending
2024-04-25T17:30:25.419Z
61787605267320abb99df76f
/avatars/b78377529ddab0c23f67b7208b47dabf.svg
Gonugondla
user
SujanKumar
662a9330a57509c0c1493ef3
Sungsoo Ha
662a9330a57509c0c1493ef4
Mingyue Shang
662a9330a57509c0c1493ef5
Sanjay Krishna Gouda
662a9330a57509c0c1493ef6
Ramesh Nallapati
662a9330a57509c0c1493ef7
Sudipta Sengupta
662a9330a57509c0c1493ef8
Xiaofei Ma
662a9330a57509c0c1493ef9
Anoop Deoras
BASS: Batched Attention-optimized Speculative Sampling
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.
A system for batched speculative decoding enhances latency and throughput in generating multiple sequences from large language models, outperforming single-sequence speculative decoding in both speed and quality.
speculative decoding batched speculative decoding multi-sequence generation GPU utilization HumanEval Pass@First HumanEval Pass@All