paint-brush
Que sont les modèles de diffusion latente ? L'architecture derrière la diffusion stablepar@whatsai
11,809 lectures
11,809 lectures

Que sont les modèles de diffusion latente ? L'architecture derrière la diffusion stable

par Louis Bouchard6m2022/08/29
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

Qu'est-ce que tous les modèles d'image super puissants récents comme DALLE, Imagen ou Midjourney ont en commun ? Outre leurs coûts de calcul élevés, leur temps de formation énorme et leur battage médiatique partagé, ils reposent tous sur le même mécanisme : la diffusion. Les modèles de diffusion ont récemment obtenu des résultats de pointe pour la plupart des tâches d'image, y compris le texte à l'image avec DALLE, mais également pour de nombreuses autres tâches liées à la génération d'images, comme l'inpainting d'image, le transfert de style ou la super-résolution d'image. Mais comment fonctionnent-ils ? En savoir plus dans la vidéo...

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Que sont les modèles de diffusion latente ? L'architecture derrière la diffusion stable
Louis Bouchard HackerNoon profile picture

Quel est le point commun entre tous les modèles d'image récents surpuissants comme DALLE , Imagen ou Midjourney ? Outre leurs coûts de calcul élevés, leur temps de formation énorme et leur battage médiatique partagé, ils reposent tous sur le même mécanisme : la diffusion.

Les modèles de diffusion ont récemment obtenu des résultats de pointe pour la plupart des tâches d'image, y compris le texte à l'image avec DALLE, mais également pour de nombreuses autres tâches liées à la génération d'images, comme l'inpainting d'image, le transfert de style ou la super-résolution d'image. Mais comment fonctionnent-ils ? En savoir plus dans la vidéo...

Références

►Lire l'article complet : https://www.louisbouchard.ai/latent-diffusion-models/
►Rombach, R., Blattmann, A., Lorenz, D., Esser, P. et Ommer, B., 2022.
Synthèse d'images haute résolution avec modèles de diffusion latente. Dans
Actes de la conférence IEEE/CVF sur la vision et le modèle par ordinateur
Reconnaissance (pp. 10684–10695), https://arxiv.org/pdf/2112.10752.pdf
►Code de diffusion latente : https://github.com/CompVis/latent-diffusion
►Code de diffusion stable (text-to-image basé sur LD) : https://github.com/CompVis/stable-diffusion
►Essayez-le vous-même : https://huggingface.co/spaces/stabilityai/stable-diffusion
►Application Web :
https://stabilityai.us.auth0.com/u/login?state=hKFo2SA4MFJLR1M4cVhJcllLVmlsSV9vcXNYYy11Q25rRkVzZaFur3VuaXZlcnNhbC1sb2dpbqN0aWTZIFRjV2p5dHkzNGQzdkFKZUdyUEprRnhGeFl6ZVdVUDRZo2NpZNkgS3ZZWkpLU2htVW9PalhwY2xRbEtZVXh1Y0FWZXNsSE4
►Ma Newsletter (Une nouvelle application d'IA expliquée chaque semaine à vos mails !) : https://www.louisbouchard.ai/newsletter/

Transcription vidéo

0:00

qu'est-ce que toutes les images récentes super puissantes

0:02

des modèles comme delhi imagine ou mid journey

0:05

ont en commun autre que le calcul intensif

0:08

coûtent un temps de formation énorme et un battage médiatique partagé

0:10

ils sont tous basés sur le même mécanisme

0:13

diffusion des modèles de fusion récemment

0:15

obtenu des résultats de pointe pour

0:17

la plupart des tâches d'image, y compris le texte à l'image

0:19

avec delhi mais beaucoup d'autres images

0:21

tâches liées à la génération comme l'image et

0:23

transfert de style de peinture ou image super

0:25

résolution bien qu'il y ait quelques

0:27

inconvénients ils fonctionnent séquentiellement sur le

0:30

toute l'image, ce qui signifie que les deux

0:31

les temps de formation et d'inférence sont super

0:34

cher c'est pourquoi vous avez besoin de centaines

0:36

de gpus pour former un tel modèle et pourquoi

0:38

vous attendez quelques minutes pour obtenir votre

0:40

résultats, il n'est pas surprenant que seuls les

0:42

les plus grandes entreprises comme google ou openai

0:45

sortent ces modèles

0:47

mais quels sont-ils, j'ai couvert la diffusion

0:49

modèles dans quelques vidéos que je

0:51

vous invite à vérifier une meilleure

0:52

comprendre qu'il s'agit de modèles itératifs

0:55

qui prennent le bruit aléatoire comme entrées qui

0:57

peut être conditionné par un texte ou un

0:59

image donc ce n'est pas complètement aléatoire

1:02

apprend itérativement à supprimer ce bruit

1:04

en apprenant quels paramètres les modèles

1:06

devrait s'appliquer à ce bruit pour finir

1:08

avec une image finale donc la base

1:10

les modèles de diffusion prendront un

1:12

bruit avec la taille de l'image et

1:14

apprendre à appliquer encore plus de bruit jusqu'à ce que

1:17

on revient à une image réelle c'est

1:19

possible parce que le modèle aura

1:21

accès aux images réelles pendant

1:23

formation et pourra apprendre les

1:25

bons paramètres en appliquant un tel bruit

1:27

itérativement à l'image jusqu'à ce qu'elle

1:29

atteint un bruit complet et est

1:31

méconnaissable

1:33

puis quand nous sommes satisfaits de la

1:35

le bruit que nous obtenons de toutes nos images signifie

1:37

qu'ils sont similaires et génèrent du bruit

1:40

d'une distribution similaire, nous sommes prêts

1:42

d'utiliser notre modèle à l'envers et de l'alimenter

1:45

bruit similaire dans l'ordre inverse de

1:48

attendez-vous à une image similaire à celles utilisées

1:50

pendant la formation donc le principal problème ici

1:53

est que vous travaillez directement avec

1:54

les pixels et les entrées de données volumineuses comme

1:57

images voyons comment nous pouvons résoudre ce problème

1:59

problème de calcul tout en gardant le

2:02

la qualité des résultats est la même que celle indiquée

2:04

ici comparé à delhi mais donnez d'abord

2:07

moi quelques secondes pour vous présenter mon

2:09

amis de charlatan sponsorisant cette vidéo

2:11

comme vous connaissez certainement la majorité

2:13

des entreprises déclarent désormais ai et ml

2:15

adoption dans leurs processus mais complexe

2:18

opérations telles que le déploiement modal

2:20

tests de formation et magasin de fonctionnalités

2:22

la direction semble faire obstacle à

2:24

le déploiement du modèle progress ml est l'un des

2:26

les processus les plus complexes, c'est un tel

2:29

processus rigoureux que data scientist

2:31

les équipes passent beaucoup trop de temps à résoudre

2:33

tâches de back-end et d'ingénierie avant

2:35

être capable de pousser le modèle dans

2:37

produire quelque chose que je personnellement

2:39

expérimenté cela demande aussi beaucoup

2:42

différents ensembles de compétences nécessitant souvent deux

2:44

différentes équipes travaillant en étroite collaboration

2:46

heureusement pour nous charlatan livre un

2:48

plate-forme entièrement gérée qui unifie ml

2:50

ingénierie et opérations de données

2:53

fournir une infrastructure agile qui

2:55

permet la production continue de

2:57

ml modèles à l'échelle que vous n'avez pas à

2:59

apprendre à tout faire de bout en bout

3:01

plus grâce à eux charlatan

3:04

organisations pour livrer la machine

3:06

modèles d'apprentissage en production à grande échelle

3:08

si vous voulez accélérer votre modèle

3:10

livraison à la production veuillez prendre quelques

3:12

minutes et cliquez sur le premier lien ci-dessous

3:14

pour vérifier ce qu'ils proposent car j'en suis sûr

3:16

vaudra la peine merci à tout le monde

3:18

jeter un coup d'œil et me soutenir, moi et mon

3:20

amis au couac

3:23

comment ces puissants modèles de diffusion

3:25

être efficace en termes de calcul en

3:27

les transformant en diffusion latente

3h30

modèles cela signifie que robin rumback et

3:32

ses collègues l'ont mis en place

3:34

approche de diffusion que nous venons de couvrir

3:36

dans une représentation d'image compressée

3:38

au lieu de l'image elle-même, puis

3:41

travaillé pour reconstruire l'image afin qu'ils

3:43

ne fonctionnent pas avec l'espace pixel ou

3:45

les images régulières ne fonctionnent plus dans un tel

3:48

l'espace compressé ne permet pas seulement

3:50

générations plus efficaces et plus rapides

3:52

la taille des données est beaucoup plus petite mais aussi

3:54

permet de travailler avec différents

3:56

modalités puisqu'ils encodent les

3:58

entrées vous pouvez lui donner n'importe quel type d'entrée

4:00

comme des images ou du texte et le modèle sera

4:03

apprendre à encoder ces entrées dans le même

4:05

sous-espace que le modèle de diffusion

4:07

utiliser pour générer une image donc oui juste

4:10

comme le modèle de clip, un modèle fonctionnera

4:13

avec du texte ou des images pour guider les générations

4:16

le modèle global ressemblera à ceci

4:18

vous aurez votre image initiale ici x

4:21

et l'encoder dans une information puis

4:23

espace appelé l'espace latent ou z this

4:26

est très similaire à une arme à feu où vous

4:29

utiliser un modèle d'encodeur pour prendre l'image

4:31

et extraire les plus pertinentes

4:32

informations le concernant dans un sous-espace qui

4:35

vous pouvez voir comme une tâche de sous-échantillonnage

4:37

réduire sa taille tout en gardant autant

4:39

informations que possible vous êtes maintenant dans

4:42

l'espace latent avec ton condensé

4:44

entrée vous faites ensuite la même chose avec

4:46

votre condition entre soit des images de texte

4:49

ou quoi que ce soit d'autre et les fusionner avec

4:50

votre représentation d'image actuelle en utilisant

4:53

attention que j'ai décrite dans un autre

4:55

vidéo ce mécanisme d'attention va

4:57

apprendre la meilleure façon de combiner l'entrée

4:59

et conditionnement des entrées dans cette latente

5:01

espace ajoutant attention un transformateur

5:04

caractéristique aux modèles de diffusion ceux-ci ont fusionné

5:07

les entrées sont maintenant votre bruit initial pour

5:09

le processus de diffusion

5:11

alors vous avez le même modèle de diffusion i

5:13

couvert dans mon image et ma vidéo mais quand même

5:16

dans ce sous-espace finalement tu reconstruis

5:19

l'image à l'aide d'un décodeur que vous pouvez

5:21

voir comme l'étape inverse de votre initiale

5:23

encodeur prenant ceci modifié et

5:25

entrée débruitée dans l'espace latent pour

5:28

construire une image finale haute résolution

5:31

essentiellement suréchantillonner vos résultats et

5:34

voilà comment vous pouvez utiliser la diffusion

5:36

modèles pour une grande variété de tâches comme

5:39

super résolution en peinture et même

5:41

texte en image avec la récente écurie

5:44

modèle open source de diffusion à travers le

5:46

processus de conditionnement tout en étant beaucoup

5:49

plus efficace et vous permettant de courir

5:51

les sur votre gpus au lieu d'exiger

5:54

des centaines d'entre eux vous avez bien entendu

5:56

pour tous les développeurs qui veulent avoir

5:58

leur propre texte à l'image et à l'image

6:00

modèle de synthèse fonctionnant tout seul

6:02

gpus le code est disponible avec

6:04

modèles pré-tournés tous les liens sont

6:06

ci-dessous si vous utilisez le modèle s'il vous plaît

6:08

partagez vos identifiants et résultats de tests ou tout autre

6:10

les commentaires que vous avez avec moi, j'aimerais

6:13

discuter de cela, bien sûr, c'était juste

6:15

un aperçu de la diffusion latente

6:17

modèle et je vous invite à lire leur

6:19

excellent article lié ci-dessous également à

6:21

en savoir plus sur le modèle et l'approche

6:24

un grand merci à mes amis de quack pour

6:26

en parrainant cette vidéo et encore plus grande

6:28

merci à toi d'avoir tout regardé

6h30

vidéo je vous verrai la semaine prochaine avec

6:33

un autre papier incroyable