Stabiele verspreiding

Modelkaart Stabiele verspreiding v1-5

Stable Diffusion is een latent tekst-naar-beeld-verspreidingsmodel dat fotorealistische afbeeldingen kan genereren op basis van tekstinvoer. Kijk voor meer informatie over de werking van Stable Diffusion op 🤗's Stabiele Verspreiding blog.

De Stabiel-diffusie-v1-5 controlepost werd geïnitialiseerd met de gewichten van de Stabiel-diffusie-v1-2 controlepunt en vervolgens verfijnd op 595k stappen bij een resolutie van 512×512 op "laion-aesthetics v2 5+" en 10% het laten vallen van de tekstconditionering om Bemonstering zonder classificatie.

Je kunt dit zowel met de 🧨Diffusers bibliotheek en de BaanML GitHub opslagplaats.

Verstuivers

van diffusors importeer StableDiffusionPipeline
importeer toorts

model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "een foto van een astronaut die paardrijdt op mars".
afbeelding = pipe(prompt).images[0]
    
image.save("astronaut_rides_horse.png")

Voor meer gedetailleerde instructies, use-cases en voorbeelden in JAX volg de instructies hier

Oorspronkelijke GitHub opslagplaats

  1. De gewichten downloaden
  2. Instructies volgen hier.

Model Details

  • Ontwikkeld door: Robin Rombach, Patrick Esser
  • Type model: Op diffusie gebaseerd tekst-naar-beeld generatiemodel
  • Taal/talen: Engels
  • Licentie: De CreativeML OpenRAIL M-licentie is een Open RAIL M-licentie, aangepast aan het werk dat BigScience en het RAIL-initiatief dragen samen bij aan een verantwoorde AI-licentieverlening. Zie ook het artikel over de BLOOM Open RAIL licentie waarop onze licentie is gebaseerd.
  • Modelbeschrijving: Dit is een model dat kan worden gebruikt om afbeeldingen te genereren en aan te passen op basis van tekstaanwijzingen. Het is een Latent Diffusiemodel dat een vaste, voorgetrainde tekstcoder gebruikt (CLIP ViT-L/14) zoals voorgesteld in de Papierafbeeldingen.
  • Bronnen voor meer informatie: GitHub-archiefPapier.
  • Citeer als:@InProceedings{Rombach_2022_CVPR, author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn}, title = {High-Resolution Image Synthesis With Latent Diffusion Models}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, month = {June}, year = {2022}, pages = {10684-10695} }

Gebruikt

Direct gebruik

Het model is alleen bedoeld voor onderzoeksdoeleinden. Mogelijke onderzoeksgebieden en -taken zijn

  • Veilig gebruik van modellen die schadelijke inhoud kunnen genereren.
  • De beperkingen en vooroordelen van generatieve modellen onderzoeken en begrijpen.
  • Genereren van kunstwerken en gebruik in design en andere artistieke processen.
  • Toepassingen in educatieve of creatieve tools.
  • Onderzoek naar generatieve modellen.

Uitgesloten toepassingen worden hieronder beschreven.

Misbruik, kwaadwillig gebruik en gebruik buiten de scope

Opmerking: Dit gedeelte is overgenomen uit de DALLE-MINI modelkaartmaar geldt op dezelfde manier voor Stabiele Verspreiding v1.

Het model mag niet worden gebruikt om opzettelijk beelden te creëren of te verspreiden die een vijandige of vervreemdende omgeving creëren voor mensen. Dit omvat het genereren van beelden die mensen voorzienbaar als storend, verontrustend of beledigend zouden ervaren; of inhoud die historische of huidige stereotypen propageert.

Out-of-Scope Gebruik

Het model is niet getraind om feitelijke of waarheidsgetrouwe weergaven van mensen of gebeurtenissen te maken, en daarom valt het gebruik van het model om dergelijke inhoud te genereren buiten het bereik van de mogelijkheden van dit model.

Misbruik en kwaadwillig gebruik

Het model gebruiken om inhoud te genereren die wreed is voor individuen is misbruik van dit model. Dit omvat, maar is niet beperkt tot:

  • Het genereren van vernederende, ontmenselijkende of anderszins schadelijke voorstellingen van mensen of hun omgeving, culturen, religies, enz.
  • Het opzettelijk promoten of verspreiden van discriminerende inhoud of schadelijke stereotypen.
  • Zich voordoen als personen zonder hun toestemming.
  • Seksuele inhoud zonder toestemming van de mensen die het zouden kunnen zien.
  • Mis- en desinformatie
  • Weergave van gruwelijk geweld en gore
  • Het delen van auteursrechtelijk beschermd of gelicentieerd materiaal in strijd met de gebruiksvoorwaarden.
  • Het delen van inhoud die een aanpassing is van auteursrechtelijk beschermd materiaal of materiaal onder licentie in strijd met de gebruiksvoorwaarden.

Beperkingen en vooroordelen

Beperkingen

  • Het model bereikt geen perfect fotorealisme
  • Het model kan geen leesbare tekst weergeven
  • Het model presteert niet goed bij moeilijkere taken waarbij compositie een rol speelt, zoals het renderen van een afbeelding die overeenkomt met "Een rode kubus bovenop een blauwe bol".
  • Gezichten en mensen in het algemeen worden mogelijk niet goed gegenereerd.
  • Het model is voornamelijk getraind met Engelse bijschriften en zal niet zo goed werken in andere talen.
  • Het autoencoding-gedeelte van het model is lossy
  • Het model werd getraind op een grootschalige dataset LAION-5B die materiaal voor volwassenen bevat en niet geschikt is voor productgebruik zonder aanvullende veiligheidsmechanismen en overwegingen.
  • Er werden geen extra maatregelen gebruikt om de dataset te ontdubbelen. Als gevolg daarvan zien we een zekere mate van memorisatie voor afbeeldingen die gedupliceerd zijn in de trainingsgegevens. De trainingsgegevens kunnen worden doorzocht op https://rom1504.github.io/clip-retrieval/ om mogelijk te helpen bij de detectie van gememoriseerde beelden.

Bias

Hoewel de mogelijkheden van beeldgeneratiemodellen indrukwekkend zijn, kunnen ze ook sociale vooroordelen versterken of verergeren. Stable Diffusion v1 werd getraind op subsets van LAION-2B(en)die bestaat uit beelden die voornamelijk beperkt zijn tot Engelse beschrijvingen. Teksten en afbeeldingen van gemeenschappen en culturen die andere talen gebruiken worden waarschijnlijk onvoldoende meegenomen. Dit beïnvloedt de algehele uitvoer van het model, omdat blanke en westerse culturen vaak als standaard worden ingesteld. Verder is het vermogen van het model om inhoud te genereren met niet-Engelstalige prompts aanzienlijk slechter dan met Engelstalige prompts.

Veiligheidsmodule

Het beoogde gebruik van dit model is met de Veiligheidscontrole in Verspreiders. Deze controle werkt door modeluitvoer te vergelijken met bekende, hard gecodeerde NSFW-concepten. De concepten zijn opzettelijk verborgen om de kans op reverse-engineering van dit filter te verkleinen. Specifiek vergelijkt de controleur de klassenwaarschijnlijkheid van schadelijke concepten in de inbeddingsruimte van de CLIPTextModel na generatie van de afbeeldingen. De concepten worden samen met de gegenereerde afbeelding in het model ingevoerd en vergeleken met een met de hand berekend gewicht voor elk NSFW-concept.

Opleiding

Trainingsgegevens De modelontwikkelaars gebruikten de volgende dataset om het model te trainen:

  • LAION-2B (nl) en subsets daarvan (zie volgende sectie)

Trainingsprocedure Stabiel Diffusie v1-5 is een latent diffusiemodel dat een autoencoder combineert met een diffusiemodel dat wordt getraind in de latente ruimte van de autoencoder. Tijdens de training,

  • Beelden worden gecodeerd via een encoder, die beelden omzet in latente representaties. De autoencoder gebruikt een relatieve downsampling-factor van 8 en zet beelden met de vorm H x B x 3 om in latente representaties met de vorm H/f x W/f x 4.
  • Tekstmeldingen worden gecodeerd met een ViT-L/14 tekst-encoder.
  • De niet-gepoolde uitvoer van de tekstcoder wordt via cross-attentie ingevoerd in de UNet-backbone van het latente verspreidingsmodel.
  • Het verlies is een reconstructiedoelstelling tussen de ruis die aan het latent is toegevoegd en de voorspelling die door de UNet is gedaan.

Momenteel zijn er zes Stable Diffusion-checkpoints, die als volgt zijn getraind.

  • stabiele-diffusie-v1-1237.000 stappen bij resolutie 256x256 op laion2B-en. 194.000 stappen bij resolutie 512x512 op laion-hoge-resolutie (170M voorbeelden van LAION-5B met resolutie >= 1024x1024).
  • stabiele-diffusie-v1-2: Hervat van stabiele-diffusie-v1-1. 515.000 stappen bij resolutie 512x512 op "laion-improved-aesthetics" (een subset van laion2B-en, gefilterd op afbeeldingen met een origineel formaat >= 512x512, geschatte esthetische score > 5.0en een geschatte watermerkkans < 0.5. De schatting van het watermerk komt uit de metagegevens van LAION-5B, de esthetiekscore wordt geschat met een verbeterde esthetische schatter).
  • stabiele-diffusie-v1-3: Hervat van stabiele-diffusie-v1-2 - 195.000 stappen bij resolutie 512x512 op "laion-improved-aesthetics" en 10 % het laten vallen van de tekst-conditionering om de Bemonstering zonder classificatie.
  • stabiele-diffusie-v1-4 Hervat van stabiele-diffusie-v1-2 - 225.000 stappen bij resolutie 512x512 op "laion-aesthetics v2 5+" en 10 % het laten vallen van de tekstconditionering om te verbeteren Bemonstering zonder classificatie.
  • stabiele-diffusie-v1-5 Hervat van stabiele-diffusie-v1-2 - 595.000 stappen bij resolutie 512x512 op "laion-aesthetics v2 5+" en 10 % het laten vallen van de tekstconditionering om te verbeteren Bemonstering zonder classificatie.
  • stabiele-diffusie-schildering Hervat van stabiele-diffusie-v1-5 - vervolgens 440.000 stappen inpainting-training met een resolutie van 512×512 op "laion-aesthetics v2 5+" en 10% dropping van de tekstconditionering. Voor het inkleuren heeft de UNet 5 extra invoerkanalen (4 voor het gecodeerde gemaskeerde beeld en 1 voor het masker zelf) waarvan de gewichten op nul werden gezet na het herstellen van het controlepunt zonder inkleuren. Tijdens de training genereren we synthetische maskers en in 25% maskeren we alles.
  • Hardware: 32 x 8 x A100 GPU's
  • Optimaliseerder: AdamW
  • Gradiënt Accumulaties: 2
  • Partij: 32 x 8 x 2 x 4 = 2048
  • Leertempo: opwarmen tot 0,0001 voor 10.000 stappen en dan constant gehouden

Evaluatieresultaten

Evaluaties met verschillende sturingsschalen zonder classificator (1,5, 2,0, 3,0, 4,0, 5,0, 6,0, 7,0, 8,0) en 50 PNDM/PLMS bemonsteringsstappen tonen de relatieve verbeteringen van de controlepunten:

pareto

Geëvalueerd met 50 PLMS-stappen en 10000 willekeurige prompts uit de COCO2017 validatieset, geëvalueerd met een resolutie van 512×512. Niet geoptimaliseerd voor FID-scores.

Milieu-impact

Stabiele verspreiding v1 Geschatte emissies Op basis van die informatie schatten we de volgende CO2-uitstoot met behulp van de Machine Learning impact calculator gepresenteerd in Lacoste et al. (2019). De hardware, runtime, cloudprovider en computerregio werden gebruikt om de koolstofimpact in te schatten.

  • Type hardware: A100 PCIe 40 GB
  • Gebruikte uren: 150000
  • Cloudaanbieder: AWS
  • Regio berekenen: VS-Oost
  • Koolstofuitstoot (Stroomverbruik x Tijd x Koolstof geproduceerd op basis van de locatie van het elektriciteitsnet): 11250 kg CO2 eq.

Citeren

    @InProceedings{Rombach_2022_CVPR,
        author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bjürn},
        title = {High-Resolution Image Synthesis With Latent Diffusion Models},
        booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
        maand = {juni},
        year = {2022},
        pagina's = {10684-10695}
    }

Deze modelkaart is geschreven door: Robin Rombach en Patrick Esser en is gebaseerd op de DALL-E Minimodellenkaart.