Una palestra open-source per la progettazione assistita da apprendimento automatico dell’architettura informatica

Una palestra open-source per l'architettura informatica assistita da apprendimento automatico

Pubblicato da Amir Yazdanbakhsh, Ricercatore scientifico, e Vijay Janapa Reddi, Ricercatore ospite, Google Research

La ricerca sull’architettura dei computer ha una lunga storia nello sviluppo di simulatori e strumenti per valutare e plasmare il design dei sistemi informatici. Ad esempio, il simulatore SimpleScalar è stato introdotto alla fine degli anni ’90 e ha permesso ai ricercatori di esplorare varie idee microarchitetturali. I simulatori e gli strumenti di architettura dei computer, come gem5, DRAMSys e molti altri, hanno svolto un ruolo significativo nello sviluppo della ricerca sull’architettura dei computer. Da allora, queste risorse e infrastrutture condivise hanno beneficiato l’industria e l’accademia e hanno consentito ai ricercatori di costruire sistematicamente sul lavoro degli altri, portando a progressi significativi nel campo.

Tuttavia, la ricerca sull’architettura dei computer sta evolvendo, con l’industria e l’accademia che si rivolgono all’ottimizzazione del machine learning (ML) per soddisfare rigorosi requisiti specifici del dominio, come ML per l’architettura dei computer, ML per l’accelerazione TinyML, ottimizzazione del datapath dell’acceleratore DNN, controller di memoria, consumo di energia, sicurezza e privacy. Sebbene lavori precedenti abbiano dimostrato i vantaggi del ML nell’ottimizzazione del design, la mancanza di basi solide e riproducibili ostacola un confronto equo e obiettivo tra diversi metodi e pone diverse sfide alla loro implementazione. Per garantire un progresso costante, è fondamentale comprendere e affrontare queste sfide collettivamente.

Per alleviare queste sfide, in “ArchGym: una palestra open-source per la progettazione assistita dal machine learning dell’architettura”, accettato presso ISCA 2023, abbiamo introdotto ArchGym, che include una varietà di simulatori di architettura dei computer e algoritmi di machine learning. Grazie ad ArchGym, i nostri risultati indicano che con un numero sufficientemente grande di campioni, qualsiasi algoritmo di machine learning di una collezione diversificata è in grado di trovare l’insieme ottimale di parametri di progettazione dell’architettura per ciascun problema target; nessuna soluzione è necessariamente migliore di un’altra. Questi risultati indicano inoltre che la selezione degli iperparametri ottimali per un determinato algoritmo di machine learning è essenziale per trovare la progettazione ottimale dell’architettura, ma la scelta non è banale. Rilasciamo il codice e i dataset relativi a diverse simulazioni di architettura dei computer e algoritmi di machine learning.

Sfide nella ricerca sull’architettura assistita dal machine learning

La ricerca sull’architettura assistita dal machine learning presenta diverse sfide, tra cui:

  1. Per un problema specifico di architettura dei computer assistita dal machine learning (ad esempio, trovare una soluzione ottimale per un controller DRAM) non esiste un modo sistematico per identificare algoritmi di machine learning o iperparametri ottimali (ad esempio, learning rate, warm-up steps, ecc.). Esiste una vasta gamma di metodi di machine learning euristici, dal random walk al reinforcement learning (RL), che possono essere impiegati per l’esplorazione dello spazio di progettazione (DSE). Sebbene questi metodi abbiano mostrato un miglioramento significativo delle prestazioni rispetto alle basi scelte, non è evidente se i miglioramenti siano dovuti alla scelta degli algoritmi di ottimizzazione o degli iperparametri. Pertanto, per garantire la riproducibilità e facilitare l’adozione diffusa della DSE assistita dal ML nell’architettura, è necessario delineare una metodologia sistematica di benchmarking.
  2. Mentre i simulatori di architettura dei computer sono stati il fulcro delle innovazioni architettoniche, c’è un bisogno emergente di affrontare i compromessi tra accuratezza, velocità e costo nell’esplorazione dell’architettura. L’accuratezza e la velocità dell’estimazione delle prestazioni variano ampiamente da un simulatore all’altro, a seconda dei dettagli di modellazione sottostanti (ad esempio, modelli di proxy basati su ciclo-accuratezza vs. ML). Mentre i modelli di proxy analitici o basati su ML sono agili grazie alla loro eliminazione dei dettagli a basso livello, generalmente soffrono di un alto errore di previsione. Inoltre, a causa delle licenze commerciali, può esserci un limite rigoroso al numero di esecuzioni raccolte da un simulatore. Nel complesso, questi vincoli mostrano trade-off distinti tra prestazioni ed efficienza dei campioni, influenzando la scelta dell’algoritmo di ottimizzazione per l’esplorazione dell’architettura. È difficile delineare come confrontare sistematicamente l’efficacia dei vari algoritmi di machine learning in queste condizioni.
  3. Infine, il panorama degli algoritmi di machine learning è in rapida evoluzione e alcuni algoritmi di machine learning hanno bisogno di dati per essere utili. Inoltre, rendere il risultato della DSE in artefatti significativi come dataset è fondamentale per trarre informazioni sullo spazio di progettazione. In quest’ecosistema in rapida evoluzione, è importante capire come ammortizzare l’onere degli algoritmi di ricerca per l’esplorazione dell’architettura. Non è evidente, né studiato sistematicamente, come sfruttare i dati di esplorazione rimanendo agnostici rispetto all’algoritmo di ricerca sottostante.

Progettazione di ArchGym

ArchGym affronta queste sfide fornendo un framework unificato per valutare in modo equo diversi algoritmi di ricerca basati su machine learning. Comprende due componenti principali: 1) l’ambiente ArchGym e 2) l’agente ArchGym. L’ambiente è una capsula del modello di costo dell’architettura, che include latenza, throughput, area, energia, ecc., per determinare il costo computazionale dell’esecuzione del carico di lavoro, dato un insieme di parametri architetturali, accoppiato con il/i carico/i di lavoro target. L’agente è una capsula dell’algoritmo di machine learning utilizzato per la ricerca e consiste in iperparametri e una politica guida. Gli iperparametri sono intrinseci all’algoritmo per il quale il modello deve essere ottimizzato e possono influenzare significativamente le prestazioni. La politica, d’altra parte, determina come l’agente seleziona iterativamente un parametro per ottimizzare l’obiettivo target.

In particolare, ArchGym include anche un’interfaccia standardizzata che collega questi due componenti, salvando anche i dati di esplorazione come ArchGym Dataset. All’interno dell’interfaccia ci sono tre segnali principali: stato hardware, parametri hardware e metriche. Questi segnali sono il minimo indispensabile per stabilire un canale di comunicazione significativo tra l’ambiente e l’agente. Utilizzando questi segnali, l’agente osserva lo stato dell’hardware e suggerisce un insieme di parametri hardware per ottimizzare in modo iterativo una ricompensa definita dall’utente. La ricompensa è una funzione delle metriche delle prestazioni dell’hardware, come le prestazioni, il consumo energetico, ecc.

ArchGym comprende due componenti principali: l’ambiente ArchGym e l’agente ArchGym. L’ambiente ArchGym racchiude il modello dei costi e l’agente è un’astrazione di una politica e degli iperparametri. Con un’interfaccia standardizzata che collega questi due componenti, ArchGym fornisce un framework unificato per valutare in modo equo diversi algoritmi di ricerca basati su ML, salvando anche i dati di esplorazione come ArchGym Dataset.

Gli algoritmi di ML potrebbero essere altrettanto favorevoli per soddisfare specifiche obiettivo definite dall’utente

Utilizzando ArchGym, dimostriamo empiricamente che in diversi obiettivi di ottimizzazione e problemi di DSE, esiste almeno un insieme di iperparametri che porta alle stesse prestazioni hardware di altri algoritmi di ML. Una selezione di iperparametri mal scelta (selezione casuale) per l’algoritmo di ML o il suo baseliner può portare a una conclusione fuorviante che una particolare famiglia di algoritmi di ML è migliore di un’altra. Mostriamo che, con una sintonizzazione sufficiente degli iperparametri, diversi algoritmi di ricerca, anche random walk (RW), sono in grado di identificare la migliore ricompensa possibile. Tuttavia, si noti che trovare l’insieme corretto di iperparametri potrebbe richiedere una ricerca esaustiva o anche fortuna per renderlo competitivo.

Con un numero sufficiente di campioni, esiste almeno un insieme di iperparametri che porta alle stesse prestazioni in un range di algoritmi di ricerca. Qui la linea tratteggiata rappresenta la ricompensa normalizzata massima. Cloud-1, cloud-2, stream e random indicano quattro diverse tracce di memoria per DRAMSys (framework di esplorazione dello spazio di progettazione del sottosistema DRAM).

Costruzione del dataset e addestramento del modello proxy ad alta fedeltà

Creare un’interfaccia unificata usando ArchGym consente anche la creazione di dataset che possono essere utilizzati per progettare modelli di costo di architettura proxy basati su ML per migliorare la velocità della simulazione di architettura. Per valutare i benefici dei dataset nella costruzione di un modello ML per approssimare il costo dell’architettura, sfruttiamo la capacità di ArchGym di registrare i dati di ogni esecuzione da DRAMSys per creare quattro varianti di dataset, ognuna con un numero diverso di punti dati. Per ogni variante, creiamo due categorie: (a) Diverse Dataset, che rappresenta i dati raccolti da diversi agenti (ACO, GA, RW e BO), e (b) ACO only, che mostra i dati raccolti esclusivamente dall’agente ACO, entrambi rilasciati insieme ad ArchGym. Addestriamo un modello proxy su ciascun dataset utilizzando la regressione di random forest con l’obiettivo di prevedere la latenza dei progetti per un simulatore DRAM. I nostri risultati mostrano che:

  1. All’aumentare delle dimensioni del dataset, l’errore quadratico medio normalizzato (RMSE) medio diminuisce leggermente.
  2. Tuttavia, introducendo diversità nel dataset (ad esempio, raccogliendo dati da agenti diversi), osserviamo un RMSE inferiore di 9× a 42× per diverse dimensioni del dataset.
Raccolta di dataset diversi da agenti diversi utilizzando l’interfaccia ArchGym.
Impatto di un dataset diversificato e delle dimensioni del dataset sull’RMSE normalizzato.

La necessità di un ecosistema guidato dalla comunità per la ricerca in architettura assistita da ML

ArchGym è un primo sforzo per creare un ecosistema open source che (1) collega una vasta gamma di algoritmi di ricerca ai simulatori di architettura informatica in modo unificato e facile da estendere, (2) facilita la ricerca nell’architettura informatica assistita da ML e (3) forma la struttura per sviluppare basi riproducibili. Tuttavia, ci sono molte sfide aperte che necessitano del supporto di tutta la comunità. Di seguito elenchiamo alcune delle sfide aperte nella progettazione di architettura assistita da ML. Affrontare queste sfide richiede uno sforzo ben coordinato e un ecosistema guidato dalla comunità.

Sfide chiave nella progettazione di architettura assistita da ML.

Chiamiamo questo ecosistema Architecture 2.0. Descriviamo le sfide chiave e una visione per costruire un ecosistema inclusivo di ricercatori interdisciplinari per affrontare i problemi aperti da tempo nell’applicazione del ML alla ricerca in architettura informatica. Se sei interessato ad aiutare a plasmare questo ecosistema, compila il sondaggio di interesse.

Conclusioni

ArchGym è una palestra open source per l’ottimizzazione dell’architettura ML e consente un’interfaccia standardizzata che può essere facilmente estesa per adattarsi a diversi casi d’uso. Inoltre, ArchGym consente un confronto equo e riproducibile tra diversi algoritmi di ML e aiuta a stabilire basi più solide per i problemi di ricerca in architettura informatica.

Invitiamo la comunità dell’architettura informatica così come la comunità dell’apprendimento automatico a partecipare attivamente allo sviluppo di ArchGym. Crediamo che la creazione di un ambiente simile a una palestra per la ricerca sull’architettura informatica sia un passo significativo avanti nel campo e fornisca una piattaforma per i ricercatori per utilizzare l’apprendimento automatico per accelerare la ricerca e portare a nuovi e innovativi progetti.

Riconoscimenti

Questo articolo è basato su un lavoro congiunto con diversi coautori presso Google e l’Università di Harvard. Desideriamo riconoscere e sottolineare il contributo di Srivatsan Krishnan (Harvard) che ha fornito diverse idee per questo progetto in collaborazione con Shvetank Prakash (Harvard), Jason Jabbour (Harvard), Ikechukwu Uchendu (Harvard), Susobhan Ghosh (Harvard), Behzad Boroujerdian (Harvard), Daniel Richins (Harvard), Devashree Tripathy (Harvard) e Thierry Thambe (Harvard). Inoltre, desideriamo ringraziare anche James Laudon, Douglas Eck, Cliff Young e Aleksandra Faust per il loro supporto, feedback e motivazione per questo lavoro. Desideriamo inoltre ringraziare John Guilyard per la figura animata utilizzata in questo articolo. Amir Yazdanbakhsh è attualmente un ricercatore scientifico presso Google DeepMind e Vijay Janapa Reddi è professore associato presso Harvard.