Ni vivas en ekscitaj tempoj, kun anoncoj pri avangarda teknologio ĉiusemajne. OpenAI ĵus publikigis la avangardan tekst-al-bildan modelon DALLE 2.
Nur kelkaj homoj akiris fruan aliron al nova AI-sistemo, kiu povas generi realismajn grafikojn el naturlingvaj priskriboj. Ĝi ankoraŭ estas fermita al la publiko.
Stabileco AI tiam liberigis la Stabila Disvastigo modelo, malfermfonta variaĵo de DALLE2. Ĉi tiu lanĉo ŝanĝis ĉion. Homoj ĉie en la interreto publikigis rapidajn rezultojn kaj estis surprizitaj de realisma arto.
Kio estas Stabila Disvastigo?
Stabila Disvastigo estas maŝinlernada modelo kapabla krei bildojn el teksto, ŝanĝi bildojn depende de la teksto kaj plenigi detalojn pri malalt-rezoluciaj aŭ malaltaj detalaj bildoj.
Ĝi estis trejnita sur miliardoj da fotoj kaj povas liveri rezultojn ekvivalentajn al DALL-E2 kaj Meza Vojaĝo. Stabileco AI inventis ĝin, kaj ĝi fariĝis publika la 22-an de aŭgusto 2022.
Sed kun limigitaj lokaj komputilaj rimedoj, la Stable Diffusion-modelo bezonas longan tempon por krei altkvalitajn bildojn. Prizorgi la modelon interrete uzante nuban provizanton provizas al ni preskaŭ senfinajn komputilajn rimedojn kaj permesas al ni akiri bonegajn rezultojn multe pli rapide.
Gastigi la modelon kiel mikroservon ankaŭ permesas al aliaj kreivaj programoj pli facile ekspluati la potencialon de la modelo sen devi trakti la kompleksaĵojn de prizorgado de ML-modeloj interrete.
En ĉi tiu afiŝo, ni provos pruvi kiel evoluigi stabilan disvastigmodelon kaj disfaldi ĝin al AWS.
Konstruu kaj Deploji Stalan Disvastiĝon
BentoML kaj Amazon Web Services EC2 estas du ebloj por gastigi la Stable Diffusion-modelon interrete. BentoML estas malfermfonta kadro por skalado maŝinlernado servoj. Kun BentoML, ni konstruos fidindan disvastigservon kaj deplojos ĝin al AWS EC2.
Preparante la medion kaj elŝuti stabilan disvastigmodelon
Instalu postulojn kaj klonu la deponejon.
Vi povas elekti kaj elŝuti la Stable Diffusion-modelon. Ununura precizeco taŭgas por CPUoj aŭ GPUoj kun pli ol 10GB de VRAM. Duona precizeco estas ideala por GPU-oj kun malpli ol 10GB VRAM.
Konstruaĵo Stabila Disvastigo
Ni konstruos BentoML-servon por servi la modelon malantaŭ a RESTful API. La sekva ekzemplo uzas la ununuran precizecan modelon por antaŭdiro kaj la modulon service.py por konekti la servon al komerca logiko. Ni povas elmontri la funkciojn kiel API etikedante ilin per @svc.api.
Krome, ni povas difini la enigajn kaj eligajn tipojn de la API-oj en la parametroj. La txt2img finpunkto, ekzemple, ricevas JSON-enigaĵon kaj produktas Bild-eligon, dum la img2img-finpunkto akceptas Bildon kaj JSON-enigaĵon kaj resendas Bild-eligon.
StableDiffusionRunnable difinas la esencan konkludan logikon. La rulebla respondecas pri rulado de la txt2img-pipaj metodoj de la modelo kaj sendado de la koncernaj enigaĵoj. Por prizorgi la modelinferlogikon en la APIoj, kutima Kurilo estas konstruita el la StableDiffusionRunnable.
Poste, uzu la sekvan komandon por komenci BentoML-servon por testado. Loke kurante la Stabila Disvastigo-modelo inferenco pri CPUoj estas sufiĉe malvigla. Ĉiu peto daŭros ĉirkaŭ 5 minutojn por procesi.
Teksto al bildo
Teksto al bilda eligo
La dosiero bentofile.yaml difinas la postulatajn dosierojn kaj dependecojn.
Uzu la suban komandon por konstrui benton. Bento estas la distribuformato por BentoML-servo. Ĝi estas memstara arkivo, kiu enhavas ĉiujn datumojn kaj agordojn necesajn por komenci la servon.
La Stable Diffusion bento estis kompletigita. Se vi ne povis ĝuste generi la benton, ne paniku; vi povas elŝuti antaŭkonstruitan modelon uzante la komandojn listigitajn en la sekva sekcio.
Antaŭkonstruaj Modeloj
Jen la antaŭkonstruitaj modeloj:
Deploji Stable Diffusion-modelon al EC2
Por deploji la benton al EC2, ni uzos bentoctl. bentoctl povas lasi vin deploji viajn bentojn al iu ajn nuba platformo uzante Terraform. Por konstrui kaj apliki Terraform-dosierojn, instalu la AWS EC2-funkciigiston.
En la deplojo config.yaml dosiero, la deplojo jam estis agordita. Bonvolu bonvolu redakti laŭ viaj postuloj. La Bento estas deplojita defaŭlte sur g4dn.xlarge gastiganto kun la Profunda Lernado AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI sur la us-okcidenta-1-regiono.
Kreu la Terraform-dosierojn nun. Kreu la Docker-bildon kaj alŝutu ĝin al AWS ECR. Depende de via bendolarĝo, alŝutado de bildoj povas daŭri longan tempon. Dum deplojado de la bento al AWS EC2, uzu la Terraform-dosierojn.
Por aliri la Swagger UI, konektu al la EC2-konzolo kaj malfermu la publikan IP-adreson en retumilo. Fine, se la Stable Diffusion BentoML-servo ne plu estas bezonata, forigu la deplojon.
konkludo
Vi devus povi vidi kiom fascinaj kaj potencaj SD kaj ĝiaj kunulaj modeloj estas. La tempo diros ĉu ni ripetos la koncepton plu aŭ pluiros al pli kompleksaj aliroj.
Tamen, nuntempe ekzistas iniciatoj survoje trejni pli grandajn modelojn kun alĝustigoj por pli bone ekteni la ĉirkaŭon kaj la instrukciojn. Ni provis evoluigi la Stable Diffusion-servon uzante BentoML kaj deplojis ĝin al AWS EC2.
Ni povis ruli la Stable Diffusion-modelon sur pli potenca aparataro, krei bildojn kun malalta latenco kaj etendi preter ununura komputilo per deplojado de la servo sur AWS EC2.
Lasi Respondon