Ricercatori di Princeton introducono MeZO un ottimizzatore di ordine zero efficiente in termini di memoria che può ottimizzare i grandi modelli di linguaggio (LLM).

I ricercatori di Princeton presentano MeZO, un ottimizzatore di ordine zero efficiente in termini di memoria per grandi modelli di linguaggio (LLM).

I modelli di linguaggio di grandi dimensioni stanno avanzando rapidamente con l’enorme successo dell’Intelligenza Artificiale Generativa negli ultimi mesi. Questi modelli stanno contribuendo a trasformazioni economiche e sociali notevoli, il miglior esempio delle quali è il ben noto ChatGPT sviluppato da OpenAI, che ha avuto milioni di utenti fin dal suo rilascio, con il numero in aumento esponenziale, se non lo stesso. Questo chatbot, basato sul Natural Language Processing (NLP) e sul Natural Language Understanding (NLU), consente agli utenti di generare testo significativo proprio come gli esseri umani. Risponde in modo significativo alle domande, riassume paragrafi lunghi, completa codici ed email, ecc. Altri modelli di linguaggio di grandi dimensioni, come PaLM, Chinchilla, BERT, ecc., hanno dimostrato ottime performance nel campo dell’IA.

Il fine-tuning dei modelli di linguaggio pre-addestrati è stato un approccio popolare per molte attività legate al linguaggio. Il fine-tuning consente a questi modelli di adattarsi a domini specializzati, incorporare istruzioni umane e soddisfare le preferenze individuali. Fondamentalmente, si adattano i parametri di un modello di linguaggio già addestrato utilizzando un dataset più piccolo e specifico del dominio. Man mano che i modelli di linguaggio aumentano di dimensioni con più parametri, il fine-tuning diventa computazionalmente esigente e richiede molta memoria per il calcolo dei gradienti durante la backpropagation. L’utilizzo della memoria è significativamente superiore a quello necessario per l’inferenza a causa dell’attivazione della cache, dei gradienti e della memorizzazione della storia dei gradienti.

Recentemente, un team di ricercatori dell’Università di Princeton ha introdotto una soluzione per il problema della memoria. Chiamato MeZO, un ottimizzatore di ordine zero efficiente in termini di memoria, questa è un’adattazione del tradizionale metodo ZO-SGD che stima i gradienti utilizzando solo le differenze nei valori di perdita e opera in loco, consentendo il fine-tuning dei modelli di linguaggio con lo stesso utilizzo di memoria dell’inferenza. Il team si è concentrato sull’approccio di ordine zero in MeZO poiché i metodi ZO possono stimare i gradienti utilizzando solo due passaggi in avanti, rendendoli efficienti in termini di memoria.

L’algoritmo MeZO è stato appositamente progettato per ottimizzare i modelli di linguaggio di grandi dimensioni con miliardi di parametri. Alcuni dei principali contributi menzionati dal team sono –

  1. MeZO è stato sviluppato modificando il metodo ZO-SGD e alcune variazioni per eseguirlo in loco su modelli di dimensioni arbitrarie con scarso overhead di memoria.
  1. MeZO è compatibile con PEFT e sintonizzazioni dei parametri complete, come LoRA e sintonizzazione del prefisso.
  1. MeZO può migliorare obiettivi non differenziabili come accuratezza o punteggio F1, utilizzando comunque la stessa quantità di memoria dell’inferenza.
  1. Un adeguato pre-addestramento garantisce che il tasso di ottimizzazione per passo di MeZO e il tasso di convergenza globale dipendano da un numero specifico di condizioni del paesaggio, ovvero dal rango locale effettivo anziché un elevato numero di parametri, ciò è in contrasto con i limiti inferiori precedenti di ordine zero che implicano che il tasso di convergenza può essere lento in base al numero di parametri.
  1. Gli esperimenti hanno suggerito che nei test su vari tipi di modelli come masked LM e autoregressive LM, il modello scala da 350M a 66B e per attività derivate come classificazione, scelta multipla e generazione.
  1. MeZO supera il zero-shot, ICL e linear probing negli esperimenti e ottiene anche risultati migliori o simili al fine-tuning in 7 su 11 test con OPT-13B, pur consumando circa il 12% di memoria in meno rispetto a RoBERTa-large o al fine-tuning normale, rispettivamente.

Alla valutazione, MeZO è stato in grado di addestrare un modello con 30 miliardi di parametri utilizzando una singola GPU Nvidia A100 80GB, mentre la backpropagation può addestrare solo un modello LM con 2,7 miliardi di parametri nelle stesse limitazioni di memoria. In conclusione, MeZO è un ottimizzatore di ordine zero efficiente in termini di memoria che può effettivamente eseguire il fine-tuning di grandi modelli di linguaggio.