Graphcore e Hugging Face lanciano una nuova linea di trasformatori pronti per IPU

Graphcore e Hugging Face lanciano trasformatori pronti per IPU.

Graphcore e Hugging Face hanno significativamente ampliato la gamma di modalità e compiti di apprendimento automatico disponibili in Hugging Face Optimum, una libreria open source per l’ottimizzazione delle prestazioni dei Transformers. Ora gli sviluppatori hanno un comodo accesso a una vasta gamma di modelli Hugging Face Transformer preconfigurati, ottimizzati per offrire le migliori prestazioni possibili su IPU di Graphcore.

Incluso il modello di trasformatore BERT reso disponibile poco dopo il lancio di Optimum Graphcore, gli sviluppatori possono ora accedere a 10 modelli che coprono l’elaborazione del linguaggio naturale (NLP), la visione artificiale e il riconoscimento del parlato, che includono file di configurazione IPU e pesi di modelli preaddestrati e messi a punto.

Nuovi modelli Optimum

Visione artificiale

ViT (Vision Transformer) è una svolta nel riconoscimento delle immagini che utilizza il meccanismo del trasformatore come suo componente principale. Quando le immagini vengono inserite in ViT, vengono suddivise in piccole porzioni simili al modo in cui le parole vengono elaborate nei sistemi di linguaggio. Ogni porzione viene codificata dal trasformatore (Embedding) e può quindi essere elaborata individualmente.

NLP

GPT-2 (Generative Pre-trained Transformer 2) è un modello trasformatore per la generazione di testo preaddestrato su un corpus molto ampio di dati in inglese in modo auto-supervisionato. Ciò significa che è stato preaddestrato solo sui testi grezzi, senza etichette umane in alcun modo (per questo può utilizzare molti dati disponibili pubblicamente) mediante un processo automatico per generare input ed etichette da quei testi. Più precisamente, è addestrato a generare testi da un prompt indovinando la parola successiva nelle frasi.

RoBERTa (Robustly optimized BERT approach) è un modello trasformatore che (come GPT-2) è stato preaddestrato su un ampio corpus di dati in inglese in modo auto-supervisionato. Più precisamente, RoBERTa è stato preaddestrato con l’obiettivo di masked language modeling (MLM). Prendendo una frase, il modello maschera casualmente il 15% delle parole in input, quindi esegue l’intera frase mascherata attraverso il modello e deve prevedere le parole mascherate. Roberta può essere utilizzato per il masked language modeling, ma è principalmente destinato ad essere messo a punto per un compito successivo.

DeBERTa (Decoding-enhanced BERT with disentangled attention) è un modello di linguaggio neurale preaddestrato per compiti NLP. DeBERTa adatta i modelli BERT del 2018 e RoBERTa del 2019 utilizzando due nuove tecniche: un meccanismo di attenzione disentangled e un decoder di maschera migliorato, migliorando significativamente l’efficienza del preaddestramento del modello e le prestazioni dei compiti successivi.

BART è un modello di codificatore-decodificatore (seq2seq) trasformatore con un codificatore bidirezionale (simile a BERT) e un decodificatore autoregressivo (simile a GPT). BART è preaddestrato (1) corrompendo il testo con una funzione di rumore arbitraria e (2) apprendendo un modello per ricostruire il testo originale. BART è particolarmente efficace quando viene messo a punto per la generazione di testo (ad esempio, riassunti, traduzione), ma funziona anche bene per compiti di comprensione (ad esempio, classificazione del testo, risposta alle domande).

LXMERT (Learning Cross-Modality Encoder Representations from Transformers) è un modello trasformatore multimodale per l’apprendimento di rappresentazioni visive e linguistiche. Ha tre codificatori: un codificatore di relazioni tra oggetti, un codificatore di linguaggio e un codificatore di cross-modalità. Viene preaddestrato tramite una combinazione di masked language modeling, allineamento testo-immagine, regressione delle caratteristiche ROI, modeling delle attribuzioni visive nascoste, modeling degli oggetti visivi mascherati e obiettivi di risposta alle domande visive. Ha ottenuto risultati all’avanguardia sui dataset di risposta alle domande visive VQA e GQA.

T5 (Text-to-Text Transfer Transformer) è un nuovo modello rivoluzionario che può prendere qualsiasi testo e convertirlo in un formato di apprendimento automatico per la traduzione, la risposta alle domande o la classificazione. Introduce un framework unificato che converte tutti i problemi linguistici basati su testo in un formato di testo-a-testo per il trasferimento dell’apprendimento. In questo modo, ha semplificato il modo di utilizzare lo stesso modello, la stessa funzione obiettivo, gli stessi iperparametri e la stessa procedura di decodifica in un insieme diversificato di compiti NLP.

Riconoscimento del parlato

HuBERT (Hidden-Unit BERT) è un modello di riconoscimento del parlato auto-supervisionato preaddestrato sull’audio, apprendendo un modello acustico e linguistico combinato su input continui. Il modello HuBERT corrisponde o migliora le prestazioni di punta wav2vec 2.0 sui benchmark Librispeech (960h) e Libri-light (60.000h) con subset di messa a punto di 10 minuti, 1 ora, 10 ore, 100 ore e 960 ore.

Wav2Vec2 è un modello auto-supervisionato preaddestrato per il riconoscimento automatico del parlato. Utilizzando un nuovo obiettivo di preaddestramento contrastivo, Wav2Vec2 apprende potenti rappresentazioni del parlato da grandi quantità di dati di parlato non etichettati, seguito da messa a punto su una piccola quantità di dati di parlato trascritti, superando i migliori metodi semi-supervisionati pur essendo concettualmente più semplice.

Hugging Face Optimum Graphcore: costruire su una solida partnership

Graphcore ha aderito al programma di collaborazione con i partner hardware di Hugging Face nel 2021 come membro fondatore, con entrambe le aziende che condividono l’obiettivo comune di abbassare le barriere per gli innovatori che cercano di sfruttare il potere dell’intelligenza artificiale.

Da allora, Graphcore e Hugging Face hanno lavorato insieme in modo estensivo per rendere il training dei modelli transformer su IPUs veloce e facile, con il primo modello Optimum Graphcore (BERT) reso disponibile l’anno scorso.

I transformer si sono dimostrati estremamente efficienti per una vasta gamma di funzioni, tra cui l’estrazione di caratteristiche, la generazione di testo, l’analisi del sentiment, la traduzione e molte altre. Modelli come BERT sono ampiamente utilizzati dai clienti di Graphcore in una vasta gamma di applicazioni, tra cui la sicurezza informatica, l’automazione delle chiamate vocali, la scoperta di farmaci e la traduzione.

Per ottimizzarne le prestazioni nel mondo reale è necessario un notevole tempo, sforzo e competenze che sono al di là della portata di molte aziende e organizzazioni. Fornendo una libreria open-source di modelli transformer, Hugging Face ha affrontato direttamente questi problemi. L’integrazione delle IPUs con HuggingFace consente anche agli sviluppatori di sfruttare non solo i modelli, ma anche i dataset disponibili nell’HuggingFace Hub.

Gli sviluppatori possono ora utilizzare i sistemi Graphcore per allenare 10 diversi tipi di modelli transformer all’avanguardia e accedere a migliaia di dataset con una complessità di codifica minima. Con questa partnership, forniamo agli utenti gli strumenti e l’ecosistema per scaricare e adattare facilmente modelli preaddestrati all’avanguardia a vari domini e compiti di downstream.

Portando all’attenzione l’hardware e il software più recenti di Graphcore

Mentre i membri della sempre più ampia base di utenti di Hugging Face hanno già potuto beneficiare della velocità, delle prestazioni e dell’efficienza energetica e di costi della tecnologia IPU, una combinazione di recenti rilasci hardware e software da parte di Graphcore sbloccherà ancora più potenziale.

Sul fronte hardware, il processore Bow IPU – annunciato a marzo e ora in spedizione ai clienti – è il primo processore al mondo che utilizza la tecnologia di stacking 3D Wafer-on-Wafer (WoW), portando i benefici ben documentati della IPU al livello successivo. Con importanti avanzamenti nell’architettura di calcolo e nell’implementazione del silicio, nella comunicazione e nella memoria, ogni Bow IPU offre fino a 350 teraFLOPS di capacità di calcolo AI, un impressionante aumento del 40% delle prestazioni e fino al 16% di efficienza energetica in più rispetto alla generazione precedente di IPU. È importante notare che gli utenti di Hugging Face Optimum possono passare senza soluzione di continuità dalle IPUs della generazione precedente ai processori Bow senza dover apportare alcuna modifica al codice.

Anche il software svolge un ruolo vitale nello sfruttamento delle capacità della IPU, quindi naturalmente Optimum offre un’esperienza plug-and-play con l’easy-to-use Poplar SDK di Graphcore, che ha ricevuto una importante aggiornamento 2.5. Poplar rende facile allenare modelli all’avanguardia sull’hardware all’avanguardia, grazie alla sua piena integrazione con i framework di machine learning standard, tra cui PyTorch, PyTorch Lightning e TensorFlow, nonché strumenti di orchestrazione e distribuzione come Docker e Kubernetes. Rendere Poplar compatibile con questi sistemi di terze parti ampiamente utilizzati consente agli sviluppatori di portare facilmente i loro modelli dalle altre piattaforme di calcolo e iniziare a sfruttare le avanzate capacità di intelligenza artificiale della IPU.

Inizia con i modelli Optimum Graphcore di Hugging Face

Se sei interessato a combinare i vantaggi della tecnologia IPU con i punti di forza dei modelli transformer, puoi scaricare la gamma più recente di modelli Optimum Graphcore dall’organizzazione Graphcore nell’HuggingFace Hub o accedere al codice dal repository Optimum GitHub. La nostra guida di avvio ti accompagnerà passo dopo passo per iniziare a sperimentare con le IPUs.

Inoltre, Graphcore ha creato una vasta pagina di risorse per gli sviluppatori, dove puoi trovare l’IPU Model Garden – un repository di applicazioni di machine learning pronte per il deployment, tra cui computer vision, NLP, reti grafiche e altro ancora – insieme a una serie di documentazione, tutorial, video dimostrativi, webinar e altro ancora. Puoi anche accedere al repository GitHub di Graphcore per ulteriori riferimenti e tutorial sul codice.

Per saperne di più sull’utilizzo di Hugging Face su Graphcore, visita la nostra pagina partner!