Technology Innovation Institute addestra il modello base Falcon LLM 40B all’avanguardia su Amazon SageMaker.

Technology Innovation Institute trains advanced Falcon LLM 40B base model on Amazon SageMaker.

Questo post sul blog è stato scritto congiuntamente con il Dr. Ebtesam Almazrouei, Direttore Esecutivo – Ricercatore Capo AI della Unità AI-Cross Center e Project Lead per i progetti LLM presso TII.

Il Technology Innovation Institute (TII) degli Emirati Arabi Uniti (EAU), il pilastro della ricerca applicata del Consiglio per la ricerca sulla tecnologia avanzata di Abu Dhabi, ha lanciato Falcon LLM, un fondamentale large language model (LLM) con 40 miliardi di parametri. TII è un importante centro di ricerca globale dedicato a spingere i confini della conoscenza. Il team di scienziati, ricercatori e ingegneri di TII lavora per fornire la scienza della scoperta e le tecnologie trasformative. Il lavoro di TII si concentra su scoperte che proteggeranno il nostro futuro. Addestrato su 1 trilione di token, TII Falcon LLM vanta un’eccezionale performance rimanendo incredibilmente economico. Falcon-40B eguaglia le prestazioni di altri LLM ad alta performance ed è il modello open-source al top nella leaderboard pubblica di Hugging Face Open LLM. È disponibile come open-source in due diverse dimensioni – Falcon-40B e Falcon-7B ed è stato costruito da zero utilizzando la preparazione dei dati e i lavori di addestramento del modello costruiti su Amazon SageMaker. L’open-sourcing di Falcon 40B consente agli utenti di costruire e personalizzare strumenti di intelligenza artificiale che soddisfino le esigenze uniche degli utenti, facilitando l’integrazione senza soluzione di continuità e garantendo la conservazione a lungo termine degli asset dei dati. I pesi del modello sono disponibili per il download, l’ispezione e la distribuzione ovunque.

A partire dal 7 giugno, entrambi i Falcon LLM saranno disponibili anche in Amazon SageMaker JumpStart, l’hub di machine learning (ML) di SageMaker che offre modelli pre-addestrati, algoritmi integrati e modelli di soluzioni pre-costruiti per aiutarti a iniziare rapidamente con ML. Puoi distribuire e utilizzare i Falcon LLM con pochi clic in SageMaker Studio o in modo programmato tramite SageMaker Python SDK. Per distribuire ed eseguire inferenze su Falcon LLM, vedi il notebook di esempio Introduzione a SageMaker JumpStart – Generazione di testo con Falcon LLM.

Il Dr. Ebtesam Almazrouei, Direttore Esecutivo – Ricercatore Capo AI della Unità AI-Cross Center e Project Lead per i progetti LLM presso TII, condivide:

“Siamo fieri di annunciare il rilascio ufficiale di Falcon-40B come modello di linguaggio open-source al primo posto al mondo. Falcon-40B è un modello open-source eccezionale con 40B di parametri, specificamente progettato come modello decoder solo causale. È stato addestrato su un vasto dataset di 1.000B di token, tra cui RefinedWeb migliorato con corpora curati. Il modello è reso disponibile con licenza Apache 2.0, garantendo la sua accessibilità e usabilità. Falcon-40B ha superato i modelli rinomati come LLaMA-65B, StableLM e MPT nella leaderboard pubblica mantenuta da Hugging Face. L’architettura di Falcon-40B è ottimizzata per l’inferenza, incorporando tecniche FlashAttention e multiquery.”

“Questo passo riflette il nostro impegno nel spingere i confini dell’innovazione AI e del livello di preparazione tecnologica per l’engagement della comunità, l’istruzione, le applicazioni reali e la collaborazione. Continua il Dr Ebtesam.” Rilasciando Falcon-40B come modello open-source, forniamo ai ricercatori, agli imprenditori e alle organizzazioni la possibilità di sfruttare le sue eccezionali capacità e guidare gli avanzamenti nelle soluzioni guidate dall’AI, dalla sanità allo spazio, dalla finanza alla manifattura alla biotecnologia; le possibilità per le soluzioni guidate dall’AI sono illimitate. Per accedere a Falcon-40B ed esplorare il suo notevole potenziale, visita FalconLLM.tii.ae . Unisciti a noi nell’utilizzare il potere di Falcon-40B per plasmare il futuro dell’AI e rivoluzionare le industrie”

In questo post, approfondiremo con il Dr. Almazrouei la formazione di Falcon LLM su SageMaker, la cura dei dati, l’ottimizzazione, le prestazioni e i prossimi passi.

Una nuova generazione di LLM

LLM sono algoritmi software addestrati per completare sequenze di testo naturale. A causa delle loro dimensioni e del volume di dati di addestramento con cui interagiscono, gli LLM hanno impressionanti capacità di elaborazione del testo, tra cui riassunto, risposta alle domande, apprendimento in contesto e altro ancora.

All’inizio del 2020, le organizzazioni di ricerca in tutto il mondo hanno posto l’enfasi sulla dimensione del modello, osservando che l’accuratezza era correlata al numero di parametri. Ad esempio, GPT-3 (2020) e BLOOM (2022) presentano circa 175 miliardi di parametri, Gopher (2021) ha 230 miliardi di parametri e MT-NLG (2021) 530 miliardi di parametri. Nel 2022, Hoffman et al. hanno osservato che l’attuale equilibrio di calcolo tra i parametri del modello e la dimensione dei dati di addestramento era subottimale e hanno pubblicato leggi di scaling empiriche suggerendo che bilanciare il budget di calcolo verso modelli più piccoli addestrati su più dati potrebbe portare a modelli di migliore performance. Hanno implementato la loro guida nel modello Chinchilla (2022) con 70B di parametri, che ha superato modelli molto più grandi.

LLM training su SageMaker

SageMaker è una collezione di API gestite per lo sviluppo, la formazione, l’ottimizzazione e l’hosting di modelli di apprendimento automatico (ML), compresi i LLM. Numerosi clienti si affidano a SageMaker per i loro carichi di lavoro LLM, come Stability AI , AI21 Labs , Hugging Face e LG AI . SageMaker Training fornisce cluster di elaborazione con configurazione hardware e codice definiti dall’utente. I lavori di elaborazione vengono fatturati per esecuzione, proporzionati al secondo, il che significa che agli utenti non viene addebitata la capacità GPU quando non utilizzano il servizio. TII ha utilizzato cluster transitori forniti dall’API SageMaker Training per addestrare il Falcon LLM, fino a 48 istanze ml.p4d.24xlarge, per un totale di 384 GPU NVIDIA A100. Ora, TII sta addestrando il prossimo Falcon LLM e ha scalato la formazione a 3.136 GPU A100 (392 istanze ml.p4d).

Un’quantità senza precedenti di innovazioni personalizzate è stata introdotta in tutte le fasi del progetto al fine di aumentare la qualità scientifica e la velocità di formazione. Nelle sezioni successive, descriviamo le ottimizzazioni condotte da TII in tutte le fasi del sistema di formazione del deep learning (DL).

Cura dei dati scalabile

I LLM di ultima generazione traggono la loro forza dalle dimensioni e dalla qualità dei dati di formazione. Il team ha prestato particolare attenzione alla creazione di un dataset di alta qualità di un trilione di token. Diversi lavori CPU di SageMaker Training hanno trasformato i petabyte di dati web scalabili ed economici in un dataset di formazione curato e sicuro. I sistemi automatizzati hanno filtrato e deduplicato i dati; ad esempio, sono stati utilizzati classificatori ML per filtrare le volgarità. I lavori CPU eseguiti su ml.c5.18xlarge (72 vCPUs, 144 GB RAM) sono stati istanziati in poche chiamate API tramite SageMaker Training per eseguire attività di trasformazione dati. Il team ha utilizzato sia lavori CPU a singola istanza che multi-istanza per diverse esigenze. Alcuni di questi lavori hanno utilizzato centinaia di lavori parallelizzati su architettura share-nothing (SNA) su singola macchina, e per le attività che richiedevano sincronizzazione tra i lavoratori, il team ha lanciato lavori multi-istanza, per un totale di diverse dozzine di istanze e migliaia di vCPUs. Aneddoticamente, in un’attività di preparazione del dataset downstream, il team ha utilizzato fino a 257 ml.c5.18xlarge in un singolo lavoro di SageMaker Training, per un totale di 18.504 vCPU e 37 TB di memoria.

Massimizzazione della velocità di formazione

Per minimizzare i costi di formazione e il time-to-market, il team ha perseguito diverse direzioni di ottimizzazione per accelerare la velocità di formazione proporzionalmente ai token di formazione elaborati al secondo e misurati in TFLOPs/GPU. Il team ha utilizzato un framework di formazione LLM 3D completamente personalizzato, con layer ottimizzati personalizzati scritti in codice GPU compilato. Il team è arrivato persino a scrivere la propria implementazione personalizzata della moltiplicazione di matrici per guadagnare ulteriore velocità! Il team ha anche sviluppato una logica che adatta la comunicazione parallela alla topologia di rete sottostante. Durante i loro esperimenti iniziali di scaling, TII è stato in grado di raggiungere 166 TFLOPs/GPU su un modello di 147B su 256 GPU, e 173 TFLOPs/GPU su un modello di 13B su 16 GPU, a nostra conoscenza la più alta velocità di TFLOPs nota raggiunta in cloud al momento del test alla fine del 2022.

Archiviazione serverless

La formazione LLM richiede molta memoria di archiviazione; diverse terabyte di dati di formazione devono essere convogliati al cluster di formazione, e diversi terabyte di checkpoint del modello viaggiano regolarmente dal cluster all’archiviazione permanente. I checkpoint devono anche raggiungere il cluster di formazione il più velocemente possibile in caso di ripartenza del lavoro. Nella tradizionale elaborazione ad alte prestazioni (HPC), i nodi di elaborazione sono collegati a sistemi di file distribuiti, che forniscono I/O ad alte prestazioni e throughput tramite un’interfaccia simile a POSIX. In AWS, i clienti utilizzano regolarmente il file system Amazon FSx per il file system Lustre per questo scopo (per maggiori dettagli, fare riferimento a Speed up training on Amazon SageMaker using Amazon FSx for Lustre and Amazon EFS file systems), e abbiamo anche documentato l’utilizzo autogestito di BeeGFS in un caso di studio di visione artificiale distribuita. A causa del loro focus sui costi e sulla semplicità operativa, il team ha deciso di non implementare e gestire server di file system, ma invece ha affrontato la sfida di costruire esclusivamente su archiviazione di oggetti serverless Amazon Simple Storage Service (Amazon S3). È stata creata una classe di dataset S3 personalizzata utilizzando l’SDK AWS per Python (Boto3), e ha fornito prestazioni soddisfacenti consentendo agli scienziati di iterare autonomamente sull’ingegneria dell’I/O e sulla scienza del modello all’interno dello stesso codice.

Innovazione lato client

Un progetto LLM raramente consiste in un singolo lavoro di formazione; numerosi lavori sono necessari per condurre test e esperienze iniziali. Nel corso della formazione di produzione principale, diversi lavori possono essere concatenati, ad esempio per aggiornare la configurazione o le versioni del software, distribuire patch o recuperare da guasti. Gli scienziati di TII hanno effettuato significative innovazioni per costruire client personalizzati adattati alla formazione LLM. È stato creato un client di avvio su SageMaker Training SDK per confezionare insieme più funzionalità in un unico comando, ad esempio il versionamento del codice, la creazione dell’immagine Docker e il lancio del lavoro. Inoltre, è stata progettata una funzione di calcolo serverless di AWS Lambda per monitorare e intervenire sui lavori quando necessario.

Utilizzare i bot di Slack per le verifiche della qualità dell’infereza

Verso la fine del training, il team ha implementato il modello su un endpoint interno di SageMaker Hosting GPU per l’interazione in tempo reale. Il team è arrivato a creare un bot di Slack con cui dialogare, al fine di ottenere un feedback realistico ed eseguire verifiche qualitative della qualità del modello.

Monitoraggio del training e delle prestazioni

Addestrare un LLM richiede grandi quantità di risorse computazionali, tra cui CPU, GPU e risorse di memoria. Pertanto, TII ha dovuto monitorare le prestazioni e il tempo di inattività del lavoro di training per garantire un utilizzo ottimale delle risorse computazionali e la loro convenienza economica.

Per costruire una soluzione di monitoraggio automatizzato, TII ha utilizzato gli allarmi di Amazon CloudWatch per monitorare l’utilizzo di GPU, CPU e memoria per i lavori di training. CloudWatch raccoglie dati grezzi e li elabora in metriche leggibili quasi in tempo reale dalle istanze di container sottostanti utilizzate nel lavoro di addestramento di SageMaker. Successivamente, abbiamo impostato le soglie per ciascuna di queste metriche e, se una qualsiasi metrica scende al di sotto della soglia, viene attivato un allarme. Questo allarme avvisa il team di TII della bassa utilizzazione delle risorse, consentendo loro di adottare misure correttive per rettificare i vincoli di utilizzo delle risorse.

Oltre al monitoraggio dell’utilizzo delle risorse, TII poteva anche monitorare il tempo di inattività delle risorse del lavoro di training. Se le risorse del lavoro di training rimanevano inattive per un periodo prolungato, ciò poteva indicare un collo di bottiglia in qualsiasi fase del ciclo di training e richiedere una verifica manuale. In alcuni casi, l’utilizzo delle risorse era ancora relativamente ottimale, ma il processo di addestramento stesso non stava progredendo. Per questi casi, TII ha integrato gli allarmi di CloudWatch con le funzioni Lambda per interrogare e leggere i registri di addestramento generati, quindi adottare azioni automatiche in base all’errore generato o all’inattività del processo di generazione del registro (il cluster viene interrotto). L’allarme attiva un’azione per interrompere il lavoro di training, il che garantisce che TII non incorra in costi inutili quando le risorse non venivano utilizzate.

Conclusione

Utilizzando SageMaker abbinato all’innovazione proprietaria e personalizzata, TII è stato in grado di addestrare un modello che è all’avanguardia in molteplici dimensioni: una svolta tecnologica, qualità scientifica, velocità di training e anche semplicità operativa.

“Il rilascio del modello Falcon 40B, il modello di intelligenza artificiale open source di classe mondiale degli Emirati Arabi Uniti, illustra la leadership tecnologica e apre la strada all’innovazione alimentata dall’IA nella regione” afferma il Dr. Ebtesam Almazrouei; aggiungendo che “dimostrando il nostro impegno per gli obiettivi delineati nella Strategia nazionale dell’IA 2031. Il nostro attivo coinvolgimento negli avanzamenti tecnologici globali, rappresentato da Falcon-40B, svolge un ruolo cruciale nella nostra ricerca di un’economia basata sulla conoscenza. Attraverso gli investimenti e lo sviluppo di soluzioni di IA, miriamo a creare nuove opportunità di crescita economica, progresso sociale e avanzamenti educativi.” “La natura open source di Falcon-40B riflette la nostra dedizione alla collaborazione, alla trasparenza, all’innovazione e alla ricerca nel campo dell’IA. Crediamo nella democratizzazione delle capacità avanzate della tecnologia dell’IA, rendendo Falcon-40B accessibile a ricercatori e organizzazioni di tutto il mondo.” “Guardando avanti, continueremo a contribuire agli avanzamenti dell’IA e della tecnologia, con modelli imminenti in fase di sviluppo. Inoltre, promuoveremo attivamente l’adozione di tecnologie avanzate di IA all’interno delle organizzazioni e delle imprese nel nostro paese, promuovendo la crescita e la prosperità in linea con i nostri obiettivi strategici.”

– Dr. Almazrouei

Per saperne di più sul modello Falcon LLM, visita il sito web FalconLLM.tii.ae e la scheda modello su Hugging Face!