banner

Notizia

Jun 25, 2023

Eseguire la diffusione stabile su Raspberry Pi Zero 2 W: un'impresa notevole

Stable Diffusion, un popolare strumento di intelligenza artificiale generativa, è emerso come catalizzatore nel mostrare le capacità dell’apprendimento automatico. Questo modello di deep learning da testo a immagine consente agli utenti di generare immagini fotorealistiche mozzafiato basate esclusivamente su descrizioni testuali. Incorporando un modello di diffusione latente specializzato, Stable Diffusion ha rivoluzionato il modo in cui i sistemi di intelligenza artificiale comprendono e creano contenuti visivi, rendendoli accessibili e di facile utilizzo per un pubblico più ampio.

Ciò che è ancora più notevole è che Stable Diffusion ha contribuito a democratizzare le capacità avanzate di apprendimento automatico. Il modello è stato reso open source con una licenza permissiva e può funzionare su hardware di livello consumer relativamente modesto. Infatti, anche una GPU moderatamente equipaggiata con almeno 8 GB di VRAM è sufficiente per eseguire il modello Stable Diffusion. Le costose infrastrutture cloud e i budget delle Big Tech non sono più prerequisiti.

Ma che dire di coloro che non hanno accesso a una GPU recente? Stable Diffusion può ancora generare immagini con risorse computazionali limitate? Vita Plantamura, un ingegnere, ha intrapreso una missione per scoprirlo, e i risultati sono stati sorprendenti. Non è necessaria alcuna GPU particolare e può bastare anche un computer con specifiche decenti dell'epoca in cui i Nickelback dominavano le classifiche musicali.

Plantamura è riuscito a eseguire un modello di diffusione stabile con un miliardo di parametri sul Raspberry Pi Zero 2 W. Il Pi Zero 2 W, dotato di un processore Arm Cortex-A53 da 1 GHz e 512 MB di SDRAM, potrebbe non sembrare adatto per applicazioni di deep learning . Tuttavia, con un approccio creativo, si scopre che questo computer da $ 15 può portare a termine il lavoro.

Per raggiungere questo obiettivo, Plantamura ha sviluppato uno strumento chiamato OnnxStream. In genere, i motori di inferenza danno priorità alla velocità, il che spesso porta a un utilizzo elevato della memoria. Al contrario, OnnxStream trasmette in streaming i pesi dei modelli quando richiesti, anziché caricare tutto in anticipo. Nel caso del Raspberry Pi Zero 2 W i 512 MB di RAM disponibili hanno superato i requisiti necessari, essendo sufficienti solo 260 MB.

Certo, questo approccio rallenta la velocità di elaborazione. I modelli in esecuzione su OnnxStream generalmente impiegano da 0,5 a 2 volte più tempo rispetto ai sistemi con più memoria. Tuttavia, OnnxStream consuma circa 55 volte meno memoria rispetto ai sistemi convenzionali. Questa svolta potrebbe potenzialmente sbloccare interessanti possibilità in tinyML consentendo ai modelli di funzionare su hardware precedentemente ritenuto inadeguato per questi compiti.

Anche se l'esecuzione di Stable Diffusion su un Raspberry Pi Zero 2 W potrebbe non essere ottimale quando è disponibile un laptop più capace per l'accesso SSH, è comunque un risultato impressionante. Inoltre, potrebbe aprire la strada a nuovi casi d’uso che coinvolgono potenti applicazioni di apprendimento automatico su dispositivi con risorse limitate.

Plantamura ha generosamente reso open source OnnxStream, fornendo i dettagli necessari su GitHub. Chiunque sia interessato può esplorare questo strumento per sfruttare il potenziale di tinyML e creare le proprie straordinarie applicazioni.

CONDIVIDERE