ML Drift: facilitare l'inferenza locale

ML Drift: facilitare l'inferenza locale

TLDR : Una squadra di ricercatori di Google e Meta ha sviluppato ML Drift, una soluzione per eseguire efficacemente l'intelligenza artificiale direttamente sul dispositivo, nonostante le sfide legate alla diversità delle architetture GPU. ML Drift, grazie a innovazioni come la virtualizzazione dei tensori, migliora significativamente le prestazioni e offre una grande compatibilità attraverso le piattaforme mobili e desktop.

La maggior parte dei modelli di intelligenza artificiale viene inferita (cioè "eseguita") su server. Tuttavia, lo sviluppo dell'inferenza locale, cioè direttamente sul dispositivo, permetterebbe di accelerare la diffusione dell'intelligenza artificiale, riducendo in particolare i vincoli del server e migliorando la riservatezza.

Tuttavia, il dispiegamento di modelli di intelligenza artificiale generativa su diversi tipi di GPU presenta sfide notevoli: la diversità delle architetture GPU, dalle soluzioni proprietarie alle piattaforme aperte, rende il compito complicato, poiché ogni tipo di GPU ha le proprie caratteristiche e limitazioni. 

Di fronte a un rischio crescente di dipendenza materiale, l'ottimizzazione delle prestazioni su piattaforme eterogenee diventa imperativa per garantire un'esecuzione fluida ed efficace dei modelli generativi.

Per affrontare queste sfide, un team di ricercatori di Google e Meta, tra cui Jiuqiang Tang, Raman Sarokin, ed Ekaterina Ignasheva, ha sviluppato ML Drift, una soluzione destinata all'inferenza su piattaforme varie. La loro competenza risiede nell'ottimizzazione dei motori di inferenza GPU, permettendo un'esecuzione efficiente dei carichi di lavoro di IA generativa. ML Drift si distingue per la sua capacità di superare gli ostacoli tecnici associati allo sviluppo di API inter-GPU, assicurando così una vasta compatibilità attraverso le piattaforme mobili e desktop.

Approccio metodologico e innovazioni tecniche

ML Drift introduce diverse innovazioni tecniche, tra cui la virtualizzazione dei tensori e una gestione ottimizzata della memoria. La virtualizzazione dei tensori permette di dissociare gli indici logici dagli indici fisici della GPU, offrendo così una maggiore flessibilità nella disposizione della memoria e nell'ottimizzazione dei kernel. Inoltre, strategie di gestione e ottimizzazione della memoria permettono di ridurre l'impronta della memoria e migliorare le prestazioni.

Risultati e prospettive future

Le valutazioni delle prestazioni di ML Drift mostrano miglioramenti significativi rispetto alle soluzioni open-source esistenti, con guadagni sostanziali in termini di prestazioni (da 10 a 100 volte più parametri supportati). Questi risultati promettenti aprono la strada a future applicazioni e miglioramenti, inclusa l'integrazione di tecniche di quantificazione avanzate e l'esplorazione delle istruzioni specializzate per i carichi di lavoro ML. In futuro, il team prevede di estendere le capacità di ML Drift a modelli di diffusione più recenti e a architetture basate su trasformatori, esplorando al contempo l'interoperabilità efficace con processori eterogenei.

 

Riferimento della pubblicazione: arXiv:2505.00232v1

 

Per capire meglio

Cos'è la virtualizzazione dei tensori e perché è importante per l'inferenza su GPU variate?

La virtualizzazione dei tensori dissocia gli indici logici da quelli fisici del GPU, permettendo una maggiore flessibilità nella gestione della memoria. Ciò è cruciale per ottimizzare le prestazioni di inferenza su GPU diverse con architetture eterogenee, consentendo un migliore utilizzo delle risorse.