Nagpuyo kita sa kulbahinam nga mga panahon, nga adunay mga pahibalo bahin sa labing bag-ong teknolohiya matag semana. Ang OpenAI bag-o lang nagpagawas sa cutting-edge nga text-to-image nga modelo nga DALLE 2.
Pipila lang ka mga tawo ang nakakuha og sayo nga pag-access sa usa ka bag-ong sistema sa AI nga makahimo og realistiko nga mga graphic gikan sa natural nga mga paghulagway sa lengguwahe. Sirado gihapon kini sa publiko.
Ang Stability AI dayon nagpagawas sa Lig-on nga Pagsabwag modelo, usa ka open-source nga variant sa DALLE2. Kini nga paglansad nakapausab sa tanan. Ang mga tawo sa tibuok internet nagpatik ug dali nga mga resulta ug natingala sa realistiko nga arte.
Unsa ang Stable Diffusion?
Lig-on nga Pagsabwag usa ka modelo sa pagkat-on sa makina nga makahimo sa paghimo og mga imahe gikan sa teksto, pagbag-o sa mga imahe depende sa teksto, ug pagpuno sa mga detalye sa ubos nga resolusyon o ubos nga detalye nga mga imahe.
Gibansay kini sa binilyon nga mga litrato ug makahatag mga resulta nga katumbas sa DALL-E2 ug MidJourney. Kalig-on AI nag-imbento niini, ug kini gipahibalo sa publiko niadtong Agosto 22, 2022.
Apan sa limitado nga lokal nga mga kapanguhaan sa pag-compute, ang Stable Diffusion nga modelo nagkinahanglan og taas nga panahon sa paghimo og taas nga kalidad nga mga hulagway. Ang pagpadagan sa modelo online gamit ang cloud provider naghatag kanamo og halos walay kinutuban nga computational resources ug nagtugot kanamo nga makakuha og maayo kaayong mga resulta nga mas paspas.
Ang pag-host sa modelo isip usa ka microservice nagtugot usab sa ubang mga creative apps nga mas daling mapahimuslan ang potensyal sa modelo nga dili kinahanglan nga atubangon ang mga kakomplikado sa pagpadagan sa mga modelo sa ML online.
Sa kini nga post, sulayan namon nga ipakita kung giunsa paghimo ang usa ka lig-on nga modelo sa pagsabwag ug i-deploy kini sa AWS.
Paghimo ug I-deploy ang Stable nga Pagsabwag
BentoML ug Amazon Web Services EC2 duha ka kapilian alang sa pag-host sa Stable Diffusion nga modelo online. Ang BentoML usa ka bukas nga gigikanan nga balangkas alang sa pag-scale pagkat-on sa makina serbisyo. Uban sa BentoML, magtukod kami usa ka kasaligan nga serbisyo sa pagkatibulaag ug i-deploy kini sa AWS EC2.
Pag-andam sa palibot ug pag-download sa stable diffusion model
I-install ang mga kinahanglanon ug i-clone ang repository.
Mahimo nimong pilion ug i-download ang Stable Diffusion nga modelo. Ang usa ka katukma angay alang sa mga CPU o GPU nga adunay labaw sa 10GB nga VRAM. Ang katunga nga katukma maayo alang sa mga GPU nga wala’y 10GB VRAM.
Pagtukod sa Lig-on nga Pagsabwag
Magtukod kami usa ka serbisyo sa BentoML aron maserbisyohan ang modelo sa luyo sa usa ka RESTful API. Ang mosunod nga pananglitan naggamit sa usa ka modelo sa katukma alang sa panagna ug ang service.py module aron makonektar ang serbisyo ngadto sa lohika sa negosyo. Mahimo natong ibutyag ang mga gimbuhaton isip mga API pinaagi sa pag-tag kanila sa @svc.api.
Dugang pa, mahimo naton mahibal-an ang mga tipo sa input ug output sa mga API sa mga parameter. Ang txt2img endpoint, pananglitan, nakadawat ug JSON input ug nagpatunghag Image output, samtang ang img2img endpoint modawat ug Image ug JSON input ug nagbalik ug Image output.
Ang usa ka StableDiffusionRunnable naghubit sa hinungdanon nga lohika sa inference. Ang runnable maoy nagdumala sa pagpadagan sa mga pamaagi sa tubo nga txt2img sa modelo ug pagpadala sa may kalabotan nga mga input. Para sa pagpadagan sa model inference logic sa mga API, usa ka custom Runner ang gihimo gikan sa StableDiffusionRunnable.
Dayon, gamita ang mosunod nga sugo aron magsugod sa serbisyo sa BentoML alang sa pagsulay. Lokal nga pagpadagan sa Stable Diffusion nga modelo Ang inference sa mga CPU medyo hinay. Ang matag hangyo moabot ug mga 5 ka minuto aron maproseso.
Teksto sa imahe
Teksto sa output sa imahe
Ang bentofile.yaml file naghubit sa gikinahanglan nga mga file ug dependencies.
Gamita ang sugo sa ubos sa paghimo ug bento. Ang Bento mao ang format sa pag-apod-apod alang sa serbisyo sa BentoML. Kini usa ka self-contained archive nga adunay tanan nga datos ug mga pag-configure nga gikinahanglan aron masugdan ang serbisyo.
Ang Stable Diffusion bento nahuman na. Kung dili ka makahimo sa husto nga paghimo sa bento, ayaw kalisang; mahimo nimo i-download ang pre-built nga modelo gamit ang mga sugo nga gilista sa sunod nga seksyon.
Pre-build nga mga Modelo
Ang mosunod mao ang mga pre-build nga mga modelo:
I-deploy ang Stable Diffusion nga modelo sa EC2
Aron i-deploy ang bento sa EC2, atong gamiton ang bentoctl. Ang bentoctl makatugot kanimo sa pag-deploy sa imong mga bentos sa bisan unsa plataporma sa panganod gamit ang Terraform. Aron makahimo ug magamit ang mga file sa Terraform, i-install ang AWS EC2 operator.
Sa deployment config.yaml file, ang deployment na-configure na. Palihug ayaw pagduhaduha sa pag-edit sa imong mga kinahanglanon. Ang Bento kay gipakatap pinaagi sa default sa usa ka g4dn.xlarge host nga adunay Maayong Pagkat-on AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI sa us-west-1 nga rehiyon.
Paghimo sa mga file sa Terraform karon. Paghimo sa imahe sa Docker ug i-upload kini sa AWS ECR. Depende sa imong bandwidth, ang pag-upload sa imahe mahimong magdugay. Sa pag-deploy sa bento sa AWS EC2, gamita ang Terraform files.
Aron ma-access ang Swagger UI, kumonekta sa EC2 console ug ablihi ang pampublikong IP address sa usa ka browser. Sa katapusan, kung ang serbisyo sa Stable Diffusion BentoML dili na kinahanglan, kuhaa ang pag-deploy.
Panapos
Kinahanglan nimong makita kung unsa ka madanihon ug kusgan ang SD ug ang kauban nga mga modelo niini. Ang panahon ang magsulti kung atong balikon pa ang konsepto o magpadayon sa mas sopistikado nga mga pamaagi.
Bisan pa, adunay karon nga mga inisyatibo nga gihimo aron mabansay ang mas dagkong mga modelo nga adunay mga pagbag-o aron mas masabtan ang palibot ug ang mga panudlo. Among gisulayan ang pagpalambo sa serbisyo sa Stable Diffusion gamit ang BentoML ug gi-deploy kini sa AWS EC2.
Nahimo namo ang pagpadagan sa Stable Diffusion nga modelo sa mas gamhanang hardware, paghimo og mga hulagway nga adunay ubos nga latency, ug molapas sa usa ka computer pinaagi sa pagdeploy sa serbisyo sa AWS EC2.
Leave sa usa ka Reply