top of page

vLLM v0.33.0 amplia il supporto ai modelli e termina le build di rilascio CUDA 12.9

3 giorni fa
Tempo di lettura: 13 min

vLLM v0.33.0 amplia il supporto ai modelli e interrompe le build di rilascio CUDA 12.9, affiancando la compatibilità dell'infrastruttura alle nuove funzionalità nella decisione di aggiornamento. La pagina della release del 2 novembre segnala 927 commit da parte di 389 contributori, inclusi 122 nuovi partecipanti. Il titolo indica v0.33.0, sebbene il tag collegato rimanga v0.33.0rc3, una distinzione che i team di deployment dovrebbero conservare.

Il compromesso centrale riguarda l'accesso a capacità di serving più recenti rispetto al lavoro necessario per convalidare uno stack software modificato. vLLM, il software che esegue modelli AI e ne fornisce gli output alle applicazioni, si colloca direttamente tra gli sviluppatori di modelli e i servizi di produzione. Un aggiornamento coinvolge quindi più della sola disponibilità dei modelli.

SGLang, un altro framework per il serving di modelli linguistici e multimodali, offre un riferimento competitivo pertinente. L'elenco delle funzionalità di nessuno dei due progetti stabilisce quale motore sia più adatto a una specifica applicazione. Per i team che valutano questa release, la domanda immediata è se le capacità aggiunte giustifichino la modifica di un ambiente che soddisfa già i loro requisiti.

Cosa cambia realmente in vLLM v0.33.0

Questo aggiornamento combina una copertura più ampia dei modelli con modifiche alle fondamenta software alla base dei deployment di produzione.

I punti salienti della release indicano il nuovo supporto per modelli che spaziano dalla generazione all'elaborazione dei documenti e al recupero visivo. Questa ampiezza è importante perché l'adozione di un altro modello spesso parte da una domanda pratica: il sistema di serving esistente è in grado di eseguirlo?

Reflection Beam-1.0 illustra la portata dell'intervento. Il progetto lo descrive come un modello mixture-of-experts, un'architettura che attiva gruppi selezionati di parametri per ciascun token. La configurazione dichiarata include 501 miliardi di parametri totali e 23 miliardi di parametri attivi, oltre al supporto per il modello di drafting DFlash2.

Queste cifre descrivono l'architettura del modello, non una garanzia di deployment. Il solo numero di parametri attivi non determina la memoria necessaria, i tempi di risposta ottenibili o l'infrastruttura richiesta per un determinato carico di lavoro. Gli acquirenti dovrebbero evitare di considerare la dimensione dichiarata di un modello come una specifica operativa completa.

Le aggiunte includono inoltre MiniCPM-OCR 1.0 e ColUltraVBERT. L'OCR converte il testo nelle immagini in testo leggibile dalle macchine; il recupero visivo dei documenti individua documenti pertinenti tramite il loro contenuto visivo. La loro inclusione estende la portata della release oltre l'output conversazionale, verso i flussi di lavoro documentali.

Per un'impresa che valuta la ricerca documentale, ciò crea un'opportunità potenzialmente utile di consolidamento. Un framework di serving condiviso può ridurre il numero di sistemi distinti che un team di ingegneria deve comprendere. Se il consolidamento semplifichi realmente le operazioni dipende dall'isolamento dei carichi di lavoro, dalla contesa delle risorse e dai requisiti specifici dei modelli.

Si consideri un ipotetico servizio interno di ricerca che consulta report scansionati e poi genera una risposta. Supportare le componenti di recupero e generazione in un ambiente di serving familiare potrebbe semplificare la sperimentazione. Non stabilirebbe automaticamente l'accuratezza del recupero, l'affidabilità delle citazioni o tempi di risposta accettabili.

La release modifica quindi la gamma di implementazioni che i team possono esaminare. Non elimina il lavoro di valutazione che separa la disponibilità di un modello da un'applicazione affidabile. Sono traguardi diversi, e la distinzione diventa più importante man mano che le architetture supportate si moltiplicano.

Il tag merita analoga attenzione. Il titolo di una pagina di release e un identificatore di versione svolgono funzioni diverse in una registrazione di deployment. I team dovrebbero conservare il tag esatto e l'artefatto testato, anziché sostituire questa evidenza con il titolo più generale della release.

Ciò è particolarmente rilevante quando i risultati passano tra engineering, sicurezza e procurement. Dire che un'applicazione ha superato i test sulla “nuova release” lascia spazio all'ambiguità. Un'identità esatta dell'artefatto rende le successive indagini e comparazioni molto più utili.

L'interpretazione pratica è semplice: questa release amplia l'insieme dei candidati per i team di infrastruttura AI. La decisione successiva riguarda le fondamenta necessarie per utilizzare tali candidati, a partire dalla modifica agli artefatti CUDA pubblicati.

Gli utenti CUDA 12.9 affrontano una decisione di packaging

La modifica a CUDA rimuove un'opzione di artefatto ufficiale di release, rendendo la pianificazione della compatibilità parte integrante dell'aggiornamento.

CUDA è la piattaforma software NVIDIA per eseguire calcoli sui suoi processori grafici. Per gli utenti di vLLM, la sua versione è presente nell'ambiente che supporta l'esecuzione dei modelli. Ciò rende le modifiche alle build CUDA pubblicate operativamente rilevanti anche quando il codice dell'applicazione rimane invariato.

La modifica alla pipeline di rilascio CUDA integrata spiega l'azione specifica. CUDA 13.0 era già la variante predefinita; il progetto ha smesso di compilare e pubblicare le wheel aggiuntive CUDA 12.9 e le immagini container. Le wheel sono pacchetti Python installabili, mentre le immagini container raggruppano il software in ambienti distribuibili.

Questo perimetro è importante. L'interruzione di una build di release non dimostra che ogni installazione CUDA 12.9 smetta immediatamente di funzionare. Significa che i team non possono presumere che la precedente scelta di artefatto ufficiale prosegua in questa release. Le affermazioni su una compatibilità runtime più ampia richiedono prove separate.

Per le organizzazioni che usano già l'ambiente predefinito, la modifica potrebbe richiedere poco lavoro aggiuntivo di packaging. Per le organizzazioni che dipendono dalla variante rimossa, crea una decisione più sostanziale. Devono valutare la migrazione, mantenere un deployment esistente oppure esaminare un approccio di build supportato separatamente.

Queste alternative comportano responsabilità diverse. Restare su una versione consolidata preserva un ambiente noto, ma ritarda l'accesso alle aggiunte specifiche della release. Mantenere una build personalizzata trasferisce più lavoro di integrazione e convalida all'organizzazione che la gestisce.

Il passaggio al nuovo valore predefinito richiede prove proprie. Un'installazione riuscita dimostra che i pacchetti possono coesistere in un particolare ambiente. Non dimostra che i modelli dell'applicazione, i modelli di traffico e la gestione degli errori si comportino in modo accettabile in condizioni di produzione.

La pressione ricade quindi sugli ingegneri di piattaforma e sui responsabili delle release. Devono collegare la modifica al packaging upstream all'inventario reale della loro infrastruttura. Un'organizzazione con più ambienti di deployment non può dedurre in sicurezza una prontezza universale da un test riuscito su una macchina di sviluppo.

La modifica incide anche sulla pianificazione. Un team di modelli potrebbe voler supportare una nuova architettura prima che il team dell'infrastruttura possa approvare l'ambiente aggiornato. Questo disaccordo è un problema di dipendenze, non la prova che uno dei due team stia procedendo troppo lentamente.

La pipeline di release più ristretta ha una logica di manutenzione comprensibile: meno varianti pubblicate significano meno combinazioni di artefatti da produrre. Tuttavia, la modifica esaminata non quantifica i costi di migrazione downstream. Qualsiasi affermazione secondo cui la semplificazione avvantaggi ogni utente in egual misura andrebbe oltre le prove disponibili.

Per gli acquirenti enterprise, questa distinzione dovrebbe rientrare nelle conversazioni con i fornitori di inferenza gestita. Il supporto a un modello e il supporto all'ambiente approvato da un'organizzazione sono impegni distinti. Un fornitore dovrebbe poter identificare la configurazione effettiva alla base della propria dichiarazione di compatibilità.

La release sposta un confine esistente anziché creare da zero il lavoro di compatibilità. Ogni sistema di produzione possiede già un ambiente che può supportare. La rimozione di un'opzione di artefatto rende quel confine più visibile e obbliga i team interessati a decidere quando spostarlo.

L'aggiornamento di PyTorch amplia il lavoro di convalida

Un aggiornamento del framework modifica le condizioni in cui un'applicazione era stata precedentemente testata, anche quando la sua interfaccia pubblica sembra familiare.

PyTorch è il framework di machine learning alla base di gran parte dell'esecuzione dei modelli in vLLM. L'aggiornamento delle dipendenze PyTorch integrato imposta PyTorch alla versione 2.14.0, torchvision alla 0.29.0 e Triton alla 3.8.0. Torchvision fornisce componenti per la computer vision; Triton supporta la scrittura e la compilazione di routine di calcolo specializzate.

La conseguenza importante è una baseline delle dipendenze modificata. Un'applicazione che aveva precedentemente superato la convalida lo aveva fatto con una particolare combinazione di modello, framework, motore di serving e hardware. Modificare quella combinazione offre all'organizzazione una nuova configurazione da valutare.

Ciò non implica che l'aggiornamento introduca necessariamente una regressione. Significa che i precedenti risultati dei test hanno un perimetro definito. Trattare tali risultati come un'approvazione permanente per ogni combinazione successiva di dipendenze eliminerebbe le informazioni che li rendevano utili.

Per un'applicazione di elaborazione documentale, gli input rappresentativi dovrebbero includere il materiale che crea condizioni operative difficili. Gli esempi comprendono report insolitamente lunghi, documenti ricchi di immagini e richieste di dimensioni miste. Si tratta di condizioni di valutazione suggerite, non di risultati riportati da questa release.

Per un servizio conversazionale, le prove pertinenti potrebbero invece enfatizzare la coerenza delle risposte e il comportamento in presenza di richieste simultanee. Il punto chiave è preservare le priorità effettive dell'applicazione. Un benchmark ottimizzato per un carico di lavoro diverso non può decidere l'aggiornamento al posto dell'applicazione.

Lo stesso principio si applica alle estensioni personalizzate. Un team che mantiene componenti compilati aggiuntivi dispone di più confini di integrazione rispetto a un team che utilizza un pacchetto upstream invariato. Il solo aggiornamento delle dipendenze non può certificare tali componenti gestiti privatamente.

È qui che i confronti con altri motori di serving diventano utili. SGLang si descrive come un framework per il serving di modelli linguistici e multimodali. La sua esistenza offre ai team un'implementazione alternativa da valutare, ma non stabilisce un vincitore automatico per il loro ambiente.

Il framework di serving SGLang è quindi un riferimento competitivo, non una scorciatoia per evitare i test. Anche il cambio di motore modifica le ipotesi sull'esecuzione e sulle operazioni. Un confronto diventa significativo quando entrambi i candidati affrontano gli stessi requisiti applicativi.

Una valutazione equa dovrebbe preservare, per quanto possibile, il checkpoint del modello, il materiale di input, i requisiti di output e i vincoli di deployment. Altrimenti, un apparente vantaggio del motore potrebbe riflettere una configurazione del modello diversa o una definizione diversa di output accettabile.

Ciò rende la riproducibilità una risorsa pratica. I team devono collegare un risultato di prestazioni alla configurazione che lo ha prodotto. Un grafico senza tale collegamento può circolare ampiamente pur restando inadatto a una decisione infrastrutturale.

Mantenere una base di conoscenza ricercabile per le registrazioni delle valutazioni può aiutare a preservare queste relazioni. Note di release, dettagli dell'ambiente e interpretazioni dei benchmark diventano più utili quando gli ingegneri possono recuperarli insieme.

La pressione competitiva su vLLM è di conseguenza più ampia dell'eguagliare la velocità dichiarata di un altro motore. Deve rimanere interessante come scelta operativa. Per gli utenti, ciò significa valutare l'ampiezza dei modelli e i miglioramenti nell'esecuzione insieme allo sforzo necessario per mantenere fiducia nel deployment.

Le modifiche allo scheduler spiegano perché i dettagli del carico di lavoro sono importanti

Un'accelerazione riportata può derivare da una migliore allocazione della capacità esistente, anziché da un'accelerazione universale del calcolo del modello.

Un esempio concreto riguarda la decodifica speculativa, un processo in cui un modello di bozza propone token che un modello di destinazione deve verificare. I token sono le unità di testo elaborate dai modelli. Il beneficio previsto è produrre output accettato con meno lavoro del modello di destinazione per ogni sequenza generata.

La modifica unita al codice relativa alla pianificazione degli slot di bozza riguarda il modo in cui le richieste di bozza DFlash e DSpark consumano il budget di token dello scheduler. Uno scheduler determina quali richieste ricevono capacità di esecuzione. Le sue decisioni di contabilizzazione possono limitare l'utilizzo prima che l'hardware raggiunga un limite operativo utile.

Secondo la pull request, questi metodi di bozza in precedenza riservavano slot in un budget di batch di destinazione pur eseguendo la bozza separatamente. La modifica elimina tale riserva e limita invece le richieste attive per mantenere il passaggio di bozza separato entro i propri buffer.

L'autore riporta un aumento del throughput in output da 1.373 a 3.390 token al secondo per DeepSeek-V4.1-Flash con DSpark su hardware GB300. Il throughput misura il lavoro completato nel tempo. Tale risultato appartiene alla configurazione di benchmark dichiarata, non a ogni distribuzione che utilizza la release.

Il meccanismo è importante quanto il dato riportato. Un budget che sovrastima il consumo di risorse può impedire l'ingresso di lavoro utile nell'esecuzione. Correggere la contabilizzazione può aumentare l'output completato senza implicare che ogni singolo calcolo sia diventato proporzionalmente più veloce.

Questa distinzione aiuta a spiegare perché le prestazioni aggregate e l'esperienza utente talvolta divergono. Un servizio può produrre più output complessivamente, mentre una singola richiesta ottiene un miglioramento minore. La relazione dipende da come le richieste condividono la capacità e da dove si verifica l'attesa.

Per un ipotetico servizio di analisi documentale, riepiloghi lunghi simultanei potrebbero evidenziare limiti diversi rispetto a brevi domande interattive. Un miglioramento dello scheduler rilevante per il primo caso non dimostra lo stesso vantaggio per il secondo. La composizione dell'input rimane parte del risultato.

La modifica illustra inoltre perché la configurazione debba accompagnare i dati di benchmark. Un carico di lavoro che non incontra mai il precedente vincolo di contabilizzazione ha minori opportunità di trarre vantaggio dalla sua rimozione. Il risultato pubblicato identifica un miglioramento importante senza definire l'esito per ogni punto operativo.

Questa è una narrazione tecnica più solida di un'affermazione generale secondo cui la release è più veloce. Identifica un vincolo, spiega l'intervento e riporta un risultato osservato. I lettori possono quindi valutare se il proprio ambiente somiglia alle condizioni in cui il miglioramento è emerso.

Per i team infrastrutturali, il compito analitico consiste nell'identificare quale collo di bottiglia governa la propria applicazione. Un collo di bottiglia è la risorsa o la fase di esecuzione che limita le prestazioni complessive. Ottimizzare un'altra fase può lasciare sostanzialmente invariato il risultato a livello applicativo.

Questo cambia anche il modo in cui i team dovrebbero interpretare gli annunci sul supporto dei modelli. Eseguire una nuova architettura ne stabilisce la fattibilità. Eseguirla in modo efficiente richiede attenzione alla pianificazione, alla memoria e al comportamento di esecuzione, il tutto rispetto alla distribuzione reale delle richieste dell'applicazione.

Il lavoro sullo scheduler dimostra che l'efficienza di serving dipende dal coordinamento attorno al calcolo del modello. Supporta una valutazione seria della release, senza tuttavia fornire alcuna base per promettere il moltiplicatore pubblicato agli utenti di configurazioni non correlate.

Una verifica più veloce introduce una distinta questione di qualità

Alcune opzioni prestazionali modificano il comportamento dell'output, quindi velocità e qualità richiedono decisioni di approvazione separate.

Il contributo FLy rende esplicito questo compromesso. La policy di verifica speculativa unita al codice descrive FLy come opzionale e lossy. In questo caso, lossy significa che il metodo non preserva la distribuzione originale dell'output del modello di destinazione.

La pull request afferma che la verifica standard si interrompe al primo token di bozza rifiutato. FLy può accettare un rifiuto isolato in condizioni specificate. I suoi autori riconoscono che la qualità dell'output può diminuire, mentre la verifica standard resta l'impostazione predefinita.

Questa ammissione è preziosa perché identifica un confine che il normale reporting sul throughput può oscurare. Un'ottimizzazione del serving può modificare più del tempo di esecuzione. Quando altera il comportamento dell'output accettato, il proprietario dell'applicazione deve valutare se le risposte risultanti rimangano adeguate.

Gli autori riportano miglioramenti del throughput di decodifica compresi tra 1,055 e 1,310 volte su hardware AMD e tra 1,041 e 1,273 volte su hardware NVIDIA. Si tratta di misurazioni riportate dagli autori nelle condizioni da loro valutate. Non stabiliscono una qualità equivalente per le attività di un'altra applicazione.

La decodifica è la fase che genera i token di output. Una decodifica più veloce può migliorare la reattività di un'applicazione, ma il suo valore dipende da ciò che l'applicazione deve ottenere con quei token. Generare prima una risposta inaccettabile non soddisfa il requisito originario.

Nella scrittura esplorativa, una certa variazione dell'output potrebbe rientrare nel comportamento accettato da un'applicazione. Nell'estrazione strutturata, un identificatore modificato o un campo omesso può rendere inutilizzabile il risultato. Si tratta di distinzioni illustrative, non di affermazioni secondo cui FLy produca necessariamente tali errori.

L'angolazione scettica appropriata è quindi specifica. Le prove disponibili supportano la considerazione di un compromesso opzionale tra velocità e qualità. Non supportano la dichiarazione che il metodo sia universalmente sicuro, né stabiliscono che il funzionamento standard diventi lossy semplicemente perché l'opzione esiste.

Questa distinzione dovrebbe sopravvivere alla comunicazione interna. Una presentazione di benchmark che mostri il miglioramento ma ometta la policy di verifica lascia i decisori senza una condizione sostanziale. Il dettaglio mancante influenza il significato effettivo del risultato misurato.

Complica anche i confronti tra motori o configurazioni. Se un candidato preserva la verifica standard mentre un altro utilizza una policy lossy, i relativi risultati di throughput rispondono a domande diverse. Entrambi i risultati possono essere validi senza essere direttamente intercambiabili.

I team applicativi dovrebbero definire il comportamento accettabile prima di decidere se un'opzione più veloce lo soddisfi. Altrimenti, la valutazione rischia di modificare il proprio standard qualitativo dopo aver osservato un risultato prestazionale interessante. Ciò inverte il rapporto tra requisiti e prove.

Una replica indipendente rafforzerebbe la fiducia nelle prestazioni riportate, soprattutto su modelli e schemi di richiesta aggiuntivi. Una valutazione della qualità specifica per l'applicazione risponderebbe a una domanda distinta. Nessuna delle due forme di evidenza dovrebbe essere presentata come sostituto dell'altra.

La lezione più ampia non è che la decodifica speculativa sia intrinsecamente inadatta. È che il metodo di verifica esatto appartiene alla specifica operativa. Una policy opzionale crea una scelta, e un'adozione responsabile richiede di preservare le condizioni associate a quella scelta.

Cosa osservare prima di ampliare l'uso in produzione

I segnali successivi più utili riguardano l'identità dell'artefatto, benefici riproducibili e comportamento operativo con traffico rappresentativo.

Il primo segnale è il rapporto tra l'intestazione della release, il suo tag e gli artefatti che i team distribuiscono effettivamente. La pagina collegata usa v0.33.0rc3 pur presentando un'intestazione v0.33.0. Questa discrepanza dovrebbe rimanere visibile nei registri di valutazione.

Nei prossimi mesi, i team dovrebbero osservare se i successivi record di release chiariscono la baseline di produzione che intendono adottare. Collegare i risultati di validazione a un artefatto esatto rafforzerebbe la fiducia nella distribuzione. Riferimenti di versione ambigui ridurrebbero l'utilità di test altrimenti dettagliati.

Si tratta di una questione di documentazione e riproducibilità, non della prova di un difetto software. Il punto è poter identificare ciò che è stato valutato. Senza questo collegamento, un'indagine successiva può avere difficoltà a distinguere una build modificata da un carico di lavoro modificato.

Il secondo segnale è la riproduzione dei benefici prestazionali riportati in condizioni comparabili. Il risultato relativo allo scheduler offre un punto di partenza concreto perché la sua spiegazione identifica il vincolo di contabilizzazione. Ulteriori misurazioni dovrebbero preservare dettagli di configurazione sufficienti a stabilire se sia responsabile lo stesso meccanismo.

Una riproduzione riuscita rafforzerebbe il caso per applicazioni che incontrano tale vincolo. Un vantaggio minore altrove non invaliderebbe automaticamente la misurazione originale. Aiuterebbe a definire la gamma di carichi di lavoro per cui la modifica conta maggiormente.

Per la verifica lossy, la replica dovrebbe includere la valutazione dell'output oltre al throughput. Un risultato che preservi un comportamento utile per l'applicazione supporterebbe l'adozione per quell'attività. Un risultato che violi i requisiti dell'applicazione ne restringerebbe l'idoneità, indipendentemente dalla velocità.

Il terzo segnale è il comportamento operativo dopo una distribuzione limitata. I team dovrebbero osservare se l'ambiente modificato gestisce in modo accettabile il normale mix di richieste e le condizioni di errore. Un avvio riuscito è un'osservazione iniziale, mentre il comportamento sostenuto dell'applicazione fornisce un diverso livello di evidenza.

I problemi emersi durante questa fase dovrebbero essere registrati insieme all'ambiente e agli input che li hanno prodotti. Un rapporto vago secondo cui un aggiornamento “sembra più lento” offre scarso valore diagnostico. Un caso riproducibile può aiutare a separare la configurazione della distribuzione da una regressione upstream.

Questi segnali offrono inoltre agli acquirenti enterprise domande più utili da porre ai fornitori. Quale artefatto esatto supporta il servizio proposto? Quale carico di lavoro ha prodotto l'affermazione sulle prestazioni? Quali condizioni qualitative si applicano alle funzionalità opzionali di accelerazione? Risposte chiare rendono l'offerta più facile da valutare.

Per gli sviluppatori, vLLM v0.33.0 merita attenzione perché combina l'accesso a modelli aggiuntivi con cambiamenti significativi nel packaging e nell'esecuzione. La decisione resta specifica dell'applicazione. Disponibilità del modello, compatibilità, throughput e qualità dell'output rispondono ciascuno a una parte diversa della questione di adozione.

Prima di ampliare l'uso in produzione, collegate le modifiche della release a un requisito concreto che la vostra distribuzione attuale non può soddisfare. Conservate l'ambiente esatto, utilizzate input rappresentativi e decidete quali cambiamenti dell'output la vostra applicazione può accettare. Confrontate il candidato con la distribuzione di cui già vi fidate, incluso lo sforzo necessario per gestire entrambe. Per vLLM v0.33.0, l'esito utile è una decisione supportata da evidenze sull'accesso ai modelli e sul comportamento di serving. Leggete le modifiche sottostanti insieme ai vostri registri di valutazione, quindi identificate quale risultato giustificherebbe l'adozione. La release risolve un vincolo misurato, abilita un modello necessario o migliora sufficientemente un carico di lavoro accettato da giustificare la migrazione?

 
 

Inizia gratis

Un assistente IA local-first con gestione della conoscenza personale

Per una migliore esperienza con l’IA,

al momento remio supporta solo Windows 10+ (x64) e M-Chip Macs.

Il tuo partner AI al lavoro
Fai di più con remio

Pianifica. Crea. Consegna.
Tutto in un unico posto.

bottom of page