Intelligenza artificiale

Phi3, ecco la guida alla più piccola IA di Microsoft



Indirizzo copiato

Microsoft introduce Phi3, un Large Language Model che combina efficienza e prestazioni. Nonostante le dimensioni ridotte, Phi3 dimostra ottime performance grazie alla quantizzazione, una tecnica che permette di migliorare l’efficienza dei modelli LLM riducendo la precisione dei parametri del modello. Un passo avanti verso l’applicazione di compiti di apprendimento automatico su dispositivi con risorse limitate

Pubblicato il 3 mag 2024

Antonio Cisternino

Università di Pisa



phi3

Phi3, appena rilasciato da Microsoft, è un modello dalla dimensione compatta capace di eseguire efficientemente su un laptop, ma dal comportamento decisamente sorprendente e con una buona capacità di gestire l’italiano.

Ma come si comporta nella pratica? E quali sono le implicazioni della quantizzazione per l’esecuzione su dispositivi personali?

Phi-3 BEATS Mixtral AND Fits On Your Phone!

Cosa ci dice il numero di parametri di un modello LLM

Partiamo da un assunto: non è una novità che il numero di parametri di un modello LLM non ne determini interamente il comportamento, OpenAI stessa dopo aver annunciato i 175 miliardi di parametri di GPT-3.5 ha commentato che GPT-4 non seguiva la stessa filosofia e probabilmente l’abilità dell’allora nuovo modello non era dovuto a un numero di parametri stimato dieci volte superiore.

Se si ricorda che i parametri rappresentano la “forza” della connessione tra neuroni e che vengono “aggiustati” durante l’apprendimento è evidente che la quantità di informazione che una rete può apprendere è proporzionale a questo numero. Non stiamo però parlando della memoria di un calcolatore: la rete neurale non trattiene l’informazione in modo esatto e quindi non è vero che 175 miliardi di parametri contengono 350 gigabyte di informazione in modo esatto, l’effetto che ciascun peso può avere durante l’esecuzione della rete contribuisce alla generazione di informazione senza però essere dedicato ad una funzione specifica come, ad esempio, memorizzare una particolare informazione. Non deve quindi sorprendere come si parli spesso di modelli che con soli 8 miliardi di parametri si comportano, almeno in alcuni casi, meglio di modelli come GPT-3.5 che sono venti volte più grandi.

Perché è importante l’efficienza dei modelli di dimensioni ridotte

In pochi mesi ci siamo abituati a pensare che “almeno” 7-8 miliardi di parametri siano però necessari per avere un modello LLM che sia di una qualche utilità e con ragionevoli capacità di ragionamento, non può quindi non sorprendere un modello come Phi3 appena rilasciato da Microsoft capace di esibire comportamenti di questa classe nonostante si limiti ad avere tre miliardi di parametri.

Si tratta di un tema molto importante: il numero di parametri non è solo correlato all’informazione, ma anche alla velocità di esecuzione: disponendo di una GPU l’esecuzione beneficia se il modello sta in memoria, e in generale le prestazioni dipendono direttamente dal numero di parametri. Su un piccolo dispositivo come Raspberry Pi 5, ad esempio, è realistico eseguire il modello Gemma 2B di Google non certamente la sua controparte Gemma 7B.

La disponibilità di modelli “piccoli” è quindi molto importante in un’ottica di poter eseguire sistemi AI sui propri PC (anche alla luce dei nuovi processori di Intel che nel 2023 ha lanciato l’AI PC, ovvero un PC con un processore capace di eseguire modelli di AI in modo efficiente nel processore grazie ad una NPU integrata). La possibilità di beneficiare di sistemi AI completamente offline e su dispositivi computazionalmente poco capaci come smartphone o PC, magari in modo rispettoso della batteria, apre nuovi scenari di personal AI o automazione, capaci di eseguire anche offline.

Phi3: un modello LLM sorprendentemente efficace

Provare il modello Phi3 è molto semplice: si può utilizzare ollama a riga di comando oppure il tool grafico LM Studio e cercare una delle varianti del modello phi3 di cui discuteremo a breve.

Per testare il modello ho usato il prompt “Un mattone pesa 2kg più mezzo mattone, quanto pesa un mattone?”, una variante di un classico indovinello che cambiando il valore da 1kg a 2kg evita che la risposta sia data per conoscenza e non per ragionamento. Devo notare che l’uso dell’unità di misura kg invece del familiare “due chili” aiuta molto il modello a rispondere correttamente.

Ho condotto la maggior parte dei test su un server senza GPU (ma con processori Intel Xeon molto più performanti della controparte PC), solo in un caso ho eseguito il modello sul mio laptop (che comunque ha una GPU nVidia) per verificare quanto il modello possa eseguire localmente in modo efficiente. In tutti i casi ho chiesto ad ollama di mostrare le prestazioni nel rispondere in modo che ci si possa rendere conto anche dell’efficienza del modello.

Innanzitutto, vediamo come si comporta Llama3 8B con il prompt:

È importante osservare che, se si ripete la stessa domanda, si ottiene un ragionamento analogo ma con la risposta di 3kg e non 4 come ci si aspetterebbe anche usando Llama3.

Testando il modello Phi3: prestazioni e comportamenti

Ora se ripetiamo lo stesso prompt con una variante del modello Phi3 otteniamo:

Il modello in questo caso si comporta in modo simile a Llama3 8B nonostante abbia meno della metà dei parametri! Per quanto riguarda l’efficienza i due modelli sono confrontabili poiché il server usato dispone di molta memoria e i modelli usati usano una tecnica chiamata “quantizzazione” che consente di evitare l’aritmetica in virgola mobile (sacrificando in parte l’accuratezza del modello). Se usiamo la variante di Phi3 in virgola mobile le prestazioni calano:

Come si può osservare il modello si comporta in modo decisamente sorprendente data la sua taglia e non sfigura certo rispetto a GPT-3.5:

Negli esempi riportati ho considerato le risposte “buone” di Phi3 (e di Llama3), ma ripetendo più volte la domanda si ottengono risposte curiose come ad esempio:

Quello che colpisce è che la variante con piena precisione del modello Phi3 sbaglia meno frequentemente di quella quantizzata, ma in ogni caso il modello non risponde in modo sempre coerente, e a volte trae conclusioni corrette da ragionamenti errati.

Anche Llama 3 8B, nella sua versione quantizzata, non ci prende sempre, ma esibisce ragionamenti più consistenti e coerenti nella ripetizione del prompt. GPT-3.5 risponde sempre in modo coerente.

È interessante notare come se chiediamo al modello di non esibire il ragionamento ma limitarsi a rispondere con il peso del mattone (“Un mattone pesa 2kg più mezzo mattone, quanto pesa un mattone? Rispondi solo col numero e senza spiegare”) tutti i modelli sbagliano di più, ma mentre GPT-3.5 risponde sempre “3” e Llama 3 8B quasi sempre, Phi3 risponde in modo molto più casuale (8kg, 7kg, 9kg…).

Quantizzare i modelli LLM per migliorare l’efficienza

Ad ogni generazione di un token la rete neurale deve elaborare i parametri del modello, si tratta di un numero spaventoso di operazioni, si usano quindi numerose tecniche per efficientare l’esecuzione del modello, anche a costo di ridurne un po’ la precisione. Una delle tecniche più popolari è quella della quantizzazione, ovvero si rappresentano i pesi delle connessioni usando un certo numero di bit e il calcolo viene approssimato in aritmetica intera in modo da accelerare l’elaborazione. Il modello Phi3 che viene scaricato per default è la versione quantizzata a 4 bit, ovverosia ciascun peso può assumere 16 valori possibili: molti meno dei 65536 valori che possono assumere pesi espressi come numeri in virgola mobile con 16bit del modello etichettato come “phi3:3.8b-mini-instruct-4k-fp16”, questo riduce la memoria necessaria e migliora anche l’efficienza del calcolo (l’aritmetica intera è generalmente più efficiente di quella in virgola mobile), essendo però un’approssimazione del modello originale può rivelarsi meno efficace nel funzionamento.

Questa semplificazione è molto importante per l’esecuzione di questi modelli su dispositivi personali come PC o anche smartphone e tablet. Basti pensare che l’esecuzione del modello quantizzato di Phi3 sul mio laptop (di fascia alta e con GPU nVidia) è capace di generare 2,71 token/s, poco meno della metà rispetto all’esecuzione su un server dual CPU Xeon. Il modello in virgola mobile invece genera 0,03 token/s, portando a oltre 2 ore il tempo di generazione della risposta.

Conclusioni

Microsoft Phi3 è un modello straordinariamente capace date le dimensioni, con le impostazioni predefinite è un po’ creativo nella generazione del testo e un po’ più soggetto ad allucinazioni rispetto a modelli più grandi, ma la dimensione lo rende adatto alla realizzazione di applicazioni basate su AI personale, sapendo ragionare in modo molto efficace.

È sicuramente un modello LLM molto interessante, capace di generare anche un buon italiano, che dimostra come sia possibile generare modelli efficaci con meno di sette miliardi di parametri.

EU Stories - La coesione innova l'Italia

Tutti
Analisi
Video
Iniziative
Social
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati

Articolo 1 di 2