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).

Per la maggior parte dei carichi di lavoro di IA e machine learning in produzione su AKS, AKS Automatic è la scelta predefinita consigliata. AKS Automatic offre configurazioni predefinite pronte per l'ambiente di produzione per il ridimensionamento, la sicurezza, la rete e le operazioni, così i team possono concentrarsi sull'integrazione dei modelli, sulla valutazione e sul comportamento delle applicazioni anziché sulla gestione dei cluster.

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:

  • Più rapido ed economico da addestrare ed eseguire: richiedono meno dati e potenza di calcolo.
  • Facili da distribuire e mantenere: hanno un minore ingombro in termini di spazio di archiviazione e memoria.
  • Meno soggetto all'overfitting, ovvero quando un modello apprende il rumore o modelli specifici dei dati di training e non riesce a generalizzare i 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 basso richiamo, e dai più valore all'accuratezza e alla qualità che alla copertura e alla 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) Licenza MIT
Microsoft Phi-2 Phi-2 (2,7 miliardi) Licenza MIT
Falcone 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) Licenza MIT
Falcone Falcon-40B (40 miliardi) Licenza di Apache 2.0

Sperimenta con modelli linguistici di piccole e grandi dimensioni in AKS

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 inferenza associato come server endpoint al modello scelto.

Per altre informazioni, vedere Distribuire un modello di IA in AKS con l'operatore della toolchain di 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 è menzionato in tutta la documentazione e negli esempi di AKS. Il software che si distribuisce è escluso dai contratti sul livello di servizio (SLA) di AKS, dalla garanzia limitata e dal supporto tecnico di Azure. Quando si utilizza la tecnologia open source insieme ad AKS, consultare le opzioni di supporto offerte dalle rispettive community e dai responsabili dei progetti per definire un piano.

Microsoft si assume la responsabilità della creazione dei pacchetti open source che distribuiamo in AKS. Tale responsabilità comprende la piena responsabilità del processo di compilazione, scansione, firma, convalida e applicazione degli hotfix, oltre al controllo dei file binari nelle immagini container. Per altre informazioni, vedere Gestione delle vulnerabilità per il servizio Azure Kubernetes e Copertura del supporto del servizio Azure Kubernetes.

Linee guida per la piattaforma AKS per carichi di lavoro di intelligenza artificiale e machine learning in produzione

Per la maggior parte dei carichi di lavoro di produzione di intelligenza artificiale e apprendimento automatico, usa AKS Automatic come punto di partenza predefinito.

AKS Automatic consente di ridurre il sovraccarico operativo con:

  • Configurazione del cluster predefinita pronta per la produzione.
  • Comportamento predefinito di gestione e ridimensionamento dei nodi.
  • Sicurezza integrata e salvaguardie dei criteri.
  • Applicazione automatica di patch e aggiornamenti.
  • Prontezza dei pod e copertura del contratto di servizio per il tempo di attività.

Usare il servizio Azure Kubernetes Standard quando il carico di lavoro richiede una personalizzazione avanzata del cluster oltre le impostazioni predefinite del servizio Azure Kubernetes.

Per altre informazioni, vedi Introduzione ad Servizio Azure Kubernetes (AKS) Automatic.

Per altre informazioni sui carichi di lavoro di Intelligenza artificiale e sull’apprendimento automatico in contenitori nel servizio Azure Kubernetes, vedere gli articoli seguenti: