banner

Nouvelles

Jun 25, 2023

Exécuter une diffusion stable sur Raspberry Pi Zero 2 W : un exploit remarquable

Stable Diffusion, un outil d'IA générative populaire, est devenu un catalyseur dans la démonstration des capacités de l'apprentissage automatique. Ce modèle de conversion texte-image d'apprentissage en profondeur permet aux utilisateurs de générer des images photoréalistes à couper le souffle basées uniquement sur des descriptions textuelles. En incorporant un modèle de diffusion latente spécialisé, Stable Diffusion a révolutionné la façon dont les systèmes d'IA comprennent et créent du contenu visuel, le rendant accessible et convivial à un public plus large.

Ce qui est encore plus remarquable, c'est que Stable Diffusion a contribué à démocratiser les capacités avancées d'apprentissage automatique. Le modèle est open source sous licence permissive et peut fonctionner sur du matériel grand public relativement modeste. En fait, même un GPU moyennement équipé avec au moins 8 Go de VRAM est suffisant pour exécuter le modèle Stable Diffusion. Les infrastructures cloud coûteuses et les budgets Big Tech ne sont plus des conditions préalables.

Mais qu’en est-il de ceux qui n’ont pas accès à un GPU récent ? La diffusion stable peut-elle toujours générer des images avec des ressources informatiques limitées ? Vita Plantamura, ingénieur, s'est lancé dans une mission de découverte et les résultats ont été surprenants. Aucun GPU sophistiqué n'est nécessaire, et même un ordinateur avec des spécifications décentes de l'époque où Nickelback régnait sur les classements musicaux peut suffire.

Plantamura a réussi à exécuter un modèle de diffusion stable avec un milliard de paramètres sur le Raspberry Pi Zero 2 W. Le Pi Zero 2 W, équipé d'un processeur Arm Cortex-A53 à 1 GHz et de 512 Mo de SDRAM, peut ne pas sembler adapté aux applications de deep learning. . Cependant, avec une approche créative, il s'avère que cet ordinateur à 15 $ peut faire le travail.

Pour réaliser cette prouesse, Plantamura a développé un outil baptisé OnnxStream. En règle générale, les moteurs d'inférence donnent la priorité à la vitesse, ce qui entraîne souvent une utilisation élevée de la mémoire. Au contraire, OnnxStream diffuse les pondérations des modèles selon les besoins, plutôt que de tout charger à l'avance. Dans le cas du Raspberry Pi Zero 2 W, les 512 Mo de RAM disponibles ont dépassé les exigences nécessaires, avec seulement 260 Mo suffisants.

Certes, cette approche ralentit la vitesse de traitement. Les modèles exécutés sur OnnxStream prennent généralement environ 0,5 à 2 fois plus de temps que les systèmes dotés de plus de mémoire. Cependant, OnnxStream consomme environ 55 fois moins de mémoire que les systèmes conventionnels. Cette avancée pourrait potentiellement ouvrir des possibilités passionnantes dans tinyML en permettant aux modèles de fonctionner sur du matériel auparavant jugé inadéquat pour ces tâches.

Même si l’exécution de Stable Diffusion sur un Raspberry Pi Zero 2 W n’est peut-être pas optimale lorsqu’un ordinateur portable plus performant est disponible pour l’accès SSH, il s’agit néanmoins d’une réussite impressionnante. De plus, cela pourrait ouvrir la voie à de nouveaux cas d’utilisation impliquant de puissantes applications d’apprentissage automatique sur des appareils aux ressources limitées.

Plantamura a généreusement open source OnnxStream, fournissant les détails nécessaires sur GitHub. Toute personne intéressée peut explorer cet outil pour exploiter le potentiel de tinyML et créer ses propres applications impressionnantes.

PARTAGER