MEGA Hub

Efficient Knowledge Distillation for LLMs: Offline Top-K Logits and a Fused Chunked KL Loss

Authors

Do you know Bakbergen Ryskulov?You can claim authorship or link another user.Do you know Iker García-Ferrero?You can claim authorship or link another user.Do you know David Montero?You can claim authorship or link another user.Do you know David Jansen?You can claim authorship or link another user.Do you know Ali Hashemi?You can claim authorship or link another user.Do you know Jezabel R. Garcia?You can claim authorship or link another user.Do you know Antonio Tiene?You can claim authorship or link another user.Do you know Román Orús?You can claim authorship or link another user.

Abstract

Small language models are often the only option for deployment under tight latency, cost, and on-premises constraints, but they are rarely trained from scratch: a compressed model is usually recovered through knowledge distillation (KD). This recovery step largely decides the final quality, yet it is expensive. We present a practitioner's study of how to make distillation training efficient, organised around two systems contributions. First, we show that offline KD (caching the teacher's top-K logits once and training the student against the cache) matches online distillation at near-identical training loss while removing the teacher from memory, running about 29\% faster per iteration, and reaching up to 41\% higher throughput on a single H200 GPU. Second, we introduce a fused, chunked KL loss that never materialises the full vocabulary-sized logit tensor, making peak memory linear in the sequence length. This removes the memory spike that otherwise caps context length and lets us train at four times the context (32{,}768 tokens) on a single GPU. A separate output-head-only toy benchmark isolates the loss kernel and confirms its memory and iteration-rate scaling from 4K to 256K tokens. Together these make large-scale healing and hundreds of ablations affordable. We also report supporting ablations on loss design and sequence packing. We release our chunked-loss implementation: https://github.com/CompactifAI/Full-Chunked-KL-Loss.

Community

00