Esecuzione di Llama 2 su CPU Inference localmente per Document Q&A

Esecuzione Llama 2 su CPU Inference localmente per Document Q&A

Guida chiaramente spiegata per l’esecuzione di applicazioni LLM open-source quantizzate su CPU utilizzando Llama 2, C Transformers, GGML e LangChain

Foto di NOAA su Unsplash

I fornitori di modelli di linguaggio LLM commerciali di terze parti come GPT4 di OpenAI hanno democratizzato l’uso di LLM attraverso semplici chiamate API. Tuttavia, le squadre potrebbero comunque richiedere un’implementazione autonoma o privata per l’inferenza del modello all’interno dei perimetri aziendali per vari motivi legati alla privacy dei dati e alla conformità normativa.

La proliferazione di LLM open source ha fortunatamente aperto una vasta gamma di opzioni per noi, riducendo così la nostra dipendenza da questi fornitori di terze parti.

Quando ospitiamo modelli open source localmente on-premise o nel cloud, la capacità di calcolo dedicata diventa una considerazione chiave. Sebbene le istanze GPU possano sembrare la scelta più conveniente, i costi possono facilmente sfuggire al controllo.

In questa guida facile da seguire, scopriremo come eseguire versioni quantizzate di LLM open source su inferenza CPU locale per la generazione con recupero migliorato (aka Q&A dei documenti) in Python. In particolare, sfrutteremo il modello di chat Llama 2 più recente e ad alte prestazioni in questo progetto.

Contenuti

(1) Breve introduzione alla quantizzazione(2) Strumenti e dati(3) Selezione di LLM open source(4) Guida passo-passo(5) Prossimi passi

Il repository GitHub correlato a questo articolo può essere trovato qui.

(1) Breve introduzione alla quantizzazione

I LLM hanno dimostrato eccellenti capacità ma sono noti per essere intensivi in termini di calcolo e memoria. Per gestire i loro svantaggi, possiamo utilizzare la quantizzazione per comprimere questi modelli al fine di ridurre l’occupazione di memoria e accelerare l’inferenza computazionale mantenendo al tempo stesso le prestazioni del modello.

La quantizzazione è la tecnica di riduzione del numero di bit utilizzati per rappresentare un numero o un valore. Nel contesto dei LLM, comporta la riduzione della precisione dei parametri del modello memorizzando i pesi in tipi di dati a precisione inferiore.

Poiché riduce le dimensioni del modello, la quantizzazione è vantaggiosa per l’implementazione di modelli su dispositivi con risorse limitate come CPU o sistemi embedded.