Stable Diffusion est une application d’apprentissage en profondeur qui crée des images à partir d’invites de texte. Sorti en 2022, il nécessite considérablement plus de puissance de calcul qu’un Raspberry Pi. Cet exploit impressionnant, mis en place par le fabricant et développeur Vita Plantamura qui a réussi à exécuter avec succès un modèle de diffusion stable de 1 milliard de paramètres sur un Raspberry Pi Zero 2 W en utilisant seulement 260 Mo de RAM.
C’est un exploit impressionnant, en grande partie parce que le Raspberry Pi Zero 2 W est connu pour sa conception compacte plutôt que pour ses performances de calcul. Mais non seulement il est physiquement petit, mais il a des limitations matérielles qui limitent ses performances. Dans ce cas, le Pi Zero 2 W ne dispose que de 512 Mo de RAM. Stable Diffusion préfère au moins 8 Go de RAM pour des performances optimales.
Plantamura a pu faire ce travail en développant ce qu’il appelle OnnxStream. Il s’agit d’une bibliothèque d’inférence spécialement conçue pour réduire la consommation de mémoire afin de pouvoir générer des images sur un Raspberry Pi Zero 2 W. Est-ce pratique ? Pas exactement vu car il faut beaucoup plus de temps pour créer des images. Les images créées à l’aide d’un décodeur VAE en précision W8A8 peuvent prendre trois heures à générer. Cependant, cela fonctionne et c’est assez impressionnant à cet égard. Selon Plantamura, OnnxStream consomme 55 fois moins de mémoire qu’OnnxRuntime mais n’est au maximum que deux fois plus lent.
OnnxStream possède de nombreuses fonctionnalités utiles pour ceux qui cherchent à créer avec l’outil. Quelques exemples incluent le découpage de l’attention, la quantification dynamique et statique, la prise en charge de FP16 et même un moteur d’inférence découplé du WeightsProvider. Vous pouvez trouver une liste complète des fonctionnalités sur la page officielle du projet.
Le logiciel est entièrement open source et accessible à tous pour explorer ou modifier. Bien qu’il puisse fonctionner sur un Raspberry Pi Zero 2, les utilisateurs peuvent également l’implémenter sur d’autres systèmes plus performants avec l’avantage supplémentaire d’une meilleure consommation de mémoire. Il y a des instructions sur le projet GitHub page détaillant comment le configurer sur les machines Windows, Mac et Linux.
Si vous voulez en savoir plus à ce sujet Projet Raspberry Pi ou simplement avoir une meilleure idée de la façon dont cela fonctionne ensemble, consultez tous les détails sur le OnnxStream GitHub et assurez-vous de suivre Vito Plantamura pour les futures mises à jour.