Come eseguire un'intelligenza artificiale simile a ChatGPT sul tuo PC
Pubblicato: 2023-04-06I chatbot sono di gran moda in questo momento e tutti vogliono un pezzo dell'azione. Google ha Bard, Microsoft ha Bing Chat e ChatGPT di OpenAI è praticamente sinonimo di AI a questo punto. Ma cosa succede se non vuoi fare affidamento su un servizio cloud per il tuo chatbot? Abbiamo un'intelligenza artificiale simile a ChatGPT che puoi scaricare: un Alpaca.
Cos'è l'alpaca?
Come si confronta Alpaca con ChatGPT?
Di cosa hai bisogno per gestire Alpaca?
Come eseguire Alpaca in locale sul tuo PC
Installa il sottosistema Windows per Linux 2
Installa Docker
Installa GIT su Windows
Installa Serge e Alpaca
Usa Serge e Alpaca
Cos'è l'alpaca?
Alpaca è un modello linguistico (un chatbot, fondamentalmente), molto simile a ChatGPT. È in grado di rispondere a domande, ragionare, raccontare barzellette e praticamente ogni altra cosa che ci si aspetta dai chatbot. Alpaca è stato creato dai ricercatori di Stanford perfezionando LLaMA di Facebook.
A differenza di ChatGPT e della maggior parte degli altri chatbot disponibili oggi, Alpaca funziona completamente sul tuo PC. Ciò significa che nessuno può spiare le tue conversazioni o ciò che chiedi ad Alpaca, e nemmeno i tuoi scambi possono essere trapelati accidentalmente. Significa anche che non devi pagare alcun canone mensile, puoi addestrare ulteriormente il modello per soddisfare meglio le tue esigenze se disponi dell'hardware e puoi integrarlo in qualsiasi applicazione desideri. Sei limitato solo dal tuo hardware e dalle tue capacità di programmazione.
Tuttavia, funziona magnificamente anche come un normale vecchio chatbot con cui puoi parlare e ti mostreremo come eseguirlo praticamente su qualsiasi PC là fuori.
Come si confronta Alpaca con ChatGPT?
Lo toglieremo di mezzo in anticipo: ChatGPT, in particolare ChatGPT che esegue GPT-4, è più intelligente e veloce di Alpaca al momento.
La velocità di Alpaca è per lo più limitata dal computer su cui è in esecuzione: se disponi di un PC da gioco incredibilmente veloce con un sacco di core e molta RAM, otterrai buone prestazioni. I PC più lenti con meno core impiegheranno più tempo a generare risposte. Ovviamente, non è esattamente giusto o addirittura ragionevole confrontarlo con ChatGPT a questo proposito: non sappiamo su quale tipo di computer sia in esecuzione ChatGPT, ma è sicuramente più robusto del tuo PC desktop medio.
Attualmente esistono tre varianti principali di Alpaca, 7B, 13B e 30B. In generale, maggiore è il numero, più intelligente sarà il chatbot.
Alpaca, in particolare il modello 7B, è notevolmente "più stupido" di ChatGPT. Non ragiona bene e sicuramente non supererà il test di Turing. 7B è comunque ottimo se vuoi un suggerimento per una ricetta, comunque.
I modelli 13B e 30B sono tutta un'altra storia. 13B è in grado di fornire una conversazione coerente e umana e può rispondere a domande complesse. 30B è ancora più impressionante, se hai l'hardware per eseguirlo ed è a una distanza impressionante da ChatGPT. Andrà avanti filosoficamente o farà uno scherzo senza perdere un colpo se richiesto.
Di cosa hai bisogno per gestire l'alpaca?
Alpaca ha requisiti di sistema piuttosto flessibili. Queste linee guida sono al di sopra del minimo indispensabile, ma sono buone linee guida. Lo installeremo anche su Windows. Se lo stai installando su un sistema che esegue Linux o macOS, salta semplicemente la sezione Sottosistema Windows per Linux: non è rilevante per te.
- 16GB di RAM
- 32 GB sono migliori ed è necessario se si desidera eseguire il modello 30B
- 35 GB di spazio di archiviazione su un SSD se desideri tutti e tre i modelli.
- 4 GB per il modello 7B, 8 GB per il modello 13B e 20 GB per il modello 30B
- 500 MB per Ubuntu predefinito con WSL2
- Alcuni GB in più tra le altre dipendenze
- Una CPU moderna è l'ideale
- Qualsiasi CPU Ryzen
- Processore Intel di settima generazione o successivo
- Sottosistema Windows per Linux 2 (WSL2)
- IDIOTA
- Docker
- Un progetto comunitario, Serge, che dà ad Alpaca una bella interfaccia web
Avviso: al momento non vi è alcun motivo per sospettare che questo particolare progetto presenti gravi errori di sicurezza o sia dannoso. Abbiamo esaminato il codice ed eseguito noi stessi il software e non abbiamo trovato nulla di preoccupante. Ciò non significa che sia o rimarrà al sicuro. Sii sempre cauto con le cose che trovi su internet e rivaluta periodicamente la sicurezza.
Come eseguire Alpaca in locale sul tuo PC
È importante seguire questi passaggi nell'ordine indicato. Docker probabilmente si romperà se non lo fai, richiedendo una reinstallazione completa sia di WSL2 che di Docker.
Installa il sottosistema Windows per Linux 2
Il sottosistema Windows per Linux 2 (WSL2) di Microsoft consente di eseguire il software Linux in Windows. Ha un basso sovraccarico ed è davvero utile in molti casi. Docker per Windows si basa su WSL2, quindi è necessario installare prima WSL2.
Nota: se hai già installato WSL2, esegui semplicemente wsl –update in PowerShell per assicurarti che tutto sia aggiornato.
Apri una finestra di PowerShell come amministratore, quindi inserisci il comando:
wsl --install
Ci vorrà un po' per scaricare tutti i file WSL2 e Ubuntu. È necessario riavviare il PC al termine dell'installazione.
Una volta eseguito il riavvio, riapri PowerShell (non necessariamente come amministratore) ed esegui:
wsl -l -v
Dovresti vedere qualcosa come l'immagine qui sotto se tutto ha funzionato correttamente. Inoltre, non è necessario installare Ubuntu in particolare. Puoi installare qualsiasi distro che ti piace, Ubuntu è solo l'impostazione predefinita.
Installa Docker
Docker è un programma che consente di eseguire programmi in un "contenitore". I container sono simili alle macchine virtuali, ma tendono ad avere meno sovraccarico e sono più performanti per molte applicazioni. Serge utilizza Docker per rendere l'installazione super conveniente.
CORRELATO: Cosa fa Docker e quando dovresti usarlo?
Innanzitutto, scarica il programma di installazione di Docker dal sito Web di Docker. Se eseguirai Docker su Linux o macOS, assicurati di prendere il programma di installazione appropriato.
Nota: se stai eseguendo un server Linux senza testa, ti consigliamo di seguire le istruzioni appropriate per la tua distribuzione Linux per far funzionare Docker.
Esegui il programma di installazione e preparati ad attendere qualche minuto. Docker impiegherà un po' di tempo e organizzerà un sacco di cose dietro le quinte. Al termine, ti consigliamo di riavviare il PC.
Dopo il riavvio, apri PowerShell ed esegui di nuovo wsl -l -v
. Questa volta dovresti vedere anche alcune voci relative a Docker.
Installa GIT su Windows
L'ultimo prerequisito è Git, che useremo per scaricare (e aggiornare) automaticamente Serge da Github. Non è strettamente necessario poiché puoi sempre scaricare lo ZIP ed estrarlo manualmente, ma Git è meglio.
Vai al sito Web di Git e scarica la versione corretta per il tuo sistema operativo. Gli utenti Windows devono solo eseguire l'eseguibile. Assicurati di guardare almeno le opzioni di installazione invece di fare semplicemente clic rapidamente su tutte le opzioni. Uno, mostrato nello screenshot qui sotto, è assolutamente critico.
Al termine dell'installazione di Git, sei pronto per installare Serge e Alpaca.
Installa Serge e Alpaca
Innanzitutto, assicurati che Docker Desktop sia in esecuzione. Quindi, apri PowerShell o Windows Terminal con una finestra di PowerShell aperta (non come amministratore) ed esegui il seguente comando:
git clone https://github.com/nsarrazin/serge.git && cd serge
Questo scarica i file da GitHub in una cartella sul tuo PC, quindi cambia la directory attiva nella cartella che è stata creata.
Il prossimo comando che devi eseguire è:
cp .env.sample .env
Quella riga crea una copia di .env.sample e nomina la copia ".env". Il file contiene argomenti relativi al database locale che memorizza le tue conversazioni e la porta che il server web locale utilizza quando ti connetti.
Quindi eseguire:
docker compose up -d
Docker compose unisce una serie di contenitori diversi in un pacchetto ordinato. Puoi controllare il file docker-compose.yml nella cartella Serge se vuoi vedere più specificamente cosa è coinvolto qui.
L'ultimo comando avvierà un download e qui è necessario effettuare una scelta prima di procedere. Esistono tre diverse varianti che puoi scaricare: 7B, 13B e 30B. Il 7B è il modello più semplice e “stupido”, mentre il 30B è il più sofisticato e intelligente. 13B è la via di mezzo.
Variante | Scarica Dimensione | RAM libera richiesta | RAM di sistema Consigliata su Windows | RAM di sistema Consigliata su Linux |
7B | 4GB | 4GB | 16 GB | 8GB |
13b | 8GB | 8GB | 16 GB | 16 GB |
30b | 20 | 20GB | 64 GB (probabile) | 32GB |
Le installazioni di Linux (e probabilmente macOS) saranno in grado di farla franca con meno RAM di sistema rispetto alle installazioni di Windows: Windows è un po 'un maiale di RAM. Probabilmente dovresti iniziare prima con la variante 7B poiché è l'opzione meno impegnativa. Puoi sempre scaricare 13B o 30B in seguito, se lo desideri.
Eseguire il seguente comando per scaricare il modello 7B (o sostituire 13B o 30B).
docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B
Preparati ad aspettare, soprattutto se opti per la variante 30B. Il server Huggingface sembra raggiungere il massimo a circa 20 megabyte al secondo, quindi nella migliore delle ipotesi vedrai 50 secondi per gigabyte scaricato.
Usa Serge e Alpaca
Docker e tutti i contenitori richiesti sono attualmente in esecuzione se hai seguito queste istruzioni, tuttavia dovrai riattivarli se riavvii il computer. Per farlo, basta aprire Docker Desktop e fare clic sui piccoli pulsanti triangolari. Le icone a sinistra della colonna "Nome" diventano verdi quando i contenitori sono in esecuzione.
Tutto è installato e pronto per l'uso a questo punto. Basta aprire il browser e inserire "localhost:8008" nella barra degli indirizzi, proprio come faresti per visitare Facebook o qualsiasi altro sito web.
Nota: se stai ospitando Alpaca/Serge su un altro computer, dovrai inserire l'indirizzo IP locale di quel dispositivo invece di localhost.
La schermata principale mostra le tue conversazioni precedenti a sinistra e le impostazioni per una nuova chat visualizzate al centro.
C'è un discreto numero di impostazioni disponibili, ma ce ne sono cinque a cui vorrai davvero prestare attenzione:
- Temperatura : determina la libertà di risposta dell'IA. I numeri più bassi si traducono in risposte più rigide, mentre i numeri più alti sono più creativi.
- Lunghezza massima del testo generato in token : quanto possono essere lunghe le risposte scritte dal bot.
- Scelta del modello : scegli tra 7B, 13B, 30B e qualsiasi altro modello che installi.
- n_threads – Il numero di thread che Serge/Alpaca può usare sulla tua CPU. Allocare di più migliorerà le prestazioni
- Pre-prompt per l'inizializzazione di una conversazione : fornisce il contesto prima che la conversazione venga avviata per influenzare il modo in cui il chatbot risponde.
In questo caso, abbiamo aumentato la temperatura e i thread, selezionato il modello 13B e detto al chatbot che si tratta di un pirata.
Ecco un esempio di come è andata la conversazione.
Puoi parlare di tutto ciò che desideri con Alpaca e non devi preoccuparti di ciò che sta accadendo ai tuoi dati. Rimane sul tuo dispositivo, sotto il tuo controllo in ogni momento.
Ricorda, ChatGPT, Alpaca e altri chatbot sembrano affidabili, ma in questo momento non lo sono. Incarnano molto il sentimento: "Se non puoi abbagliarli con brillantezza, confondili con BS". La loro tendenza a inventare cose è stata soprannominata "allucinante". Non fare affidamento su di loro per nulla di essenziale, soprattutto non per qualcosa di critico per il tuo lavoro o la tua salute. Dovrebbero essere utilizzati solo per scopi di intrattenimento o sperimentali in questo momento.
Tuttavia, la tecnologia migliorerà solo con il tempo: non passerà molto tempo prima che Alpaca (o altra IA gestita localmente) sia integrata nei server Discord, nelle mod di Minecraft e in qualsiasi altra applicazione creativa. Un ulteriore perfezionamento si tradurrà anche in modelli più veloci e accurati che possono essere eseguiti su hardware più debole.