ChatPaper.aiChatPaper

Modelli Linguistici di Grandi Dimensioni per l'Ottimizzazione dei Compilatori

Large Language Models for Compiler Optimization

September 11, 2023
Autori: Chris Cummins, Volker Seeker, Dejan Grubisic, Mostafa Elhoushi, Youwei Liang, Baptiste Roziere, Jonas Gehring, Fabian Gloeckle, Kim Hazelwood, Gabriel Synnaeve, Hugh Leather
cs.AI

Abstract

Esploriamo la nuova applicazione dei Large Language Models all'ottimizzazione del codice. Presentiamo un modello trasformatore da 7 miliardi di parametri addestrato da zero per ottimizzare l'assembly LLVM in termini di dimensione del codice. Il modello prende come input un assembly non ottimizzato e produce un elenco di opzioni del compilatore per ottimizzare al meglio il programma. In modo cruciale, durante l'addestramento, chiediamo al modello di prevedere il numero di istruzioni prima e dopo l'ottimizzazione, nonché il codice ottimizzato stesso. Questi compiti di apprendimento ausiliari migliorano significativamente le prestazioni di ottimizzazione del modello e approfondiscono la sua comprensione. Valutiamo il modello su un'ampia suite di programmi di test. Il nostro approccio ottiene un miglioramento del 3,0% nella riduzione del numero di istruzioni rispetto al compilatore, superando due baseline all'avanguardia che richiedono migliaia di compilazioni. Inoltre, il modello dimostra sorprendenti capacità di ragionamento sul codice, generando codice compilabile il 91% delle volte e emulando perfettamente l'output del compilatore il 70% delle volte.
English
We explore the novel application of Large Language Models to code optimization. We present a 7B-parameter transformer model trained from scratch to optimize LLVM assembly for code size. The model takes as input unoptimized assembly and outputs a list of compiler options to best optimize the program. Crucially, during training, we ask the model to predict the instruction counts before and after optimization, and the optimized code itself. These auxiliary learning tasks significantly improve the optimization performance of the model and improve the model's depth of understanding. We evaluate on a large suite of test programs. Our approach achieves a 3.0% improvement in reducing instruction counts over the compiler, outperforming two state-of-the-art baselines that require thousands of compilations. Furthermore, the model shows surprisingly strong code reasoning abilities, generating compilable code 91% of the time and perfectly emulating the output of the compiler 70% of the time.
PDF254March 11, 2026