AMD e Moonshot AI hanno sviluppato una nuova infrastruttura di inferenza per eseguire Kimi K2.6 su acceleratori AMD Instinct MI355X, intervenendo sull’intera catena utilizzata dagli agenti di programmazione. Nei test interni, la configurazione ottimizzata ha ridotto fino a 3,2 volte la latenza al 90° percentile rispetto all’implementazione di riferimento, mantenendo sostanzialmente invariata la qualità delle risposte. Il miglioramento riguarda soprattutto i carichi agentici, nei quali il modello alterna generazione di codice, chiamate a strumenti, lettura dei risultati e successive revisioni.
Questi flussi presentano caratteristiche diverse da una normale conversazione con un chatbot. Il contesto aumenta a ogni passaggio, perché deve conservare richieste, file analizzati, codice prodotto e risultati restituiti dagli strumenti. Le pause durante l’esecuzione esterna rendono inoltre il traffico discontinuo, mentre la creazione di più sottoagenti può produrre picchi improvvisi nell’utilizzo della memoria. Per questo AMD ha misurato la latenza end-to-end al 90° percentile, più rappresentativa dell’esperienza effettiva rispetto al solo tempo necessario per generare il primo token.
La piattaforma utilizza Kimi K2.6 in formato MXFP4 su SGLang e ROCm 7.2, con AITER per i kernel di calcolo, MoRI per la comunicazione RDMA e UMBP per la gestione gerarchica della KV cache. I benchmark sono stati eseguiti su nodi equipaggiati con otto GPU AMD Instinct MI355X, processori EPYC e otto interfacce di rete AMD AINIC. La collaborazione non si è quindi limitata all’ottimizzazione del modello per una determinata GPU, ma ha modificato congiuntamente memoria, comunicazione, instradamento e pianificazione delle richieste.
La KV cache conserva le rappresentazioni già calcolate dei token precedenti, evitando di rielaborare l’intero contesto a ogni nuova generazione. Negli agenti di coding può raggiungere dimensioni elevate, perché molte richieste successive condividono una parte consistente della cronologia. UMBP organizza questa memoria su più livelli e consente di trasferire i dati non immediatamente necessari fuori dalla memoria HBM delle GPU, mantenendoli comunque disponibili per un successivo riutilizzo.
Il sistema non tratta l’eventuale cache esterna come un semplice deposito passivo. Un modello di costo valuta la posizione dei dati, il tempo necessario per recuperarli e il carico delle diverse risorse prima di assegnare una richiesta. Il router può quindi indirizzare il lavoro verso il nodo che possiede già la porzione di contesto utile oppure scegliere una diversa destinazione quando il trasferimento risulterebbe troppo oneroso. Questa logica riduce le ricostruzioni della cache e limita gli spostamenti non necessari lungo la rete.
La comunicazione tra GPU e nodi è gestita attraverso MoRI, un’interfaccia modulare basata su RDMA che permette il trasferimento diretto dei dati senza coinvolgere continuamente la CPU. Il sistema supporta anche lo spostamento incrementale della KV cache: anziché copiare ogni volta l’intera cronologia dell’agente, trasferisce soltanto le nuove parti generate dopo l’ultima operazione. La riduzione del volume movimentato è particolarmente utile nelle sessioni lunghe, nelle quali gran parte del contesto rimane invariata tra una richiesta e la successiva.
AMD e Moonshot AI hanno inoltre separato le fasi di prefill e decode. Nel prefill il sistema elabora il contesto iniziale, operazione caratterizzata da un’elevata richiesta di calcolo parallelo; durante il decode genera invece progressivamente i nuovi token ed è più sensibile alla latenza e alla velocità di accesso alla memoria. La disaggregazione permette di assegnare le due fasi a risorse differenti e di dimensionarle in base al loro carico, evitando che l’elaborazione di un nuovo contesto rallenti le generazioni già in corso.
Anche i kernel dedicati ai modelli mixture-of-experts sono stati modificati. La famiglia Kimi K2 utilizza un’architettura con circa un trilione di parametri complessivi, ma attiva soltanto una parte degli esperti per ciascun token. AITER combina operazioni che in precedenza richiedevano passaggi separati, mantiene pesi e attivazioni in formato MXFP4 lungo una porzione più ampia del calcolo e ottimizza la selezione degli esperti per la struttura specifica del modello. In questo modo vengono ridotti sia gli accessi alla memoria sia il tempo trascorso in operazioni intermedie.
La stessa piattaforma ATOM ha raggiunto, con Kimi K2.5, K2.6 e K2.7-Code, un picco dichiarato di 5.369,6 token al secondo per GPU su un carico composto da 8.192 token in ingresso e 1.024 in uscita, con concorrenza pari a 128. La configurazione utilizza parallelismo tensoriale su quattro MI355X, ciascuna dotata di 288 GB di memoria HBM3E, permettendo a un nodo con otto GPU di ospitare due repliche indipendenti del modello.
Le ottimizzazioni non hanno modificato soltanto la velocità. Nei test dedicati alle chiamate strutturate agli strumenti, l’attivazione della decodifica vincolata ha portato l’accuratezza dello schema dal 94,73 al 100%, eliminando gli errori di formato rilevati nella configurazione di base. Il punteggio relativo alla scelta corretta degli strumenti è rimasto vicino a quello dell’API ufficiale Kimi K2.6, indicando che l’accelerazione non ha prodotto un degrado misurabile nel comportamento agentico valutato.
AMD prevede di integrare le stesse tecniche nel motore ATOM e di estenderle anche a SGLang e vLLM. UMBP, il routing basato sul costo e il trasferimento della cache sono stati progettati senza dipendere da un unico motore di inferenza, così da poter essere utilizzati in installazioni diverse. I risultati dichiarati restano legati alle configurazioni e ai carichi specifici dei benchmark, ma mostrano come, negli agenti di programmazione, la latenza dipenda ormai dall’organizzazione coordinata di memoria, rete, scheduling e kernel almeno quanto dalla potenza nominale delle GPU.
