Kangaroo: Lossless Self-Speculative Decoding via Double Early Exiting

Nov 25, 2024 | By Bud Ecosystem

In the research paper “Kangaroo: Lossless Self-Speculative Decoding via Double Early Exiting,” the authors introduce a new framework called Kangaroo designed to make large language models (LLMs) run faster. This framework enables the training of a smaller, lightweight model in a cost-effective way.

This new framework is introduced to speedup the text generation process of LLMs, especially when using a method called Speculative Decoding (SD). Here’s a simplified breakdown of the challenges the authors wanted to solve with their research;

  1. Memory Bandwidth Bottleneck: Even though LLMs do a lot of mathematical calculations, the real bottleneck or slowdown comes from the time spent moving data in and out (read/write operations) of the memory where the model’s weights are kept.
  2. Improving Decoding Speed: To make text generation faster, earlier research proposed a method called Speculative Decoding (SD). This involves a “draft” model that predicts several possible next words in parallel, instead of just one at a time. The goal is to quickly generate multiple words and then verify which ones are good. However, this approach has two main issues:
  3. Draft Model Training: Creating a draft model that can predict well often requires significant resources and time, which isn’t always practical.
  4. Draft Model Inference Speed: If the draft model itself is slow, it doesn’t help much in speeding up the text generation.
  5. Self-Drafting Models: Some methods, like LLMA and REST, try to address these issues by generating draft tokens using different strategies without needing a separate draft model. Medusa, for example, uses additional neural network components to create draft tokens, but it still has limitations in the effectiveness of these tokens and their generation speed.

Kangaroo Framework

The authors tackled the challenges of speeding up text generation in large language models using their new framework, Kangaroo. Here’s how they addressed the issues:

  • Autoregressive Self-Draft Model: They designed a lightweight and efficient model called an “autoregressive self-draft model.” This model is built on a fixed, shallow part of the large LLM and uses a small, additional adapter module.

The adapter network, which includes only one multi-head attention layer and two normalisation layers, has only 11.3% of the parameters compared to Medusa-1’s heads. Despite its simplicity, this design proves to be both efficient and powerful.

  • Early Exiting Mechanism: To further reduce latency, they implemented an early exiting mechanism during the draft token generation phase. This mechanism allows the model to exit early from processing when it’s generating simpler tokens, thus avoiding unnecessary computation for more complex tokens.
  • Self-Speculative Decoding Framework: They introduced the Kangaroo framework, which uses a double early-exit mechanism. First, the smaller self-draft model exits early from the shallow layers of the large LLM and connects to the adapter network to generate draft tokens. Second, it applies early exiting during the drafting phase to minimize computational overhead on difficult tokens.
  • Low-Cost Training and Deployment: Kangaroo offers a cost-effective way to train a lightweight model. Since the self-draft model and the large LLM share some of the KV cache and computation, the primary additional requirement for deployment is a small adapter network.
  • Performance Validation: The authors validated Kangaroo’s effectiveness through experiments on the Spec-Bench benchmark. Kangaroo achieved up to a 1.7× speedup compared to Medusa-1 while using 88.7% fewer additional parameters (67 million vs. 591 million).

In summary, the authors improved text generation speed by creating a lightweight model with a simple architecture and an efficient early exiting mechanism, thereby reducing computational costs and latency while maintaining performance

Tags:

Efficient Expert Pruning

Evolutionary Strategies

SMoE models

Sparse Mixture-of-Experts

Bud Ecosystem

Bud Ecosystem is an AI research company specializing in multi-modal Generative AI. Our mission is to simplify AI and break down the technical and financial barriers that prevent enterprises and individuals from accessing it.

Related Blogs

WaaV: an open-source audio AI gateway. Seventy Providers, One Interface, Sub-Millisecond Overhead
WaaV: an open-source audio AI gateway. Seventy Providers, One Interface, Sub-Millisecond Overhead

We’ve open-sourced WaaV Audio AI Gateway. It is a real-time voice AI gateway written in Rust, sitting between an application and the fragmented ecosystem of speech providers, offering one WebSocket and one REST interface in place of thirty different SDKs. This article explains what the project does, why it was built the way it was, […]

Connectors: one governed layer between your agents and every tool
Connectors: one governed layer between your agents and every tool

An AI agent that can only produce text is a demonstration. An agent that can create a ticket, update a record in the CRM, post to a channel, or trigger a deployment is doing work. The distance between the two is integration. To act on the world, an agent needs a reliable, permissioned way to […]

The economics of hybrid AI deployment
The economics of hybrid AI deployment

Most enterprise AI decisions start with the wrong question. Teams ask whether to build on a frontier API or to self-host an open model, as if the two were mutually exclusive and one had to win outright. Framed that way, the answer is always unsatisfying. The API looks expensive at scale. On-premises looks risky and […]

Understanding Native Tools in Bud Agent Builder: Web Fetch
Understanding Native Tools in Bud Agent Builder: Web Fetch

When teams evaluate AI agent platforms, “the agent can fetch a URL” sits near the top of every feature checklist — and it shouldn’t carry much weight, because everyone can do it. The Claude API can do it. OpenAI’s agent tools can do it. A dozen scraping APIs can do it. A junior engineer can […]