vLLM e Ollama: quale framework scegliere?

Copia URL

In termini di integrazione di modelli linguistici di grandi dimensioni (LLM) in un'applicazione di IA, vLLM è particolarmente adatto alla produzione ad alte prestazioni, mentre Ollama è ideale per lo sviluppo locale. I due strumenti si trovano agli estremi opposti dello spettro del deployment degli LLM: vLLM è dedicato al contesto aziendale, Ollama ai progetti su piccola scala. 

Per chiarire le loro differenze, potremmo definire Ollama un'auto da corsa, vLLM un treno ad alta velocità. Con Ollama puoi progredire a passo spedito, ma il numero di persone che ne beneficiano è ridotto. Con vLLM puoi invece procedere rapidamente e offrire le prestazioni a un gran numero di utenti alla volta. 

In definitiva, la scelta tra vLLM e Ollama dipende dalle tue competenze di sviluppo, nonché dalle dimensioni e dall'ambito del progetto. Per gli sviluppatori che sperimentano in locale, Ollama è un valido punto di partenza. Per i team che si dedicano alla produzione su larga scala, invece, vLLM offre la base necessaria per distribuire gli LLM in modo scalabile, affidabile ed efficiente.

Ollama o vLLM? Come scegliere lo strumento di distribuzione più adatto

vLLM è una libreria di codice open source che consente agli LLM di eseguire calcoli su larga scala in modo rapido ed efficiente. L'obiettivo generale di vLLM è massimizzare la velocità di trasmissione (token elaborati al secondo) per distribuire le soluzioni a più utenti contemporaneamente. 

vLLM include sia un server di inferenza (che gestisce il traffico di rete) sia un motore di inferenza (per potenziare la velocità di elaborazione): 

  • Il server di inferenza gestisce la coda di utenti in attesa di accedere al servizio e il traffico di rete esterno. Il suo ruolo non è quello di eseguire calcoli elaborati, quanto piuttosto quello di gestire il protocollo di comunicazione che consente l'input e l'output di dati nel sistema.
  • Il motore di inferenza velocizza la generazione ottimizzando l'uso dell'unità di elaborazione grafica (GPU). Aumenta la velocità di elaborazione applicando algoritmi come PagedAttention per gestire la cache del valore chiave (KV) e il batching continuo per ottimizzare la pianificazione delle richieste.

Sia il server sia il motore di inferenza hanno l'obiettivo di raggiungere un basso livello di latenza, ossia l'intervallo di tempo tra il comando eseguito dall'utente e la realizzazione dell'output. Il server di inferenza è progettato appositamente per evitare di aumentare la latenza. Soddisfa questo requisito accettando le richieste, inoltrandole al motore e inviando le risposte attraverso la rete il più velocemente possibile. Il motore di inferenza è responsabile di rimuovere attivamente la latenza organizzando i calcoli della GPU. Velocizzando l'elaborazione in questo modo, vLLM può soddisfare le richieste di centinaia di utenti allo stesso tempo in una sola istanza. 

In un mercato in cui l'hardware per le applicazioni basate sugli LLM è molto costoso, vLLM consente alle aziende di ottenere risultati migliori con meno risorse. Può gestire un traffico elevato ed è pensato per scenari su larga scala. Ciò lo rende ideale per i deployment che coinvolgono più utenti e soggetti a latenza. In generale, le prestazioni di vLLM sono migliori rispetto a quelle di Ollama quando si tratta di soddisfare più richieste contemporaneamente. 

Scopri di più su vLLM

4 elementi chiave da considerare per l'implementazione dell'IA

Ollama è uno strumento open source che consente agli utenti di eseguire gli LLM a livello locale e privatamente. Ciò significa che puoi scaricare, aggiornare e gestire un LLM dal tuo computer senza dover inviare informazioni private a un cloud. 

Ollama deriva dal progetto llama.cpp, una libreria open source che esegue l'inferenza su LLM di vario tipo. Ollama automatizza alcuni dei passaggi più complessi delle procedure di compilazione, configurazione e gestione dei componenti alla base, nascondendoli all'utente finale. 

Pensato per favorire la semplicità, Ollama richiede una configurazione minima ed è in genere considerato uno strumento intuitivo adatto ai meno esperti. Gli sviluppatori con più esperienza possono usare Ollama per sperimentare con diversi LLM e la creazione rapida di prototipi.

Sia vLLM sia Ollama sono framework per la distribuzione di LLM che offrono agli sviluppatori l'accesso a LLM da usare per realizzare applicazioni di IA. Nello specifico, un framework per la distribuzione degli LLM è un componente software che esegue l'inferenza all'interno di una più grande architettura applicativa. 

Nonostante siano destinati a utenti di diverso tipo, vLLM e Ollama hanno alcune caratteristiche in comune:

  • Entrambi sono strumenti open source.
  • Entrambi includono un server di inferenza.
  • Entrambi consentono agli utenti di eseguire gli LLM sul proprio hardware anziché dover fare affidamento su API di terze parti.
  • Entrambi sono pensati per sfruttare al meglio l'hardware a disposizione degli utenti per aumentare la velocità di inferenza.
  • Entrambi supportano i modelli multimodali, ossia la loro capacità di elaborazione non è limitata al testo.
  • Entrambi supportano la retrieval augmented generation (RAG), una tecnica che consente agli sviluppatori di arricchire i dati di un LLM con le conoscenze e i dati esterni che preferiscono. 

Le funzionalità avanzate offerte da vLLM richiedono competenze tecniche più approfondite. Per questo motivo, vLLM è più indicato per gli sviluppatori esperti poiché il processo di apprendimento è più lungo e complesso rispetto a Ollama. 

Ad esempio, vLLM può gestire modelli di qualsiasi dimensione, contenenti anche miliardi di parametri. Per sfruttare al meglio questa tecnologia, gli sviluppatori devono conoscere concetti quali l'inferenza distribuita in maniera approfondita. 

Offre anche un notevole potenziale di fine tuning per specifici scenari di utilizzo. Per ottimizzare le prestazioni, gli sviluppatori dovrebbero avere familiarità con metodologie come il fine tuning efficiente dal punto di vista dei parametri (PEFT)LoRA/QLoRA.

Per riassumere, vLLM è una soluzione pensata per gli sviluppatori che devono sfruttare ogni potenziale prestazionale dei propri server e distribuire applicazioni affidabili e scalabili. Tornando all'analogia con il treno ad alta velocità, vLLM è ideale per offrire servizi a molti utenti in un breve periodo di tempo. 

Ollama consente agli utenti di scaricare ed eseguire gli LLM sul proprio computer e offre un modo semplice di testare i modelli di IA. Tuttavia, l'obiettivo principale di Ollama è l'accessibilità, non la scalabilità. Se gli utenti effettuano richieste aggiuntive, devono attendere in coda. Per questo motivo, gli sviluppatori scelgono Ollama se hanno bisogno di una soluzione comoda e non devono gestire un grande volume di utenti. 

Ollama è progettato per essere usato offline. Ciò significa che dopo aver scaricato un modello è possibile usarlo senza connessione a Internet. Pur offrendo la massima privacy, vLLM richiede la configurazione di un server privato o un ambiente cloud sicuro. Questo passaggio aggiuntivo rende necessarie maggiori competenze. 

Sia vLLM sia Ollama dispongono di un server di inferenza. Ciò significa che entrambi accolgono le richieste in entrata, estraggono i dati, inviano tali dati al motore e impacchettano la risposta da inviare all'applicazione dell'utente finale. 

Tuttavia, vLLM è un motore di inferenza, a differenza di Ollama. Ciò significa che vLLM può ottimizzare l'inferenza in modalità non previste da Ollama. In quanto motore di inferenza, vLLM ha una migliore capacità di gestire la memoria e amministrare più utenti allo stesso tempo (concomitanza).

Gestione della memoria: vLLM usa l'algoritmo PagedAttention per manipolare la struttura della memoria della GPU. Libera spazio nella GPU in modo che possa eseguire più richieste alla volta. Questa procedura favorisce un'elevata concomitanza. 

Concomitanza: vLLM usa il batching continuo per gestire il flusso di dati e sfruttare al meglio la GPU in modo che possa occuparsi di più utenti o richieste alla volta. 

Confronta le prestazioni di Ollama e vLLM

Red Hat® AI sfrutta l'innovazione open source per superare le difficoltà legate all'utilizzo dell'IA per le aziende su larga scala, e vLLM costituisce uno strumento essenziale.

Con Red Hat AI, hai accesso a Red Hat AI Inference Server, in modo da ottimizzare l'inferenza dei modelli nel cloud ibrido per deployment più rapidi ed economici. Basato su vLLM, il server di inferenza consente alla GPU di operare in modo efficiente e velocizza i tempi di risposta.

Red Hat AI Inference Server include il repository Red Hat AI, una raccolta di modelli di terze parti convalidati e ottimizzati che garantisce la flessibilità dei modelli e promuove la coerenza tra i team. Con l'accesso al repository dei modelli di terze parti, le aziende possono accelerare i tempi di rilascio e ridurre gli ostacoli finanziari al successo dell'IA.  

Blog

Artificial Intelligence (AI)

See how our platforms free customers to run AI workloads and models anywhere

Adotta l'IA con Red Hat: Consulenza, formazione e supporto per ogni fase del percorso

Scopri l'offerta unica di soluzioni di IA di Red Hat La gamma completa di soluzioni di IA proposta da Red Hat aiuta le aziende a distribuire l'IA in maniera efficace per raggiungere gli obiettivi aziendali e IT prefissati.

Continua a leggere

Machine learning: Cos'è MLOps?

Con MLOps (Machine Learning Operations) si intende un insieme di metodologie per i flussi di lavoro che semplifica la distribuzione e la gestione dei modelli di machine learning (ML).

Cos'è l'inferenza IA?

L'inferenza IA è il momento in cui un modello di IA fornisce una risposta basata sui dati. È l'ultimo passaggio di un complesso processo tecnologico di machine learning.

Cosa sono i modelli fondativi per l'IA?

Un modello fondativo è una particolare tipologia di modello di machine learning (ML) che viene addestrato per eseguire una specifica gamma di attività.

AI/ML: risorse consigliate

Prodotto in evidenza

  • Red Hat AI

    Soluzioni flessibili che accelerano lo sviluppo e il deployment delle soluzioni di IA negli ambienti hybrid cloud.

Articoli correlati