మేము ప్రతి వారం అత్యాధునిక సాంకేతికత గురించి ప్రకటనలతో ఉత్తేజకరమైన కాలంలో జీవిస్తున్నాము. OpenAI ఇప్పుడే అత్యాధునిక టెక్స్ట్-టు-ఇమేజ్ మోడల్ DALLE 2ని విడుదల చేసింది.
సహజ భాషా వివరణల నుండి వాస్తవిక గ్రాఫిక్లను రూపొందించగల కొత్త AI సిస్టమ్కు కొంతమంది వ్యక్తులు మాత్రమే ముందస్తు యాక్సెస్ను పొందారు. ఇది ఇప్పటికీ ప్రజలకు మూసివేయబడింది.
స్టెబిలిటీ AI తర్వాత విడుదల చేసింది స్థిరమైన వ్యాప్తి మోడల్, DALLE2 యొక్క ఓపెన్ సోర్స్ వేరియంట్. ఈ ప్రయోగం అన్నింటినీ మార్చేసింది. ఇంటర్నెట్ అంతటా ప్రజలు త్వరిత ఫలితాలను ప్రచురించారు మరియు వాస్తవిక కళను చూసి ఆశ్చర్యపోయారు.
స్థిరమైన వ్యాప్తి అంటే ఏమిటి?
స్థిరమైన వ్యాప్తి మెషీన్ లెర్నింగ్ మోడల్ అనేది టెక్స్ట్ నుండి ఇమేజ్లను సృష్టించడం, టెక్స్ట్పై ఆధారపడి ఇమేజ్లను మార్చడం మరియు తక్కువ రిజల్యూషన్ లేదా తక్కువ-వివరంగా ఉన్న చిత్రాలపై వివరాలను పూరించగల సామర్థ్యం కలిగి ఉంటుంది.
ఇది బిలియన్ల కొద్దీ ఫోటోలపై శిక్షణ పొందింది మరియు దానికి సమానమైన ఫలితాలను అందించగలదు డాల్-E2 మరియు మిడ్ జర్నీ. స్థిరత్వం AI దీనిని కనుగొన్నారు మరియు ఇది ఆగస్టు 22, 2022న బహిరంగపరచబడింది.
కానీ పరిమిత స్థానిక గణన వనరులతో, స్థిరమైన వ్యాప్తి నమూనా అధిక-నాణ్యత చిత్రాలను రూపొందించడానికి చాలా సమయం పడుతుంది. క్లౌడ్ ప్రొవైడర్ని ఉపయోగించి మోడల్ను ఆన్లైన్లో అమలు చేయడం వల్ల దాదాపు అనంతమైన గణన వనరులను మాకు అందిస్తుంది మరియు అద్భుతమైన ఫలితాలను మరింత వేగంగా పొందేందుకు మమ్మల్ని అనుమతిస్తుంది.
మోడల్ను మైక్రోసర్వీస్గా హోస్ట్ చేయడం ద్వారా ఆన్లైన్లో ML మోడల్లను అమలు చేయడంలో సంక్లిష్టతలను ఎదుర్కోవాల్సిన అవసరం లేకుండా మోడల్ సామర్థ్యాన్ని మరింత సులభంగా ఉపయోగించుకోవడానికి ఇతర సృజనాత్మక యాప్లను అనుమతిస్తుంది.
ఈ పోస్ట్లో, స్థిరమైన వ్యాప్తి నమూనాను ఎలా అభివృద్ధి చేయాలో మరియు దానిని AWSకి ఎలా అమలు చేయాలో మేము ప్రదర్శించడానికి ప్రయత్నిస్తాము.
స్థిరమైన వ్యాప్తిని నిర్మించండి మరియు అమలు చేయండి
BentoML మరియు Amazon Web Services EC2 ఆన్లైన్లో స్థిరమైన విస్తరణ మోడల్ను హోస్ట్ చేయడానికి రెండు ఎంపికలు. BentoML అనేది స్కేలింగ్ కోసం ఒక ఓపెన్ సోర్స్ ఫ్రేమ్వర్క్ యంత్ర అభ్యాసం సేవలు. BentoMLతో, మేము ఒక నమ్మకమైన డిస్పర్షన్ సేవను నిర్మిస్తాము మరియు దానిని AWS EC2కి అమలు చేస్తాము.
పర్యావరణాన్ని సిద్ధం చేయడం మరియు స్థిరమైన వ్యాప్తి నమూనాను డౌన్లోడ్ చేయడం
అవసరాలను ఇన్స్టాల్ చేయండి మరియు రిపోజిటరీని క్లోన్ చేయండి.
మీరు స్టేబుల్ డిఫ్యూజన్ మోడల్ని ఎంచుకుని డౌన్లోడ్ చేసుకోవచ్చు. 10GB కంటే ఎక్కువ VRAM ఉన్న CPUలు లేదా GPUలకు ఒకే ఖచ్చితత్వం అనుకూలంగా ఉంటుంది. 10GB VRAM కంటే తక్కువ ఉన్న GPUలకు సగం ఖచ్చితత్వం అనువైనది.
బిల్డింగ్ స్టేబుల్ డిఫ్యూజన్
మేము ఒక వెనుక మోడల్ను అందించడానికి BentoML సేవను నిర్మిస్తాము RESTful API. కింది ఉదాహరణ ప్రిడిక్షన్ కోసం సింగిల్ ప్రెసిషన్ మోడల్ని మరియు సర్వీస్ను బిజినెస్ లాజిక్కి కనెక్ట్ చేయడానికి service.py మాడ్యూల్ని ఉపయోగిస్తుంది. మేము ఫంక్షన్లను @svc.apiతో ట్యాగ్ చేయడం ద్వారా APIలుగా బహిర్గతం చేయవచ్చు.
ఇంకా, మేము APIల ఇన్పుట్ మరియు అవుట్పుట్ రకాలను పారామితులలో నిర్వచించవచ్చు. txt2img ఎండ్పాయింట్, ఉదాహరణకు, JSON ఇన్పుట్ని అందుకుంటుంది మరియు ఇమేజ్ అవుట్పుట్ను ఉత్పత్తి చేస్తుంది, అయితే img2img ఎండ్పాయింట్ ఒక ఇమేజ్ మరియు JSON ఇన్పుట్ను అంగీకరిస్తుంది మరియు ఇమేజ్ అవుట్పుట్ను అందిస్తుంది.
ఒక StableDiffusionRunnable ఆవశ్యక అనుమితి తర్కాన్ని నిర్వచిస్తుంది. మోడల్ యొక్క txt2img పైప్ పద్ధతులను అమలు చేయడానికి మరియు సంబంధిత ఇన్పుట్లను పంపడానికి రన్నబుల్ బాధ్యత వహిస్తుంది. APIలలో మోడల్ అనుమితి తర్కాన్ని అమలు చేయడం కోసం, StableDiffusionRunnable నుండి అనుకూల రన్నర్ రూపొందించబడింది.
అప్పుడు, పరీక్ష కోసం BentoML సేవను ప్రారంభించడానికి కింది ఆదేశాన్ని ఉపయోగించండి. స్థానికంగా నడుస్తోంది స్థిరమైన వ్యాప్తి నమూనా CPUలపై అనుమానం చాలా మందకొడిగా ఉంటుంది. ప్రతి అభ్యర్థనను ప్రాసెస్ చేయడానికి దాదాపు 5 నిమిషాలు పడుతుంది.
చిత్రానికి వచనం పంపండి
టెక్స్ట్ నుండి ఇమేజ్ అవుట్పుట్
bentofile.yaml ఫైల్ అవసరమైన ఫైల్లు మరియు డిపెండెన్సీలను నిర్వచిస్తుంది.
బెంటోని నిర్మించడానికి దిగువ ఆదేశాన్ని ఉపయోగించండి. Bento అనేది BentoML సేవ కోసం పంపిణీ ఆకృతి. ఇది సేవను ప్రారంభించడానికి అవసరమైన మొత్తం డేటా మరియు కాన్ఫిగరేషన్లను కలిగి ఉన్న స్వీయ-నియంత్రణ ఆర్కైవ్.
స్థిరమైన విస్తరణ బెంటో పూర్తయింది. మీరు బెంటోను సరిగ్గా రూపొందించలేకపోతే, భయపడవద్దు; తదుపరి విభాగంలో జాబితా చేయబడిన ఆదేశాలను ఉపయోగించి మీరు ముందుగా నిర్మించిన మోడల్ను డౌన్లోడ్ చేసుకోవచ్చు.
నమూనాలను ముందుగా నిర్మించండి
క్రింది ప్రీ-బిల్డ్ మోడల్స్ ఉన్నాయి:
స్థిరమైన వ్యాప్తి నమూనాను EC2కి అమలు చేయండి
బెంటోను EC2కి అమర్చడానికి, మేము bentoctlని ఉపయోగిస్తాము. bentoctl మీ బెంటోలను దేనికైనా అమర్చవచ్చు క్లౌడ్ ప్లాట్ఫాం టెర్రాఫార్మ్ ఉపయోగించి. Terraform ఫైల్లను రూపొందించడానికి మరియు వర్తింపజేయడానికి, AWS EC2 ఆపరేటర్ని ఇన్స్టాల్ చేయండి.
విస్తరణ config.yaml ఫైల్లో, విస్తరణ ఇప్పటికే కాన్ఫిగర్ చేయబడింది. దయచేసి మీ అవసరాలకు అనుగుణంగా సవరించడానికి సంకోచించకండి. బెంటో g4dn.xlarge హోస్ట్లో డిఫాల్ట్గా అమలు చేయబడుతుంది డీప్ లెర్నింగ్ AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) US-వెస్ట్-1 ప్రాంతంలో AMI.
ఇప్పుడు Terraform ఫైల్లను సృష్టించండి. డాకర్ చిత్రాన్ని సృష్టించండి మరియు దానిని AWS ECRకి అప్లోడ్ చేయండి. మీ బ్యాండ్విడ్త్పై ఆధారపడి, ఇమేజ్ అప్లోడ్ చేయడానికి చాలా సమయం పట్టవచ్చు. AWS EC2కి బెంటోను అమర్చినప్పుడు, Terraform ఫైల్లను ఉపయోగించండి.
స్వాగర్ UIని యాక్సెస్ చేయడానికి, EC2 కన్సోల్కి కనెక్ట్ చేసి, బ్రౌజర్లో పబ్లిక్ IP చిరునామాను తెరవండి. చివరగా, స్థిరమైన విస్తరణ BentoML సేవ ఇకపై అవసరం లేకపోతే, విస్తరణను తీసివేయండి.
ముగింపు
SD మరియు దాని సహచర మోడల్లు ఎంత ఆకర్షణీయంగా మరియు శక్తివంతమైనవో మీరు చూడగలరు. మేము భావనపై మరింత మళ్ళించాలా లేదా మరింత అధునాతన విధానాలకు వెళతామా అనేది కాలమే చెబుతుంది.
అయినప్పటికీ, పరిసరాలను మరియు సూచనలను మెరుగ్గా గ్రహించడానికి సర్దుబాట్లతో పెద్ద మోడళ్లకు శిక్షణ ఇచ్చే కార్యక్రమాలు ప్రస్తుతం జరుగుతున్నాయి. మేము BentoMLని ఉపయోగించి స్థిరమైన వ్యాప్తి సేవను అభివృద్ధి చేయడానికి ప్రయత్నించాము మరియు దానిని AWS EC2కి అమలు చేసాము.
AWS EC2లో సేవను అమలు చేయడం ద్వారా మేము మరింత శక్తివంతమైన హార్డ్వేర్పై స్థిరమైన డిఫ్యూజన్ మోడల్ను అమలు చేయగలిగాము, తక్కువ జాప్యంతో చిత్రాలను సృష్టించగలిగాము మరియు ఒకే కంప్యూటర్కు మించి విస్తరించగలిగాము.
సమాధానం ఇవ్వూ