Questo è il secondo post nella serie del blog Ranking Engineer Agent che esplora le capacità autonome dell'IA che stanno accelerando l'innovazione nel ranking degli annunci di Meta. Il post precedente ha introdotto la capacità di esplorazione ML del Ranking Engineer Agent, che progetta, esegue e analizza autonomamente esperimenti di modelli di ranking. Questo post approfondisce l'ottimizzazione dell'infrastruttura di basso livello che consente a questi modelli di funzionare in modo efficiente su larga scala. Presentiamo KernelEvolve, un sistema di creazione di kernel basato su agente utilizzato dal Ranking Engineer Agent e generalmente applicabile a una vasta gamma di modelli AI oltre al ranking degli annunci.

Gli autori di questo articolo sono: Gang Liao, Yavuz Yetim, Ruichao Xiao, Zewei Jiang, Raghav Boinepalli, Sheela Yadawad, Liyuan Li, Nathan Yan, Ajit Mathews, Chunqiang (CQ) Tang, Carole-Jean Wu, Gaoxiang Liu.

Sintesi dell'Innovazione KernelEvolve

Meta gestisce una vasta flotta di hardware eterogeneo, che include GPU NVIDIA, GPU AMD, i chip personalizzati in silicio MTIA di Meta e CPU. Utilizzare questo hardware in modo efficace ed efficiente richiede lo sviluppo di software che traduca le operazioni di modello di alto livello in istruzioni efficienti e specifiche per il chip, chiamate kernel ottimizzati. La creazione e l'ottimizzazione dei kernel devono essere eseguite per ogni nuova generazione di chip e architettura di modello ML. Oltre agli operatori kernel standard come le moltiplicazioni di matrici generali (GEMM) e le convoluzioni coperte dalle librerie dei fornitori, i carichi di lavoro di produzione richiedono molti operatori personalizzati per i modelli di ranking. Con il numero crescente di modelli, di tipi e generazioni di hardware, l'ottimizzazione manuale da parte di esperti di kernel non è più scalabile.

Per affrontare il volume di lavoro di ottimizzazione delle prestazioni richiesto dal numero crescente di modelli moltiplicato per il numero di tipi e generazioni di hardware, abbiamo costruito KernelEvolve, un agente per ottimizzare le prestazioni utilizzato dal Ranking Engineer Agent di Meta. Questo sistema consente:

  • Sviluppo più rapido: Comprime settimane di tempo di ingegneria esperta per l'ottimizzazione dei kernel, inclusa la profilazione, l'ottimizzazione e il debug multi-hardware, in ore di ricerca e valutazione automatizzate, liberando gli ingegneri per altri lavori.
  • Migliori prestazioni: Oltre il 60% di miglioramento del throughput di inferenza per il modello pubblicitario Andromeda su GPU NVIDIA e oltre il 25% di miglioramento del throughput di addestramento per un modello pubblicitario sui chip personalizzati in silicio MTIA di Meta.
  • Ampia applicabilità: Ottimizza su hardware pubblico e proprietario, inclusi GPU NVIDIA, GPU AMD, chip MTIA e CPU, generando kernel in DSL di alto livello come Triton, Cute DSL e FlyDSL, così come in linguaggi di basso livello tra cui CUDA, HIP e MTIA C++.

KernelEvolve tratta l'ottimizzazione dei kernel come un problema di ricerca: un sistema di gestione dei lavori appositamente costruito valuta ogni kernel candidato, fornisce diagnostica all'LLM e guida una ricerca continua su centinaia di alternative, superando le prestazioni dei kernel generati da esperti umani.

Maggiori dettagli sono disponibili nel documento “KernelEvolve: Scaling Agentic Kernel Coding for Heterogeneous AI Accelerators at Meta”, che sarà presentato al 53° International Symposium on Computer Architecture (ISCA) 2026.

Il Contesto e la Necessità di KernelEvolve

Ogni giorno, Meta offre miliardi di esperienze basate sull'IA, dalle raccomandazioni personalizzate agli assistenti di intelligenza artificiale generativa, su un'infrastruttura globale che include hardware diversificato di NVIDIA, AMD e i chip in silicio personalizzati MTIA di Meta. Dietro ogni richiesta di addestramento o inferenza si trova uno strato di kernel hardware di basso livello altamente ottimizzati: piccoli programmi che traducono le operazioni di modello di alto livello in istruzioni che un chip specifico può eseguire in modo efficiente. Man mano che i modelli AI diventano più complessi e il panorama hardware si diversifica, il numero di kernel scala attraverso piattaforme hardware, architetture di modelli e tipi di operatori, risultando in migliaia di configurazioni che non possono più essere realisticamente ottimizzate da esperti umani. Questo crea un collo di bottiglia critico che ritarda l'abilitazione hardware e l'ottimizzazione delle prestazioni, rallentando i cicli di iterazione dei modelli che guidano i progressi critici nella tecnologia ML e nelle sue applicazioni.

Oggi, stiamo condividendo KernelEvolve, un sistema AI basato su agente che ha migliorato il throughput di inferenza dei modelli pubblicitari del 60% in ore di sperimentazione, un compito che richiederebbe settimane agli esperti umani. KernelEvolve genera e ottimizza autonomamente kernel di livello di produzione per hardware eterogeneo utilizzato nell'addestramento e nell'inferenza, inclusi GPU NVIDIA, GPU AMD, il silicio MTIA personalizzato di Meta e CPU. A differenza dei tipici agenti basati su modelli linguistici di grandi dimensioni (LLM) che eseguono la generazione di codice "one-shot", KernelEvolve tratta l'ottimizzazione dei kernel come un problema di ricerca. Esplora centinaia di implementazioni alternative di kernel per identificare una soluzione che spesso eguaglia o supera le prestazioni degli esperti umani, e lo fa in ore invece che in settimane.

Nell'ambiente di produzione di Meta, KernelEvolve sta ottimizzando il codice che gestisce trilioni di richieste di inferenza giornaliere.

KernelEvolve rappresenta un cambiamento fondamentale nel modo in cui pensiamo al rapporto tra software e hardware AI. Dove lo sviluppo dei kernel era un processo manuale, guidato da esperti, che faticava a tenere il passo con l'evoluzione dell'hardware e dei modelli, KernelEvolve lo rende continuo e automatizzato, adattandosi a ogni cambiamento. Mentre Meta continua a diversificare il proprio portafoglio hardware AI, la capacità di generare rapidamente kernel ottimizzati per nuovi chip riduce sostanzialmente lo sforzo ingegneristico richiesto per integrare hardware eterogeneo per l'addestramento e l'inferenza.

La Sfida: Il Collo di Bottiglia della Crescita Esplosiva dei Kernel

Stiamo assistendo a una crescita esplosiva dei kernel perché il numero totale di kernel scala con il prodotto di tre fattori: {tipi e generazioni di hardware X architetture di modelli X numero di operatori}. Questo prodotto si traduce in migliaia di configurazioni di kernel uniche che devono essere scritte, testate e mantenute. L'ottimizzazione manuale di ogni kernel non è scalabile, e gli esperti di kernel da soli non possono tenere il passo.

Eterogeneità Hardware

La flotta di acceleratori di Meta comprende ora GPU NVIDIA, GPU AMD e il silicio MTIA personalizzato di Meta, ciascuno con architetture e gerarchie di memoria, set di istruzioni e modelli di esecuzione fondamentalmente diversi. Un kernel che funziona in modo ottimale su una piattaforma può avere prestazioni scarse o fallire completamente su un'altra. E la complessità non si ferma ai confini del fornitore. Anche all'interno di una singola famiglia di hardware, le generazioni successive introducono cambiamenti architetturali che richiedono diverse strategie di ottimizzazione. La roadmap MTIA di Meta copre quattro generazioni di chip in due anni (MTIA 300 fino a 500), ciascuna introducendo nuove capacità di calcolo, caratteristiche di larghezza di banda della memoria e tipi di dati numerici ottimizzati per carichi di lavoro in evoluzione. Un kernel ottimizzato per una generazione avrà prestazioni inferiori se eseguito sulla generazione successiva della stessa architettura hardware.

Variazione dell'Architettura del Modello

I modelli di raccomandazione di Meta si sono evoluti attraverso tre fasi principali: dai primi modelli di raccomandazione di deep learning basati su embedding, ai modelli di apprendimento sequenziale che elaborano le cronologie di interazione con meccanismi di attenzione, al Generative Ads Recommendation Model (GEM) di Meta, e più recentemente al modello di inferenza fondamentale di Meta che porta la scala LLM agli annunci (Meta Adaptive Ranking Model). Ogni generazione introduce tipi di operatori che la generazione precedente non aveva mai richiesto. Oltre a questi cambiamenti generazionali, lo stack di produzione di Meta serve simultaneamente famiglie di modelli fondamentalmente diverse, ciascuna con i propri operatori unici, e una singola richiesta di annunci può attraversare più famiglie in una singola chiamata di servizio. Con un numero vasto e crescente di modelli distinti in produzione, ogni nuova architettura estende la matrice di operatori che devono essere ottimizzati su tutto l'hardware.

Diversità dei Kernel Oltre le Librerie Standard

Le librerie dei fornitori come cuBLAS e cuDNN coprono un set di operazioni comuni — GEMM, convoluzioni, attivazioni standard — ma anche questi operatori standard resistono a soluzioni "taglia unica". Un singolo operatore come la moltiplicazione di matrici si comporta in modo diverso a seconda dei contesti: il kernel ottimale per un batch di addestramento differisce da una richiesta di servizio di inferenza, e le forme dei tensori variano ampiamente tra le fasi e i modelli di ranking, creando uno spazio combinatorio di configurazioni che rende impossibile una copertura esaustiva tramite librerie predefinite. La complessità intrinseca e la variabilità dei carichi di lavoro richiedono un approccio più dinamico e intelligente all'ottimizzazione dei kernel, una necessità che KernelEvolve è stato progettato per soddisfare.

Il Futuro dell'Ottimizzazione AI con KernelEvolve

L'introduzione di KernelEvolve segna un'era di trasformazione per lo sviluppo e l'implementazione dell'intelligenza artificiale presso Meta. Affrontando la sfida della complessità e della scalabilità nell'ottimizzazione dei kernel hardware, KernelEvolve non solo accelera il ciclo di sviluppo, ma garantisce anche che i modelli AI di Meta possano continuare a funzionare con prestazioni ottimali su un'infrastruttura hardware sempre più diversificata. Questa capacità di adattamento e ottimizzazione automatizzata è cruciale per mantenere Meta all'avanguardia nell'innovazione dell'IA e per fornire esperienze utente di alta qualità su vasta scala.