आम्ही प्रत्येक आठवड्यात अत्याधुनिक तंत्रज्ञानाच्या घोषणांसह रोमांचक काळात जगतो. 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 साठी अर्धी अचूकता आदर्श आहे.
बिल्डिंग स्थिर प्रसार
a च्या मागे असलेल्या मॉडेलची सेवा देण्यासाठी आम्ही BentoML सेवा तयार करू विश्वसनीय API. खालील उदाहरण अंदाजासाठी सिंगल प्रिसिजन मॉडेल आणि सेवेला बिझनेस लॉजिकशी जोडण्यासाठी service.py मॉड्यूल वापरते. @svc.api सह टॅग करून आम्ही APIs म्हणून कार्ये उघड करू शकतो.
शिवाय, आम्ही एपीआयचे इनपुट आणि आउटपुट प्रकार पॅरामीटर्समध्ये परिभाषित करू शकतो. txt2img एंडपॉइंट, उदाहरणार्थ, JSON इनपुट प्राप्त करतो आणि इमेज आउटपुट तयार करतो, तर img2img एंडपॉइंट इमेज आणि JSON इनपुट स्वीकारतो आणि इमेज आउटपुट परत करतो.
StableDiffusionRunnable आवश्यक अनुमान तर्क परिभाषित करते. रननेबल हे मॉडेलच्या txt2img पाईप पद्धती चालवण्याचे आणि संबंधित इनपुट्स पाठविण्याचे प्रभारी आहे. API मध्ये मॉडेल अनुमान लॉजिक चालविण्यासाठी, StableDiffusionRunnable वरून कस्टम रनर तयार केला जातो.
त्यानंतर, चाचणीसाठी BentoML सेवा सुरू करण्यासाठी खालील आदेश वापरा. स्थानिक पातळीवर चालत आहे स्थिर प्रसार मॉडेल CPU वरील अनुमान ऐवजी सुस्त आहे. प्रत्येक विनंतीवर प्रक्रिया करण्यासाठी सुमारे 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 वर सेवा उपयोजित करून एका संगणकाच्या पलीकडे विस्तार करू शकलो.
प्रत्युत्तर द्या