La francese Mistral AI ha svelato il suo nuovo modello linguistico di grandi dimensioni (LLM) Mistral 7B. Addestrato utilizzando ben 7,3 miliardi di parametri, è da oggi disponibile per tutti gli sviluppatori a livello mondiale. La licenza Apache 2.0 rende infatti il modello accessibile a chiunque, senza restrizioni, ed è quindi possibile integrarlo sin da subito nelle proprie applicazioni.
Modello Mistral 7B sviluppato avvalendosi del supercomputer Leonardo
Non abbiamo a che fare con un'”improvvisazione” ma con un progetto articolato e davvero maturo che ha subìto una lunga e attenta attività di fine tuning. Inoltre, c’è un po’ d’Italia in Mistral 7B: il modello LLM è infatti il risultato della collaborazione e del supporto attivo del consorzio CINECA/EuroHPC. Gli sviluppatori di Mistral AI, infatti, ringraziano anche gli operatori del supercomputer Leonardo per le risorse e l’aiuto forniti.
Mistral 7B è progettato per superare Llama 2 13B di Meta in tutti i benchmark. In molti casi, Mistral 7B si è rivelato superiore addirittura al modello Llama 1 34B. È presentato come il modello linguistico più potente mai realizzato per le sue dimensioni: dimostra prestazioni ai vertici della sua categoria superando ogni più rosea aspettativa.
Il modello, spiegano i tecnici di Mistral AI, è ottimizzato grazie ad esempio all’uso di tecniche note come Grouped-query attention (GQA) e Sliding Window Attention (SWA).
Un modello potente e veloce per le applicazioni di intelligenza artificiale: supera i migliori della sua stessa categoria
Affondando sempre le radici del suo funzionamento nel concetto di Transformer, Mistral 7B usa GQA e SWA per migliorare il processo di inferenza. Si tratta della fase in cui il modello applica le conoscenze acquisite durante l’addestramento per compiere azioni specifiche, come la classificazione di un’immagine, la traduzione di un testo o la risposta a domande.
Durante il processo di inferenza, il modello deve elaborare e rispondere a diverse query o richieste. GQA opera raggruppando intelligentemente queste query in modo che possano essere gestite più efficientemente. Piuttosto che trattare ogni query singolarmente, GQA consente al modello di affrontare gruppi di query in parallelo, riducendo il carico computazionale e accelerando il tempo di risposta complessivo.
Con SWA, inoltre, Mistral 7B è in grado di gestire sequenze più lunghe in modo più efficiente. Quando il modello affronta sequenze di testo o dati di grandi dimensioni, l’approccio SWA consente al modello di concentrarsi solo su una “finestra” limitata di token per volta. Mistral 7B scorre la sequenza, trattando solo una porzione alla volta. Così facendo il carico computazionale risulta significativamente ridotto rispetto allo schema tradizionale che agisce sull’intera sequenza da elaborare.
Per una facile implementazione, il modello predisposto da Mistral AI è già compatibile con le piattaforme cloud più utilizzate, tra cui AWS, Google Cloud ed Azure.
Come usare il modello Mistral 7B
Come accennato in precedenza, Mistral 7B è rilasciato sotto licenza Apache 2.0: è quindi permesso modificarlo e adattarlo liberamente, anche per uso commerciale. Un’implementazione di riferimento è disponibile su GitHub; inoltre, gli sviluppatori di Mistral AI hanno condiviso la documentazione contenente le informazioni per integrare il modello con Skypilot sui vari servizi cloud.
Il repository GitHub di Mistral 7B contiene il codice di base per eseguire il modello sui propri sistemi oppure sul cloud.
È possibile installare le dipendenze necessarie eseguendo il comando pip install -r requirements.txt
. Per avviare il modello, si può invece ricorrere al comando python -m main demo /percorso-modello
.
Per iniziare a usare alcuni prompt, si deve impartire il comando seguente:
python -m main interactive /percorso-modello
SkyPilot è un framework progettato per eseguire modelli di linguaggio di grandi dimensioni (LLM), applicazioni di intelligenza artificiale (AI) e attività batch su qualsiasi piattaforma cloud. Si tratta di una soluzione che si concentra sul contenimento dei costi, sull’utilizzo ottimale della GPU e su un’esecuzione autonomamente gestita.
La pagina citata in precedenza e predisposta da Mistral AI, offre un esempio di configurazione di SkyPilot che implementa il modello Mistral-7B-v0.1 su un’istanza cloud AWS p3.2xlarge (un nodo con una singola GPU NVIDIA V100).
Mistral AI tende a precisare che quando il modello viene implementato utilizzando le indicazioni riportate nella pagina di supporto, esso risulterà pubblicamente accessibile. È quindi necessario proteggere l’applicazione esponendola esclusivamente nella propria rete privata (modificare l’opzione Docker --host
per questo), aggiungendo un bilanciatore di carico con un meccanismo di autenticazione o modificando le impostazioni di rete dell’istanza sul cloud.
Credit immagine in apertura: iStock.com/Shutthiphong Chandaeng