Mir liewen an spannenden Zäiten, mat Ukënnegungen iwwer modernste Technologie all Woch. OpenAI huet just de modernste Text-zu-Bild Modell DALLE 2 verëffentlecht.
Nëmmen e puer Leit kruten fréi Zougang zu engem neien AI System deen realistesch Grafike vun natierleche Sproochbeschreiwunge generéiere kann. Et ass nach ëmmer fir de Public zou.
Stabilitéit AI huet dunn den Stabil Diffusioun Modell, eng Open Source Variant vun DALLE2. Dëse Start huet alles geännert. D'Leit iwwerall am Internet hu séier Resultater publizéiert a si iwwerrascht vun realistescher Konscht.
Wat ass stabil Diffusioun?
Stabil Diffusioun ass e Maschinnléiermodell fäeg Biller aus Text ze kreéieren, Biller ofhängeg vum Text z'änneren, an Detailer op niddereg-Resolutioun oder niddereg-Detail Biller auszefëllen.
Et gouf op Milliarden vu Fotoen trainéiert a kann Resultater gläichwäerteg liwweren DALL-E2 an Mëtt Journey. Stabilitéit AI erfonnt, an et gouf den 22. August 2022 ëffentlech gemaach.
Awer mat limitéierten lokalen computationalen Ressourcen hëlt de Stable Diffusion Modell eng laang Zäit fir qualitativ héichwäerteg Biller ze kreéieren. De Modell online mat engem Cloud Provider ze bedreiwen liwwert eis bal onendlech computational Ressourcen an erlaabt eis exzellent Resultater vill méi séier ze kréien.
Hosting vum Modell als Mikroservice erlaabt och aner kreativ Apps de Potenzial vum Modell méi einfach auszenotzen ouni sech mat de Komplexitéite vun der ML Modeller online ze këmmeren.
An dësem Post wäerte mir probéieren ze demonstréieren wéi e stabile Diffusiounsmodell entwéckelen an et op AWS ofsetzen.
Bauen an Deploy Stable Diffusioun
BentoML an Amazon Web Services EC2 sinn zwou Optiounen fir de Stable Diffusion Modell online ze hosten. BentoML ass en Open-Source Kader fir Skaléieren Maschinn léieren Servicer. Mat BentoML wäerte mir en zouverléissege Dispersiounsservice bauen an en op AWS EC2 ofsetzen.
Virbereedung vun der Ëmwelt an download stabil Diffusioun Modell
Installéiert Ufuerderungen a klon de Repository.
Dir kënnt de Stable Diffusion Modell auswielen an eroflueden. Eenzeg Präzisioun ass gëeegent fir CPUs oder GPUs mat méi wéi 10GB VRAM. Hallef Präzisioun ass ideal fir GPUs mat manner wéi 10GB VRAM.
Gebai Stall Diffusioun
Mir wäerten e BentoML Service bauen fir de Modell hannert engem ze déngen RESTful API. Déi folgend Beispill benotzt den eenzege Präzisiounsmodell fir Viraussoen an de Service.py Modul fir de Service mat der Geschäftslogik ze verbannen. Mir kënnen d'Funktiounen als APIen ausstelle andeems se se mat @svc.api taggen.
Ausserdeem kënne mir d'APIs 'Input an Output Typen an de Parameteren definéieren. Den txt2img Endpunkt, zum Beispill, kritt en JSON Input a produzéiert e Bildausgang, wärend den img2img Endpunkt e Bild an e JSON Input akzeptéiert an e Bildoutput zréckkënnt.
E StableDiffusionRunnable definéiert déi wesentlech Inferenzlogik. De Runnable ass verantwortlech fir d'Text2img Päifmethoden vum Modell auszeféieren an déi entspriechend Inputen ze schécken. Fir d'Modellinferenzlogik an den APIen auszeféieren, gëtt e personaliséierte Runner aus dem StableDiffusionRunnable konstruéiert.
Dann benotzt de folgende Kommando fir e BentoML Service fir ze testen ze starten. Lokal Lafen der Stabil Diffusiounsmodell Inferenz iwwer CPUs ass éischter schlëmm. All Ufro dauert ongeféier 5 Minutten fir ze veraarbecht.
Text op Bild
Text zum Bildausgang
D'Bentofile.yaml Datei definéiert déi erfuerderlech Dateien an Ofhängegkeeten.
Benotzt de Kommando hei ënnen fir e Bento ze bauen. E Bento ass d'Verdeelungsformat fir e BentoML Service. Et ass e selbstännegen Archiv deen all d'Donnéeën an d'Konfiguratiounen enthält déi néideg sinn fir de Service ze starten.
De Stall Diffusion Bento ass ofgeschloss. Wann Dir net konnt de Bento richteg generéieren, panikéiert net; Dir kënnt de pre-gebaute Modell eroflueden andeems Dir d'Befehle benotzt, déi an der nächster Sektioun opgezielt sinn.
Pre-Build Modeller
Folgend sinn d'Pre-Build Modeller:
Deploy Stable Diffusion Modell op EC2
Fir de Bento op EC2 z'installéieren, wäerte mir bentoctl benotzen. bentoctl kann Iech Är Bentos op all ofsetzen Wollek Plattform benotzt Terraform. Fir Terraform Dateien ze bauen an z'applizéieren, installéiert den AWS EC2 Bedreiwer.
An der Deployment config.yaml Datei ass d'Deployment scho konfiguréiert. Gitt w.e.g. fräi fir Är Ufuerderungen z'änneren. De Bento gëtt als Standard op engem g4dn.xlarge Host mat der Deep Learning AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI op der us-west-1 Regioun.
Erstellt d'Terraform Dateien elo. Erstellt den Docker Bild an lued et op AWS ECR erop. Ofhängeg vun Ärer Bandbreedung, kann d'Bild eropluede laang daueren. Wann Dir de Bento op AWS EC2 ofsetzt, benotzt d'Terraform Dateien.
Fir Zougang zum Swagger UI ze kréien, verbënnt mat der EC2 Konsole an öffnen d'ëffentlech IP Adress an engem Browser. Schlussendlech, wann de Stable Diffusion BentoML Service net méi erfuerderlech ass, läscht d'Deployment.
Konklusioun
Dir sollt fäeg sinn ze gesinn wéi faszinéierend a mächteg SD a seng Begleedermodeller sinn. D'Zäit wäert soen ob mir d'Konzept weider widderhuelen oder op méi sophistikéiert Approche weidergoen.
Et ginn awer momentan Initiativen ënnerwee fir méi grouss Modeller mat Upassungen ze trainéieren fir d'Ëmgéigend an d'Instruktioune besser ze begräifen. Mir hu probéiert de Stable Diffusion Service mat BentoML z'entwéckelen an en op AWS EC2 ofgebaut.
Mir konnten de Stable Diffusion Modell op méi mächteg Hardware ausféieren, Biller mat gerénger latency erstellen an iwwer en eenzege Computer ausdehnen andeems de Service op AWS EC2 ofgebaut gëtt.
Hannerlooss eng Äntwert