हामी हरेक हप्ता अत्याधुनिक प्रविधिको बारेमा घोषणाहरू सहित, रोमाञ्चक समयमा बाँचिरहेका छौं। OpenAI ले भर्खरै अत्याधुनिक टेक्स्ट-टू-इमेज मोडेल DALLE 2 जारी गर्यो।
केवल केही व्यक्तिहरूले नयाँ AI प्रणालीमा प्रारम्भिक पहुँच प्राप्त गरे जसले प्राकृतिक भाषा विवरणहरूबाट यथार्थपरक ग्राफिक्स उत्पन्न गर्न सक्छ। यो अझै पनि जनताको लागि बन्द छ।
स्थिरता AI त्यसपछि जारी गरियो स्थिर प्रसार मोडेल, DALLE2 को खुला स्रोत संस्करण। यो प्रक्षेपणले सबै परिवर्तन गरेको छ। सबै इन्टरनेटमा मानिसहरू द्रुत नतिजाहरू प्रकाशित गर्दै थिए र यथार्थपरक कलाबाट छक्क पर्दै थिए।
स्थिर प्रसार के हो?
स्थिर प्रसार पाठबाट छविहरू सिर्जना गर्न, पाठको आधारमा छविहरू परिवर्तन गर्न, र कम-रिजोल्युसन वा कम-विवरण छविहरूमा विवरणहरू भर्न सक्षम मेसिन लर्निङ मोडेल हो।
यसलाई अरबौं तस्बिरहरूमा तालिम दिइएको थियो र बराबर परिणामहरू प्रदान गर्न सक्छ DALL-E2 र मिड जर्नी. स्थिरता AI यसलाई आविष्कार गर्नुभयो, र यो अगस्त 22, 2022 मा सार्वजनिक गरिएको थियो।
तर सीमित स्थानीय कम्प्युटेशनल स्रोतहरूसँग, स्थिर प्रसार मोडेलले उच्च गुणस्तरका चित्रहरू सिर्जना गर्न लामो समय लिन्छ। क्लाउड प्रदायक प्रयोग गरेर मोडेल अनलाइन चलाउँदा हामीलाई लगभग असीम कम्प्युटेशनल स्रोतहरू प्रदान गर्दछ र हामीलाई उत्कृष्ट परिणामहरू धेरै छिटो प्राप्त गर्न अनुमति दिन्छ।
मोडेललाई माइक्रोसर्भिसको रूपमा होस्ट गर्नाले अन्य रचनात्मक एपहरूलाई पनि ML मोडेलहरू अनलाइन चलाउने जटिलताहरूको सामना नगरी मोडेलको सम्भावनालाई अझ सजिलैसँग प्रयोग गर्न अनुमति दिन्छ।
यस पोष्टमा, हामी कसरी एक स्थिर प्रसार मोडेल विकास गर्ने र AWS मा तैनात गर्ने प्रदर्शन गर्ने प्रयास गर्नेछौं।
स्थिर प्रसार निर्माण र तैनाती गर्नुहोस्
BentoML र Amazon Web Services EC2 Stable Diffusion मोडेल अनलाइन होस्ट गर्नका लागि दुई विकल्पहरू हुन्। 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 फाइलले आवश्यक फाइलहरू र निर्भरताहरू परिभाषित गर्दछ।
बेन्टो निर्माण गर्न तलको आदेश प्रयोग गर्नुहोस्। बेन्टो एउटा बेन्टोएमएल सेवाको लागि वितरण ढाँचा हो। यो एक आत्म-निहित अभिलेख हो जसमा सेवा सुरु गर्न आवश्यक सबै डाटा र कन्फिगरेसनहरू समावेश छन्।
स्थिर प्रसार बेन्टो पूरा भएको छ। यदि तपाइँ बेन्टो राम्रोसँग उत्पन्न गर्न असमर्थ हुनुहुन्थ्यो भने, नडराउनुहोस्; तपाइँ अर्को खण्डमा सूचीबद्ध आदेशहरू प्रयोग गरेर पूर्व-निर्मित मोडेल डाउनलोड गर्न सक्नुहुन्छ।
पूर्व-निर्माण मोडेलहरू
निम्न पूर्व-निर्माण मोडेलहरू छन्:
EC2 मा स्थिर प्रसार मोडेल तैनात गर्नुहोस्
EC2 मा बेन्टो डिप्लोय गर्न, हामी बेन्टोक्टल प्रयोग गर्नेछौं। bentoctl ले तपाइँलाई तपाइँको bentos कुनै पनि मा तैनात गर्न दिन सक्छ क्लाउड प्लेटफर्म Terraform प्रयोग गर्दै। Terraform फाइलहरू बनाउन र लागू गर्न, AWS EC2 अपरेटर स्थापना गर्नुहोस्।
डिप्लोयमेन्ट config.yaml फाइलमा, डिप्लोयमेन्ट पहिले नै कन्फिगर गरिएको छ। कृपया आफ्नो आवश्यकताहरु सम्पादन गर्न स्वतन्त्र महसुस गर्नुहोस्। बेन्टोलाई पूर्वनिर्धारित रूपमा g4dn.xlarge होस्टमा प्रयोग गरिन्छ गहिरो अध्ययन AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) US-west-1 क्षेत्रमा AMI।
अब Terraform फाइलहरू सिर्जना गर्नुहोस्। डकर छवि सिर्जना गर्नुहोस् र यसलाई AWS ECR मा अपलोड गर्नुहोस्। तपाईंको ब्यान्डविथमा निर्भर गर्दै, छवि अपलोड गर्न लामो समय लाग्न सक्छ। AWS EC2 मा बेन्टो डिप्लोइ गर्दा, Terraform फाइलहरू प्रयोग गर्नुहोस्।
Swagger UI पहुँच गर्न, EC2 कन्सोलमा जडान गर्नुहोस् र ब्राउजरमा सार्वजनिक IP ठेगाना खोल्नुहोस्। अन्तमा, यदि स्थिर प्रसार BentoML सेवा आवश्यक छैन भने, तैनाती हटाउनुहोस्।
निष्कर्ष
तपाईंले SD र यसको साथी मोडेलहरू कति आकर्षक र शक्तिशाली छन् भनेर हेर्न सक्षम हुनुपर्दछ। समयले बताउनेछ कि हामी अवधारणालाई थप दोहोर्याउनेछौं वा थप परिष्कृत दृष्टिकोणहरूमा जान्छौं।
यद्यपि, परिवेश र निर्देशनहरूलाई राम्रोसँग बुझ्नको लागि समायोजनका साथ ठूला मोडेलहरूलाई तालिम दिन पहलहरू भइरहेका छन्। हामीले BentoML प्रयोग गरेर स्थिर प्रसार सेवा विकास गर्ने प्रयास गर्यौं र यसलाई AWS EC2 मा तैनात गर्यौं।
हामीले अधिक शक्तिशाली हार्डवेयरमा स्थिर प्रसार मोडेल चलाउन, कम विलम्बता भएका तस्बिरहरू सिर्जना गर्न र AWS EC2 मा सेवा प्रयोग गरेर एकल कम्प्युटरभन्दा बाहिर विस्तार गर्न सक्षम भयौं।
जवाफ छाड्नुस्