Maison  >  Article  >  Périphériques technologiques  >  Vitesse d'échantillonnage par diffusion stable doublée ! Algorithme d'échantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Vitesse d'échantillonnage par diffusion stable doublée ! Algorithme d'échantillonnage du modèle de diffusion en seulement 10 à 25 étapes

PHPz
PHPzavant
2023-04-12 08:37:101564parcourir

Pour parler des développements les plus influents dans le domaine de l'IA cette année, la cartographie explosive de l'IA en fait certainement partie. Les concepteurs n'ont qu'à saisir une description textuelle de l'image et l'IA générera une image haute résolution d'une qualité extrêmement élevée. Actuellement, le modèle le plus largement utilisé est le modèle open source Stable Diffusion de StabilityAI. Une fois que le modèle a été open source, il a suscité de larges discussions dans la communauté.

Cependant, le plus gros problème lors de l'utilisation du modèle de diffusion est sa vitesse d'échantillonnage extrêmement lente. L'échantillonnage du modèle doit commencer à partir d'images de bruit pur et débruiter continuellement étape par étape pour finalement obtenir des images claires. Dans ce processus, le modèle doit calculer au moins 50 à 100 étapes en série pour obtenir une image de meilleure qualité. Cela se traduit par un temps nécessaire pour générer une image 50 à 100 fois supérieur à celui des autres modèles de génération profonde, ce qui limite considérablement le déploiement du modèle. et la mise en œuvre.

Afin d'accélérer l'échantillonnage des modèles de diffusion, de nombreux chercheurs partent du point de vue de l'optimisation matérielle. Par exemple, Google utilise le langage JAX pour compiler et exécuter le modèle sur TPU, et l'équipe OneFlow [1] utilise un self. -compilateur développé pour obtenir une image de diffusion stable en une seconde. Ces méthodes sont basées sur l'algorithme d'échantillonnage en 50 étapes PNDM [2], dont l'effet d'échantillonnage diminue fortement lorsque le nombre d'étapes est réduit.

Il y a quelques jours à peine, ce record était à nouveau battu ! La mise à jour officielle Demo[3] de Stable Diffusion montre que le temps d'échantillonnage de 8 images a été directement réduit de 8 secondes d'origine à 4 secondes ! C'est deux fois plus rapide !

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

L'équipe OneFlow, basée sur une technologie de compilateur d'apprentissage profond auto-développée, a réussi à raccourcir l'ancienne « sortie d'image en une seconde » en « sortie d'image en une demi-seconde » sans réduire l'effet d'échantillonnage ! Obtenez une image haute définition en moins de 0,5 seconde sur le GPU ! Des travaux connexes ont été publiés dans [1].

En fait, le cœur de ces travaux vient du DPM-Solver proposé par l'équipe TSAIL dirigée par le professeur Zhu Jun de l'Université Tsinghua, un solveur efficace spécialement conçu pour les modèles de diffusion : cet algorithme ne nécessite aucun outil supplémentaire. la formation, adaptée aux modèles de diffusion en temps discret et en temps continu, peut presque converger en 20 à 25 étapes, et un échantillonnage de très haute qualité peut être obtenu en seulement 10 à 15 étapes. En diffusion stable, un solveur DPM à 25 étapes peut obtenir une meilleure qualité d'échantillonnage qu'un PNDM à 50 étapes, de sorte que la vitesse d'échantillonnage est directement doublée !

Lien du projet :

  • DPM-Solver : Un solveur ODE rapide pour l'échantillonnage de modèles probabilistes de diffusion en 10 étapes environ : https://arxiv.org/abs/2206.00927 (NeurIPS 2022 Oral)
  • DPM-Solver++ : Solveur rapide pour l'échantillonnage guidé de modèles probabilistes de diffusion : https://arxiv.org/abs/2211.01095
  • Code open source du projet : https://github.com/LuChengTHU/dpm-solver
  • Démo en ligne du projet : https://huggingface.co/spaces/LuChengTHU/dpmsolver_sdm

La définition et la méthode d'échantillonnage du modèle de diffusion

Le modèle de diffusion transforme progressivement l'image en gaussienne en définissant un processus avancé qui ajoute continuellement du bruit, puis définit un processus inverse pour débruiter progressivement le bruit gaussien en une image claire pour obtenir l'échantillon :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Pendant le processus d'échantillonnage, le modèle de diffusion peut être divisé en deux catégories selon que du bruit supplémentaire est ajouté : un type est le modèle d'équation différentielle stochastique de diffusion (Diffusion SDE) et l'autre est l'équation différentielle ordinaire de diffusion (Diffusion ODE). Les fonctions objectives d'entraînement des deux modèles sont les mêmes. Un « réseau de prédiction du bruit » est formé en minimisant l'erreur quadratique moyenne avec le bruit :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Le processus d'échantillonnage basé sur Diffusion SDE peut être considéré comme discrétisant le stochastique suivant. équation différentielle :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

et il est prouvé dans [4] que DDPM[5] est une discrétisation du premier ordre du SDE ci-dessus.

Le processus d'échantillonnage basé sur l'ODE de diffusion peut être considéré comme discrétisant l'équation différentielle ordinaire suivante :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Et il est prouvé dans [6] que DDIM[7] est une discrétisation du premier ordre de l'ODE ci-dessus.

Cependant, ces méthodes de discrétisation du premier ordre convergent extrêmement lentement, et l'échantillonnage du modèle de diffusion nécessite généralement 100 à 1000 calculs en série pour obtenir une image de haute qualité. Habituellement, afin d'accélérer l'échantillonnage des modèles de diffusion, les chercheurs utilisent souvent des solveurs d'ordre élevé pour l'ODE de diffusion afin d'accélérer le processus, comme la méthode classique de Runge-Kutta (RK45). En effet, l'ODE n'apporte pas de caractère aléatoire supplémentaire. , la taille du pas de discrétisation peut être relativement plus grande. Après avoir donné la solution au temps s, la méthode Runge-Kutta est basée sur la discrétisation de l'intégrale comme suit :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Une telle discrétisation traite l'ODE de diffusion comme une boîte noire dans son ensemble, perdant les informations connues de l'ODE, et en moins de Il est difficile de converger à 50 pas.

DPM-Solver : Un solveur spécialement conçu pour les modèles de diffusion

DPM-Solver est basé sur la structure semi-linéaire de Diffusion ODE En calculant avec précision et analyse les termes linéaires dans l'ODE, nous pouvons obtenir :

.

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Le terme intégral restant est une intégrale complexe par rapport au temps. Cependant, le proposant de DPM-Solver a découvert que cette intégrale peut être obtenue en changeant le log-SNR (log rapport signal/bruit) pour obtenir une forme très simple :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

L'intégrale restante est fonction de bruit Intégrale pondérée exponentiellement du modèle prédictif. En effectuant un développement de Taylor sur le modèle de prédiction du bruit, nous pouvons obtenir une estimation de l'intégrale :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Il y a deux éléments dans cette estimation : l'un est la partie dérivée totale (vecteur) et l'autre est la partie coefficient (scalaire). Une autre contribution essentielle de DPM-Solver est que le coefficient peut être calculé analytiquement par intégration par parties :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

tandis que la partie dérivée totale restante peut être estimée approximativement par les méthodes numériques des solveurs ODE traditionnels (sans aucune opération dérivée) :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Sur la base des 4 points ci-dessus, DPM-Solver calcule tous les éléments connus aussi précisément que possible et se rapproche uniquement de la partie réseau neuronal, minimisant ainsi l'erreur de discrétisation :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

De plus, sur la base de cette dérivation, nous pouvons déduire que DDIM est essentiellement la forme de premier ordre de DPM-Solver, ce qui peut également expliquer pourquoi DDIM peut encore obtenir de bons effets d'accélération lorsque le nombre d'étapes est petit :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Dans Au cours de l'expérience, DPM-Solver a obtenu un effet d'accélération bien au-delà des autres algorithmes d'échantillonnage, et il a presque convergé en seulement 15 à 20 étapes :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Et les résultats quantitatifs présentés dans l'article montrent que la quantité de calcul supplémentaire introduite par DPM-Solver est totalement négligeable, c'est-à-dire que l'effet d'accélération sur le nombre d'étapes est directement proportionnel à l'effet d'accélération sur le temps - donc, sur la base du Solveur DPM en 25 étapes, la vitesse d'échantillonnage du modèle Stable-Diffusion est directement doublée ! Par exemple, la figure ci-dessous montre l'effet de différents algorithmes d'échantillonnage sur la diffusion stable à mesure que le nombre d'étapes change. On peut voir que DPM-Solver peut obtenir un échantillonnage de très haute qualité en 10 à 15 étapes :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

.

Utiliser DPM-Solver

DPM-Solver est très simple à utiliser. Il peut être basé sur le code officiel fourni par l'auteur, ou vous pouvez utiliser la bibliothèque grand public Diffusers. Par exemple, d'après le code officiel fourni par l'auteur (https://github.com/LuChengTHU/dpm-solver), seules 3 lignes sont nécessaires :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Le code officiel prend en charge les 4 modèles de diffusion :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

et prend en charge l'échantillonnage inconditionnel, le guidage du classificateur et le guidage sans classificateur en même temps :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Le Solver DPM basé sur la bibliothèque Diffusers est également très simple, il vous suffit de définir le planificateur :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

De plus, l'équipe d'auteurs propose également une démo en ligne : https://huggingface.co/spaces/LuChengTHU/dpmsolver_sdm

L'image ci-dessous est un exemple de 15 étapes que vous effectuez. On voit que la qualité de l'image est déjà très élevée :

Vitesse déchantillonnage par diffusion stable doublée ! Algorithme déchantillonnage du modèle de diffusion en seulement 10 à 25 étapes

Je pense que sur la base de DPM-Solver, la vitesse d'échantillonnage du modèle de diffusion ne sera plus un goulot d'étranglement.

À propos de l'auteur

DPM-Solver Le premier auteur de l'article est le Dr Lu Cheng de l'équipe TSAIL de l'Université Tsinghua. Il a également écrit une introduction au principe du modèle de diffusion dans la discussion sur la diffusion. modèle sur Zhihu. Il a été publié maintenant. Il y a plus de 2000 likes : https://www.zhihu.com/question/536012286/answer/2533146567

L'équipe TSAIL de l'Université Tsinghua est engagée depuis longtemps dans la théorie. et recherche algorithmique sur l'apprentissage automatique bayésien, et constitue la première recherche approfondie au monde. L'une des équipes travaillant sur des modèles génératifs probabilistes et a obtenu des résultats de recherche systématiques et approfondis sur les modèles bayésiens, les algorithmes efficaces et les bibliothèques de programmation probabiliste. Un autre doctorant de l'équipe, Bao Fan, a proposé Analytic-DPM [8][9], qui fournit une forme analytique simple et surprenante pour la moyenne et la variance optimales du modèle de diffusion, et a remporté le prix ICLR 2022 Outstanding Paper. En termes de programmation probabiliste, Machine Heart a rendu compte de la bibliothèque de programmation probabiliste approfondie « ZhuSuan » publiée par l'équipe dès 2017 (https://zhusuan.readthedocs.io/en/latest/) [10], qui est la plus ancienne dans le monde. L'une des bibliothèques de programmation pour les modèles probabilistes profonds. En outre, il convient de mentionner que les deux principaux auteurs du modèle de probabilité de diffusion, Song Yang et Song Jiaming, ont tous deux reçu une formation en recherche scientifique sous la direction du professeur Zhu Jun en tant qu'étudiants de premier cycle, puis sont allés à l'Université de Stanford pour étudier en vue d'obtenir un doctorat. . Les co-auteurs de l'article, Zhou Yuhao, Chen Jianfei et Li Chongxuan, sont également des doctorants exceptionnels formés par le groupe TSAIL. Zhou Yuhao est étudiant au département d'informatique de l'université Tsinghua et à l'université de Tsinghua. respectivement à la Hillhouse School of Artificial Intelligence de l'Université Renmin.


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer