Concetti - Modelli linguistici di piccole e grandi dimensioni
Questo articolo illustra i modelli linguistici di piccole e grandi dimensioni, tra cui quando e come usarli con i flussi di lavoro dell’intelligenza artificiale e dell’apprendimento automatico nel servizio Azure Kubernetes (AKS).
Che cosa sono i modelli linguistici?
I modelli linguistici sono potenti modelli di apprendimento automatico usati per le attività di elaborazione del linguaggio naturale (NLP), ad esempio la generazione di testo e l'analisi valutazione. Questi modelli rappresentano il linguaggio naturale in base alla probabilità che le parole o le sequenze di parole si verifichino in un determinato contesto.
I modelli linguistici convenzionali sono stati usati nelle impostazioni con supervisione per scopi di ricerca in cui i modelli vengono sottoposti a training su set di dati di testo ben etichettati per attività specifiche. I modelli linguistici con training preliminare offrono un modo accessibile per iniziare a usare l'intelligenza artificiale e sono diventati più diffusi negli ultimi anni. Questi modelli vengono sottoposti a training su corpora di testo su larga scala da Internet utilizzando reti neurali profonde e possono essere ottimizzati su set di dati più piccoli per attività specifiche.
Le dimensioni di un modello linguistico sono determinate dal numero di parametri o pesi, che determinano il modo in cui il modello elabora i dati di input e genera output. I parametri vengono appresi durante il processo di training modificando i pesi all'interno dei livelli del modello per ridurre al minimo la differenza tra le stime del modello e i dati effettivi. Se un modello ha più parametri, sarà più complesso ed espressivo, ma anche più costoso dal punto di vista computazionale per l'esecuzione del training e l'utilizzo.
In generale, i modelli linguistici di piccole dimensioni hanno meno di 10 miliardi di parametri e i modelli linguistici di grandi dimensioni hanno più di 10 miliardi di parametri. Ad esempio, la nuova famiglia di modelli Microsoft Phi-3 ha tre versioni con dimensioni diverse: mini (3,8 miliardi di parametri), piccolo (7 miliardi di parametri) e medio (14 miliardi di parametri).
Quando usare modelli linguistici di piccole dimensioni
Vantaggi
I modelli linguistici di piccole dimensioni sono una scelta ottimale se si vuole che i modelli siano i seguenti:
- Training ed esecuzione più rapidi ed economici: richiedono meno dati e potenza di calcolo.
- Facilità di distribuzione e gestione: hanno footprint di archiviazione e memoria più piccoli.
- Meno soggetto a overfitting, ovvero quando un modello apprende il rumore o i modelli specifici dei dati di training e non generalizza nuovi dati.
- Interpretabile e spiegabile: hanno meno parametri e componenti da comprendere e analizzare.
Casi d'uso
I modelli linguistici di piccole dimensioni sono adatti ai casi d'uso che richiedono:
- Dati o risorse limitati con la necessità di una soluzione rapida e semplice.
- Attività ben definite o ristrette senza la necessità di molta creatività nell'output.
- Attività ad alta precisione e richiamo ridotto e l'accuratezza e la qualità sono più importanti rispetto alla copertura e della quantità.
- Attività sensibili o regolamentate con la necessità di garantire la trasparenza e la responsabilità del modello.
La tabella seguente elenca alcuni modelli linguistici di piccole dimensioni a prestazioni elevate più diffusi:
Famiglia del modello | Dimensioni del modello (numero di parametri) | Licenza software |
---|---|---|
Microsoft Phi-3 | Phi-3-mini (3,8 miliardi), Phi-3-small (7 miliardi) | MIT license |
Microsoft Phi-2 | Phi-2 (2,7 miliardi) | MIT license |
Falcon | Falcon-7B (7 miliardi) | Licenza di Apache 2.0 |
Quando usare modelli linguistici di grandi dimensioni
Vantaggi
I modelli linguistici di grandi dimensioni sono una scelta ottimale se si vuole che i modelli siano i seguenti:
- Potenti ed espressivi: possono acquisire modelli e relazioni più complessi nei dati.
- Generale e adattabile: possono gestire una gamma più ampia di attività e trasferire conoscenze tra domini.
- Affidabili e coerenti: possono gestire input rumorosi o incompleti ed evitare errori e distorsioni comuni.
Casi d'uso
I modelli linguistici di grandi dimensioni sono adatti ai casi d'uso che richiedono:
- Risorse e dati abbondanti e si dispone del budget per creare e gestire una soluzione complessa.
- Attività a bassa precisione e richiamo elevato e si valutano la copertura e la quantità rispetto all'accuratezza e alla qualità.
- Attività complesse o esplorative e si vuole sfruttare la capacità del modello per apprendere e adattarsi.
La tabella seguente elenca alcuni modelli linguistici di grandi dimensioni a prestazioni elevate più diffusi:
Famiglia del modello | Dimensioni del modello (numero di parametri) | Licenza software |
---|---|---|
Microsoft Phi-3 | Phi-3-medium (14 miliardi) | MIT license |
Falcon | Falcon-40B (40 miliardi) | Licenza di Apache 2.0 |
Sperimentare modelli linguistici di piccole e grandi dimensioni nel servizio Azure Kubernetes
Kubernetes AI Toolchain Operator (KAITO) è un operatore open source che automatizza le distribuzioni di modelli linguistici di piccole e grandi dimensioni nei cluster Kubernetes. Il componente aggiuntivo KAITO per il servizio Azure Kubernetes semplifica l'onboarding e riduce il tempo di inferenza per i modelli open source nei cluster del servizio Azure Kubernetes. Il componente aggiuntivo effettua automaticamente il provisioning dei nodi GPU di dimensioni appropriate e configura il server di interferenza associato come server endpoint al modello scelto.
Per altre informazioni, vedere Distribuire un modello di IA nel servizio Azure Kubernetes con l'operatore toolchain IA. Per iniziare a usare una serie di modelli linguistici di piccole e grandi dimensioni supportati per i flussi di lavoro di inferenza, vedere il Repository GitHub del modello KAITO.
Importante
Il software open source è citato nella documentazione e negli esempi di Azure Kubernetes. Il software distribuito viene escluso dai contratti di servizio del servizio Azure Kubernetes, dalla garanzia limitata e supporto tecnico di Azure. Quando si usa la tecnologia open source insieme al servizio Azure Kubernetes, consultare le opzioni di supporto disponibili dalle rispettive community e dai gestori di progetti per sviluppare un piano.
Ad esempio, il repository GitHub Ray descrive diverse piattaforme che variano in tempo di risposta, scopo e livello di supporto.
Microsoft si assume la responsabilità di creare i pacchetti open source distribuiti nel servizio Azure Kubernetes. Tale responsabilità include la proprietà completa del processo di compilazione, analisi, firma, convalida e hotfix, oltre al controllo sui file binari nelle immagini del contenitore. Per altre informazioni, vedere Gestione delle vulnerabilità per il servizio Azure Kubernetes e Copertura del supporto del servizio Azure Kubernetes.
Passaggi successivi
Per altre informazioni sui carichi di lavoro di Intelligenza artificiale e sull’apprendimento automatico in contenitori nel servizio Azure Kubernetes, vedere gli articoli seguenti:
Azure Kubernetes Service