हम हर हफ्ते अत्याधुनिक तकनीक के बारे में घोषणाओं के साथ रोमांचक समय में रहते हैं। OpenAI ने अभी-अभी अत्याधुनिक टेक्स्ट-टू-इमेज मॉडल DALLE 2 जारी किया है।
केवल कुछ ही लोगों को एक नई एआई प्रणाली तक जल्दी पहुंच प्राप्त हुई जो प्राकृतिक भाषा विवरण से यथार्थवादी ग्राफिक्स उत्पन्न कर सकती है। यह अभी भी जनता के लिए बंद है।
स्थिरता एआई ने तब जारी किया स्थिर प्रसार मॉडल, DALLE2 का एक ओपन-सोर्स संस्करण। इस लॉन्च ने सब कुछ बदल दिया है। पूरे इंटरनेट पर लोग त्वरित परिणाम प्रकाशित कर रहे थे और यथार्थवादी कला से आश्चर्यचकित थे।
स्थिर प्रसार क्या है?
स्थिर प्रसार एक मशीन लर्निंग मॉडल है जो पाठ से चित्र बनाने, पाठ के आधार पर छवियों को बदलने और कम-रिज़ॉल्यूशन या कम-विवरण वाली छवियों पर विवरण भरने में सक्षम है।
इसे अरबों फ़ोटो पर प्रशिक्षित किया गया था और यह के बराबर परिणाम दे सकता है दाल-ई 2 और मध्य यात्रा. स्थिरता एआई इसका आविष्कार किया, और इसे 22 अगस्त, 2022 को सार्वजनिक किया गया।
लेकिन सीमित स्थानीय कम्प्यूटेशनल संसाधनों के साथ, स्थिर डिफ्यूजन मॉडल को उच्च गुणवत्ता वाले चित्र बनाने में लंबा समय लगता है। क्लाउड प्रदाता का उपयोग करके मॉडल को ऑनलाइन चलाना हमें लगभग अनंत कम्प्यूटेशनल संसाधन प्रदान करता है और हमें बहुत तेजी से उत्कृष्ट परिणाम प्राप्त करने की अनुमति देता है।
मॉडल को माइक्रोसर्विस के रूप में होस्ट करने से अन्य रचनात्मक ऐप्स को ऑनलाइन एमएल मॉडल चलाने की जटिलताओं से निपटने के बिना मॉडल की क्षमता का अधिक आसानी से दोहन करने की अनुमति मिलती है।
इस पोस्ट में, हम यह प्रदर्शित करने का प्रयास करेंगे कि एक स्थिर प्रसार मॉडल कैसे विकसित किया जाए और इसे AWS में कैसे तैनात किया जाए।
स्थिर प्रसार का निर्माण और तैनाती
बेंटोएमएल और Amazon Web Services EC2 स्टेबल डिफ्यूजन मॉडल को ऑनलाइन होस्ट करने के लिए दो विकल्प हैं। बेंटोएमएल स्केलिंग के लिए एक खुला स्रोत ढांचा है यंत्र अधिगम सेवाएं। बेंटोएमएल के साथ, हम एक विश्वसनीय फैलाव सेवा का निर्माण करेंगे और इसे एडब्ल्यूएस ईसी2 में तैनात करेंगे।
पर्यावरण तैयार करना और स्थिर प्रसार मॉडल डाउनलोड करना
आवश्यकताओं को स्थापित करें और रिपॉजिटरी को क्लोन करें।
आप स्थिर प्रसार मॉडल का चयन और डाउनलोड कर सकते हैं। एकल परिशुद्धता 10GB से अधिक VRAM वाले CPU या GPU के लिए उपयुक्त है। 10GB से कम VRAM वाले GPU के लिए आधी सटीकता आदर्श है।
स्थिर प्रसार का निर्माण
हम एक के पीछे मॉडल की सेवा के लिए एक बेंटोएमएल सेवा का निर्माण करेंगे रसीला एपीआई. निम्न उदाहरण भविष्यवाणी के लिए एकल सटीक मॉडल और सेवा को व्यावसायिक तर्क से जोड़ने के लिए service.py मॉड्यूल का उपयोग करता है। हम एपीआई के रूप में कार्यों को @ svc.api के साथ टैग करके उजागर कर सकते हैं।
इसके अलावा, हम पैरामीटर में एपीआई के इनपुट और आउटपुट प्रकारों को परिभाषित कर सकते हैं। txt2img एंडपॉइंट, उदाहरण के लिए, एक JSON इनपुट प्राप्त करता है और एक इमेज आउटपुट उत्पन्न करता है, जबकि img2img एंडपॉइंट एक इमेज और एक JSON इनपुट को स्वीकार करता है और एक इमेज आउटपुट देता है।
एक StableDiffusionRunnable आवश्यक अनुमान तर्क को परिभाषित करता है। रननेबल मॉडल की txt2img पाइप विधियों को चलाने और संबंधित इनपुट में भेजने का प्रभारी है। एपीआई में मॉडल अनुमान तर्क को चलाने के लिए, एक कस्टम रनर का निर्माण StableDiffusionRunnable से किया गया है।
फिर, परीक्षण के लिए BentoML सेवा प्रारंभ करने के लिए निम्न आदेश का उपयोग करें। स्थानीय रूप से चला रहा है स्थिर प्रसार मॉडल सीपीयू पर अनुमान बल्कि सुस्त है। प्रत्येक अनुरोध को संसाधित होने में लगभग 5 मिनट लगेंगे।
छवि के लिए पाठ
छवि आउटपुट के लिए पाठ
Bentofile.yaml फ़ाइल आवश्यक फ़ाइलों और निर्भरताओं को परिभाषित करती है।
बेंटो बनाने के लिए नीचे दिए गए कमांड का उपयोग करें। एक बेंटो एक बेंटोएमएल सेवा के लिए वितरण प्रारूप है। यह एक स्व-निहित संग्रह है जिसमें सेवा शुरू करने के लिए आवश्यक सभी डेटा और कॉन्फ़िगरेशन शामिल हैं।
स्थिर प्रसार बेंटो पूरा हो गया है। यदि आप बेंटो को ठीक से उत्पन्न करने में असमर्थ थे, तो घबराएं नहीं; आप अगले भाग में सूचीबद्ध आदेशों का उपयोग करके पूर्व-निर्मित मॉडल डाउनलोड कर सकते हैं।
प्री-बिल्ड मॉडल
प्री-बिल्ड मॉडल निम्नलिखित हैं:
स्थिर प्रसार मॉडल को EC2 में परिनियोजित करें
बेंटो को ईसी 2 में तैनात करने के लिए, हम बेंटोक्टेल का उपयोग करेंगे। Bentoctl आपको अपने बेंटो को किसी भी स्थान पर तैनात करने दे सकता है बादल मंच टेराफॉर्म का उपयोग करना। टेराफ़ॉर्म फ़ाइलें बनाने और लागू करने के लिए, AWS EC2 ऑपरेटर स्थापित करें।
परिनियोजन config.yaml फ़ाइल में, परिनियोजन पहले ही कॉन्फ़िगर किया जा चुका है। कृपया अपनी आवश्यकताओं को संपादित करने के लिए स्वतंत्र महसूस करें। बेंटो को डिफ़ॉल्ट रूप से g4dn.xlarge होस्ट पर तैनात किया जाता है गहरी सीख AMI GPU PyTorch 1.12.0 (उबंटू 20.04) AMI us-west-1 क्षेत्र पर।
टेराफॉर्म फाइलें अभी बनाएं। डॉकर छवि बनाएं और इसे एडब्ल्यूएस ईसीआर पर अपलोड करें। आपके बैंडविड्थ के आधार पर, छवि अपलोड करने में लंबा समय लग सकता है। एडब्ल्यूएस ईसी 2 में बेंटो को तैनात करने पर टेराफॉर्म फाइलों का उपयोग करें।
स्वैगर यूआई तक पहुंचने के लिए, ईसी2 कंसोल से कनेक्ट करें और एक ब्राउज़र में सार्वजनिक आईपी पता खोलें। अंत में, यदि स्थिर डिफ्यूजन बेंटोएमएल सेवा की अब आवश्यकता नहीं है, तो परिनियोजन को हटा दें।
निष्कर्ष
आपको यह देखने में सक्षम होना चाहिए कि एसडी और उसके साथी मॉडल कितने आकर्षक और शक्तिशाली हैं। समय बताएगा कि क्या हम अवधारणा पर और आगे बढ़ेंगे या अधिक परिष्कृत दृष्टिकोणों पर आगे बढ़ेंगे।
हालांकि, परिवेश और निर्देशों को बेहतर ढंग से समझने के लिए समायोजन के साथ बड़े मॉडलों को प्रशिक्षित करने के लिए वर्तमान में पहल चल रही है। हमने BentoML का उपयोग करके स्थिर प्रसार सेवा विकसित करने का प्रयास किया और इसे AWS EC2 में परिनियोजित किया।
हम अधिक शक्तिशाली हार्डवेयर पर स्थिर डिफ्यूजन मॉडल को चलाने, कम विलंबता के साथ चित्र बनाने और AWS EC2 पर सेवा को तैनात करके एकल कंप्यूटर से आगे बढ़ाने में सक्षम थे।
एक जवाब लिखें