અમે આકર્ષક સમયમાં જીવીએ છીએ, જેમાં દર અઠવાડિયે અત્યાધુનિક ટેક્નોલોજી વિશે ઘોષણાઓ થાય છે. OpenAI એ હમણાં જ અદ્યતન ટેક્સ્ટ-ટુ-ઇમેજ મોડેલ DALLE 2 રિલીઝ કર્યું છે.
માત્ર થોડા જ લોકોએ નવી AI સિસ્ટમની પ્રારંભિક ઍક્સેસ મેળવી છે જે કુદરતી ભાષાના વર્ણનોમાંથી વાસ્તવિક ગ્રાફિક્સ જનરેટ કરી શકે છે. તે હજુ પણ લોકો માટે બંધ છે.
સ્થિરતા AI એ પછી રિલીઝ કર્યું સ્થિર પ્રસરણ મોડેલ, DALLE2 નું ઓપન સોર્સ વેરિઅન્ટ. આ લોન્ચે બધું જ બદલી નાખ્યું છે. સમગ્ર ઈન્ટરનેટ પર લોકો ઝડપી પરિણામો પ્રકાશિત કરી રહ્યા હતા અને વાસ્તવિક કલાથી આશ્ચર્ય પામી રહ્યા હતા.
સ્થિર પ્રસાર શું છે?
સ્થિર પ્રસરણ એક મશીન લર્નિંગ મોડલ છે જે ટેક્સ્ટમાંથી ઇમેજ બનાવવા, ટેક્સ્ટના આધારે ઇમેજ બદલવા અને ઓછા-રિઝોલ્યુશન અથવા ઓછી-વિગતવાર ઇમેજ પર વિગતો ભરવા માટે સક્ષમ છે.
તેને અબજો ફોટા પર તાલીમ આપવામાં આવી હતી અને તે સમકક્ષ પરિણામો આપી શકે છે DALL-E2 અને મિડજર્ની. સ્થિરતા AI તેની શોધ કરી, અને તે 22 ઓગસ્ટ, 2022 ના રોજ જાહેર કરવામાં આવી.
પરંતુ મર્યાદિત સ્થાનિક કોમ્પ્યુટેશનલ સંસાધનો સાથે, સ્ટેબલ ડિફ્યુઝન મોડલ ઉચ્ચ-ગુણવત્તાવાળા ચિત્રો બનાવવામાં લાંબો સમય લે છે. ક્લાઉડ પ્રદાતાનો ઉપયોગ કરીને મોડલને ઓનલાઈન ચલાવવાથી અમને લગભગ અનંત કોમ્પ્યુટેશનલ સંસાધનો મળે છે અને અમને ખૂબ જ ઝડપથી ઉત્તમ પરિણામો પ્રાપ્ત કરવા દે છે.
મૉડલને માઇક્રોસર્વિસ તરીકે હોસ્ટ કરવાથી અન્ય ક્રિએટિવ ઍપને ML મૉડલ્સ ઑનલાઇન ચલાવવાની જટિલતાઓનો સામનો કર્યા વિના મૉડલની સંભવિતતાનો વધુ સરળતાથી ઉપયોગ કરવાની મંજૂરી મળે છે.
આ પોસ્ટમાં, અમે એક સ્થિર પ્રસરણ મોડેલ કેવી રીતે વિકસાવવું અને તેને AWS પર જમાવવું તે દર્શાવવાનો પ્રયાસ કરીશું.
સ્થિર પ્રસાર બનાવો અને જમાવો
બેન્ટોએમએલ અને Amazon Web Services EC2 એ સ્ટેબલ ડિફ્યુઝન મોડલને ઓનલાઈન હોસ્ટ કરવા માટેના બે વિકલ્પો છે. BentoML સ્કેલિંગ માટે ઓપન સોર્સ ફ્રેમવર્ક છે મશીન શિક્ષણ સેવાઓ. બેન્ટોએમએલ સાથે, અમે વિશ્વસનીય વિક્ષેપ સેવા બનાવીશું અને તેને AWS EC2 પર તૈનાત કરીશું.
પર્યાવરણની તૈયારી કરી રહ્યા છીએ અને સ્થિર પ્રસરણ મોડલ ડાઉનલોડ કરો
આવશ્યકતાઓને ઇન્સ્ટોલ કરો અને રિપોઝીટરીને ક્લોન કરો.
તમે સ્ટેબલ ડિફ્યુઝન મોડલ પસંદ અને ડાઉનલોડ કરી શકો છો. 10GB કરતાં વધુ VRAM ધરાવતા CPUs અથવા GPU માટે સિંગલ પ્રિસિઝન યોગ્ય છે. 10GB VRAM કરતાં ઓછા GPU માટે અડધી ચોકસાઇ આદર્શ છે.
બિલ્ડીંગ સ્ટેબલ પ્રસરણ
અમે એક પાછળના મોડેલને સેવા આપવા માટે બેન્ટોએમએલ સેવા બનાવીશું RESTful API. નીચેનું ઉદાહરણ અનુમાન માટે સિંગલ પ્રિસિઝન મોડલ અને સર્વિસને બિઝનેસ લોજિક સાથે કનેક્ટ કરવા માટે service.py મોડ્યુલનો ઉપયોગ કરે છે. અમે @svc.api સાથે ટેગ કરીને APIs તરીકે ફંક્શન્સને એક્સપોઝ કરી શકીએ છીએ.
વધુમાં, અમે પરિમાણોમાં API ના ઇનપુટ અને આઉટપુટ પ્રકારોને વ્યાખ્યાયિત કરી શકીએ છીએ. txt2img એન્ડપોઇન્ટ, ઉદાહરણ તરીકે, JSON ઇનપુટ મેળવે છે અને ઇમેજ આઉટપુટ બનાવે છે, જ્યારે img2img એન્ડપોઇન્ટ ઇમેજ અને JSON ઇનપુટ સ્વીકારે છે અને ઇમેજ આઉટપુટ પરત કરે છે.
StableDiffusionRunnable આવશ્યક અનુમાન તર્ક વ્યાખ્યાયિત કરે છે. રનનેબલ મોડેલની txt2img પાઇપ પદ્ધતિઓ ચલાવવા અને સંબંધિત ઇનપુટ્સ મોકલવાનો હવાલો ધરાવે છે. API માં મોડેલ અનુમાન તર્કને ચલાવવા માટે, સ્ટેબલડિફ્યુઝનરનેબલમાંથી કસ્ટમ રનર બનાવવામાં આવે છે.
પછી, પરીક્ષણ માટે બેન્ટોએમએલ સેવા શરૂ કરવા માટે નીચેના આદેશનો ઉપયોગ કરો. સ્થાનિક રીતે ચલાવી રહ્યા છે સ્થિર પ્રસાર મોડેલ CPUs પર અનુમાન તેના બદલે સુસ્ત છે. દરેક વિનંતી પર પ્રક્રિયા કરવામાં લગભગ 5 મિનિટનો સમય લાગશે.
ટેક્સ્ટ ટુ ઈમેજ
ટેક્સ્ટ ટુ ઇમેજ આઉટપુટ
bentofile.yaml ફાઇલ જરૂરી ફાઇલો અને નિર્ભરતાને વ્યાખ્યાયિત કરે છે.
બેન્ટો બનાવવા માટે નીચેના આદેશનો ઉપયોગ કરો. બેન્ટો એ બેન્ટોએમએલ સેવા માટે વિતરણ ફોર્મેટ છે. તે સ્વયં-સમાયેલ આર્કાઇવ છે જેમાં સેવા શરૂ કરવા માટે જરૂરી તમામ ડેટા અને ગોઠવણીઓ શામેલ છે.
સ્ટેબલ ડિફ્યુઝન બેન્ટો પૂર્ણ થઈ ગયું છે. જો તમે બેન્ટો યોગ્ય રીતે જનરેટ કરવામાં અસમર્થ હતા, તો ગભરાશો નહીં; તમે આગલા વિભાગમાં સૂચિબદ્ધ આદેશોનો ઉપયોગ કરીને પ્રી-બિલ્ટ મોડલ ડાઉનલોડ કરી શકો છો.
પ્રી-બિલ્ડ મોડલ્સ
નીચેના પ્રી-બિલ્ડ મોડલ છે:
EC2 પર સ્થિર પ્રસાર મોડલનો ઉપયોગ કરો
બેન્ટોને EC2 પર જમાવવા માટે, અમે બેન્ટોક્ટલનો ઉપયોગ કરીશું. bentoctl તમને તમારા બેન્ટોસને કોઈપણ પર જમાવવા દે છે મેઘ પ્લેટફોર્મ ટેરાફોર્મનો ઉપયોગ કરીને. ટેરાફોર્મ ફાઇલો બનાવવા અને લાગુ કરવા માટે, AWS EC2 ઓપરેટર ઇન્સ્ટોલ કરો.
જમાવટ config.yaml ફાઇલમાં, જમાવટ પહેલાથી જ ગોઠવેલ છે. કૃપા કરીને તમારી જરૂરિયાતોને સંપાદિત કરવા માટે મફત લાગે. બેન્ટો ડિફૉલ્ટ રૂપે g4dn.xlarge હોસ્ટ પર જમાવવામાં આવે છે ડીપ લર્નિંગ AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) Us-west-1 પ્રદેશ પર AMI.
હવે ટેરાફોર્મ ફાઇલો બનાવો. ડોકર ઇમેજ બનાવો અને તેને AWS ECR પર અપલોડ કરો. તમારી બેન્ડવિડ્થના આધારે, છબી અપલોડ કરવામાં લાંબો સમય લાગી શકે છે. બેન્ટોને AWS EC2 પર તૈનાત કરવા પર, ટેરાફોર્મ ફાઇલોનો ઉપયોગ કરો.
Swagger UI ને ઍક્સેસ કરવા માટે, EC2 કન્સોલ સાથે કનેક્ટ કરો અને બ્રાઉઝરમાં જાહેર IP સરનામું ખોલો. છેલ્લે, જો સ્ટેબલ ડિફ્યુઝન બેન્ટોએમએલ સેવા હવે જરૂરી નથી, તો જમાવટ દૂર કરો.
ઉપસંહાર
તમે SD અને તેના સાથી મોડેલો કેટલા આકર્ષક અને શક્તિશાળી છે તે જોવા માટે સમર્થ હોવા જોઈએ. સમય જ કહેશે કે શું આપણે ખ્યાલ પર વધુ પુનરાવર્તન કરીશું કે વધુ આધુનિક અભિગમો તરફ આગળ વધીશું.
જો કે, આસપાસના વાતાવરણ અને સૂચનાઓને વધુ સારી રીતે સમજવા માટે ગોઠવણો સાથે મોટા મોડલ્સને તાલીમ આપવા માટે હાલમાં પહેલ ચાલી રહી છે. અમે BentoML નો ઉપયોગ કરીને સ્ટેબલ ડિફ્યુઝન સેવા વિકસાવવાનો પ્રયાસ કર્યો અને તેને AWS EC2 પર તૈનાત કર્યો.
અમે વધુ શક્તિશાળી હાર્ડવેર પર સ્ટેબલ ડિફ્યુઝન મોડલ ચલાવવામાં, ઓછી વિલંબતા સાથે ચિત્રો બનાવવા અને AWS EC2 પર સેવાનો ઉપયોગ કરીને એક કમ્પ્યુટરથી આગળ વિસ્તારવામાં સક્ષમ હતા.
એક જવાબ છોડો