Disaggregated Inference
Il disaggregated inference è un'architettura di serving che separa fisicamente la fase di prefill (compute-bound: elabora l'intero prompt in parallelo) dalla fase di decode (memory-bound: genera un token per volta) assegnandole a pool di GPU distinti, collegati tramite trasferimento del KV cache. Questa separazione elimina la 'prefill-decode interference', ovvero la contesa di risorse che si verifica quando entrambe le fasi girano sulle stesse GPU riducendo il throughput complessivo. Proposto pubblicamente dall'architettura Mooncake di Moonshot AI (Kimi), ha prodotto miglioramenti di throughput di 5x o più in produzione. È considerato uno degli avanzamenti più significativi nell'infrastruttura di serving LLM del 2024-2025.
In pratica
In un deployment su larga scala, l'ingegnere infrastrutturale configura un cluster di GPU 'prefill-only' (tipicamente ad alto FLOPS/W, come H100 SXM) e un cluster separato 'decode-only' (tipicamente ad alta larghezza di banda di memoria). Una richiesta in arrivo viene instradata al pool prefill, che calcola il KV cache e lo trasferisce via NVLink o InfiniBand al pool decode. Framework open-source come LMDeploy e alcune configurazioni avanzate di vLLM supportano questa modalità. Il costo operativo è superiore a causa della duplicazione hardware, ma il TTFT (time-to-first-token) e il throughput migliorano significativamente.