SplitZip: Ultra Fast Lossless KV Compression for Disaggregated LLM Serving
O SplitZip é um compressor sem perdas e amigável à GPU que acelera a transferência de cache KV no atendimento de LLM desagregado ao explorar a redundância do expoente de ponto flutuante por meio de um código de livro de códigos de comprimento fixo e um fluxo de escape esparso, alcançando um throughput significativamente maior e latência reduzida em comparação com métodos existentes.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você está administrando uma biblioteca massiva e de alta velocidade onde duas equipes diferentes trabalham juntas para responder a perguntas complexas.
- Equipe A (A equipe de "Prefill"): Eles são os pesquisadores. Eles leem um documento longo e detalhado (o prompt do usuário) e fazem anotações detalhadas. Esta parte é muito rápida e exige muito poder cerebral (poder de computação).
- Equipe B (A equipe de "Decode"): Eles são os escritores. Eles usam essas anotações para escrever a resposta, uma palavra por vez. Esta parte é mais lenta e requer muita memória para guardar as anotações.
Em sistemas de IA modernos, essas duas equipes frequentemente trabalham em edifícios diferentes (servidores diferentes) para economizar dinheiro e equilibrar a carga de trabalho. O problema? A Equipe A tem que enviar suas anotações pelo correio para a Equipe B antes que a Equipe B possa começar a escrever.
Se as anotações forem enormes (como quando o usuário pergunta sobre um livro inteiro), o envio leva muito tempo. O escritor (Equipe B) fica ocioso, esperando o correio chegar. Esse "atraso no envio" é o gargalo que atrasa todo o sistema.
O Problema com os Métodos de "Envio" Atuais
Anteriormente, as pessoas tentaram diminuir (comprimir) essas anotações para torná-las mais rápidas de enviar.
- O Método "Com Perda" (Lossy): Alguns tentaram jogar fora partes das anotações para economizar espaço. Mas isso é como resumir um romance deletando frases aleatórias. Pode economizar espaço, mas a história (a resposta da IA) pode se tornar errada ou sem sentido.
- O Método "Antigo" Sem Perdas (Lossless): Outros tentaram compactar as anotações perfeitamente sem perder uma única letra. Mas o software que eles usavam era como um datilógrafo lento e antiquado. Era muito lento para acompanhar a velocidade com que a Equipe A estava gerando as anotações. Quando as anotações eram compactadas, a Equipe A já havia gerado um novo lote.
A Solução: SplitZip
Os autores criaram um novo sistema chamado SplitZip. Pense nele como um serviço de mensageiro superinteligente e de alta velocidade, projetado especificamente para as anotações de IA.
Veja como funciona, usando uma analogia simples:
1. A Estrutura da "Anotação"
As anotações que a IA gera são feitas de números. No formato que eles utilizam (chamado BF16), cada número possui três partes:
- O Sinal: É positivo ou negativo? (Como um sinal de mais ou menos).
- A Mantissa: Os detalhes específicos do número.
- O Expoente: O "poder" ou escala do número (como se é 10, 100 ou 1.000).
2. A Descoberta Secreta
Os pesquisadores notaram algo curioso: enquanto os "detalhes" (Mantissa) estão espalhados por toda parte, o "poder" (Expoente) é muito repetitivo. É como se você estivesse escrevendo um livro e, 99% das vezes, usasse apenas as palavras "muito", "bastante" e "extremamente". Você raramente usa "um pouco" ou "mal".
3. A Estratégia SplitZip
Em vez de escrever cada palavra individualmente, o SplitZip faz o seguinte:
- O Atalho: Ele cria uma lista "Top 16" dos "poderes" (exponentes) mais comuns. Ele atribui a cada um desses 16 poderes comuns um código minúsculo de 4 letras (como um aperto de mão secreto).
- O Empacotamento: Ele empacota dois desses códigos minúsculos em um único byte de espaço. Isso é como encaixar dois apertos de mão secretos no espaço de uma letra.
- A Lista "Rara": Para as 1% das vezes em que um poder "raro" aparece, ele não tenta forçá-lo no atalho. Em vez disso, ele escreve uma pequena "nota de escape" que diz: "Na posição nº 50, o poder era na verdade 'Valor-Raro-99'."
4. Por que é Rápido
- Para a Equipe A (Codificação): Como o sistema utiliza códigos fixos e curtos (4 bits) em vez de códigos complexos e de comprimento variável, ele pode empacotar as anotações de forma incrivelmente rápida. É como um braço robótico que sabe exatamente onde colocar cada item, em vez de um humano tentando descobrir a melhor maneira de dobrar uma camisa a cada vez.
- Para a Equipe B (Decodificação): Quando as anotações chegam, a Equipe B pode descompactá-las instantaneamente. Eles consultam o código de 4 letras, obtêm o poder e combinam com os detalhes. Se houver uma "nota de escape", eles apenas sobrescrevem aquele ponto específico. É uma linha de trabalho direta, sem desvios confusos.
Os Resultados
O artigo afirma que o SplitZip é um divisor de águas:
- Velocidade: Ele comprime e descompacta dados a velocidades de 613 GB/s e 2181 GB/s, respectivamente. Para colocar em perspectiva, é centenas de vezes mais rápido do que os métodos anteriores que tentavam fazer isso na CPU.
- Precisão Perfeita: Ele é "sem perdas" (lossless). As anotações que a Equipe B recebe são bit a bit idênticas ao que a Equipe A escreveu. Nenhuma informação é perdida.
- Impacto no Mundo Real: Quando testaram isso em um sistema de IA real (usando o framework SGLang), observaram:
- Transferência de anotações entre servidores 1,32x mais rápida.
- Tempo para obter a primeira palavra da resposta (TTFT) 1,30x mais rápido.
- 1,23x mais solicitações totais processadas por hora.
Resumo
O SplitZip é como um mensageiro especializado e de alta velocidade que sabe que as anotações da IA são majoritariamente repetitivas. Em vez de enviar uma caixa pesada inteira, ele envia uma lista codificada e minúscula dos itens comuns e uma pequena nota para os itens raros. Ele faz isso tão rápido que o servidor de IA nunca precisa esperar, permitindo que responda a perguntas longas e complexas muito mais rapidamente, sem nunca perder um único detalhe.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.