ControlNet आणि StarCoder: जनरेटिव्ह एआयसाठी Roblox संशोधनातील प्रगती

आम्ही कृत्रिम बुद्धिमत्ता (AI) यासह सर्वच क्षेत्रांमध्ये जबाबदार आणि समुदायाशी संलग्न संशोधन करण्यासाठी पूर्णपणे कटिबद्ध आहोत. पारदर्शकता, बाह्य पडताळणी आणि सहकार्य व प्रायोजनाद्वारे शैक्षणिक संस्थांना पाठबळ देऊन आम्ही हे साध्य करतो. या दृष्टिकोनामुळे आमच्या तीन मुख्य लक्ष केंद्रित क्षेत्रांमध्ये: जनरेटिव्ह AI, डेटा सेंटर स्केलिंग आणि ऑनलाइन सुरक्षा, सर्वात मोठी प्रगती साध्य करण्यास गती मिळते. आज, आम्ही आमच्या दोन जनरेटिव्ह एआय संशोधन प्रकल्पांमधील अंतर्दृष्टी आणि निकाल शेअर करत आहोत. ControlNet हे एक ओपन-सोर्स न्यूरल नेटवर्क आहे जे अधिक अचूक प्रतिमा आउटपुटसाठी प्रतिमा निर्मिती मॉडेल्समध्ये सशर्त नियंत्रण जोडते. StarCoder हा कोड निर्मितीसाठीचा एक अत्याधुनिक ओपन-सोर्स लार्ज लँग्वेज मॉडेल (LLM) आहे.
हे दोन्ही प्रकल्प शैक्षणिक आणि उद्योग क्षेत्रातील सहकार्य आहेत. दोन्ही आमच्या निर्मात्यांसाठी - 3D कलाकार आणि प्रोग्रामर - अधिक सामर्थ्यशाली साधनांवर लक्ष केंद्रित करतात. सर्वात महत्त्वाचे म्हणजे, परिवर्तनीय संशोधनाद्वारे दीर्घकालीन दृष्टीकोनात गुंतवणूक करण्याच्या आमच्या ध्येयाशी सुसंगत, हे प्रकल्प अनेक अनुप्रयोगांसाठी मूलभूत वैज्ञानिक समज आणि AI वर नियंत्रण यामध्ये प्रगतीची चिन्हे दर्शवतात. आम्हाला विश्वास आहे की या कामाचा Roblox च्या भविष्यावर आणि संपूर्ण क्षेत्रावर महत्त्वपूर्ण परिणाम होऊ शकतो आणि आम्हाला ते मोकळेपणाने शेअर करताना अभिमान वाटतो.
ControlNet
अलीकडील एआयमधील महत्त्वपूर्ण प्रगती — विशेषतः डीप न्यूरल नेटवर्कचा वापर करणाऱ्या डेटा-चालित मशीन लर्निंग (ML) पद्धती — ने निर्मिती साधनांमध्ये नवीन प्रगती घडवून आणली आहे. या प्रगतीमध्ये आमच्या कोड असिस्ट आणि मटेरियल जनरेटर या वैशिष्ट्यांचा समावेश आहे, जी आमच्या मोफत साधन, Roblox Studio मध्ये सार्वजनिकपणे उपलब्ध आहेत. आधुनिक जनरेटिव्ह एआय प्रणालींमध्ये 'मॉडेल' नावाच्या डेटा संरचना असतात ज्या अब्जावधी प्रशिक्षण ऑपरेशन्सद्वारे परिष्कृत केल्या जातात. आजचे सर्वात शक्तिशाली मॉडेल बहुमोडल (multimodal) असतात, म्हणजेच ते मजकूर, प्रतिमा आणि ऑडिओ यांसारख्या विविध माध्यमांच्या मिश्रणावर प्रशिक्षित केलेले असतात. यामुळे ते डेटा सेटमधील विशिष्ट घटकांवर (उदा. रंगसंगती किंवा स्पेलिंग) अती-अनुकूलन (overfitting) न करता, विविध माध्यमांमधील सामायिक अंतर्निहित अर्थ शोधू शकतात.
या नवीन AI प्रणालींमध्ये महत्त्वपूर्ण अभिव्यक्ती शक्ती आहे, परंतु ती शक्ती मोठ्या प्रमाणात "प्रॉम्प्ट इंजिनिअरिंग" द्वारे निर्देशित केली जाते. असे करण्याचा अर्थ म्हणजे इनपुट मजकूर फक्त बदलणे, जसे एखाद्या शोध इंजिनच्या क्वेरीमध्ये अपेक्षित निकाल न आल्यास ती सुधारणे. जरी एखाद्या अनियंत्रित चॅटबॉटसारख्या नवीन तंत्रज्ञानासोबत खेळण्याचा हा एक आकर्षक मार्ग असू शकतो, तरीही सामग्री तयार करण्याचा हा एक कार्यक्षम किंवा प्रभावी मार्ग नाही. त्याऐवजी निर्मात्यांना अंदाजापेक्षा सक्रिय नियंत्रणाद्वारे प्रभावीपणे वापरता येतील असे शक्तिशाली साधने हवी आहेत.
ControlNet प्रकल्प हे काही आव्हानांवर उपाय शोधण्याच्या दिशेने एक पाऊल आहे. हे प्रॉम्प्ट इंजिनिअरिंगवर अवलंबून न राहता Stable Diffusion सारख्या मोठ्या पूर्व-प्रशिक्षित AI मॉडेल्सची शक्ती वापरण्याचा एक कार्यक्षम मार्ग प्रदान करते. ControlNet फक्त मजकूर प्रॉम्प्ट्सपेक्षा अधिक अतिरिक्त इनपुट अटी देण्यास कलाकारास परवानगी देऊन नियंत्रण वाढवते. Roblox चे संशोधक आणि स्टॅनफोर्ड विद्यापीठाचे प्राध्यापक मनीष अग्रवाल आणि स्टॅनफोर्ड संशोधक ल्वमिन झांग आमच्या संयुक्त ControlNet प्रकल्पासाठी उद्दिष्टे अशी मांडतात:
- जनरेटिव्ह AI साधनांसाठी एक उत्तम वापरकर्ता इंटरफेस विकसित करणे. अस्पष्ट प्रॉम्प्ट मॅनिप्युलेशनच्या पलीकडे जाऊन एखादी कल्पना किंवा सर्जनशील संकल्पना अधिक नैसर्गिक पद्धतीने व्यक्त करण्यासाठी उपाय निर्माण करणे.
- अधिक अचूक स्थानिक नियंत्रण प्रदान करणे, जेणेकरून "एखादी प्रतिमा सारखी" किंवा "एखाद्या शैलीतील प्रतिमा" बनवण्याच्या पलीकडे जाऊन निर्मात्याच्या मनात असलेली प्रतिमा अचूकपणे साकारता येईल.
- जेनरेटिव्ह एआय प्रशिक्षणाला अधिक संगणकीयदृष्ट्या कार्यक्षम प्रक्रियेत रूपांतरित करणे, जी जलद चालते, ज्यासाठी कमी मेमरी लागते आणि जी कमी विजेची ऊर्जा वापरते.
- प्रतिमा जनरेटिव्ह एआयला पुनर्वापरयोग्य बिल्डिंग ब्लॉकमध्ये विस्तारित करा. नंतर ते मानकीकृत प्रतिमा प्रक्रिया आणि 3D रेंडरिंग पाइपलाइनमध्ये समाकलित केले जाऊ शकते.
निर्मात्यांना स्थानिक नियंत्रणासाठी अतिरिक्त प्रतिमा प्रदान करण्याची परवानगी देऊन, ControlNet अंतिम तयार झालेल्या प्रतिमेवर अधिक नियंत्रण देते. उदाहरणार्थ, विद्यमान टेक्स्ट-टू-इमेज जनरेटरवर "शिंगे असलेला नर हरण" असा प्रॉम्प्ट दिल्यावर खाली दाखविल्याप्रमाणे विविध प्रकारच्या प्रतिमा तयार झाल्या:

या पूर्वीच्या AI सोल्यूशन्सनी तयार केलेल्या प्रतिमा आकर्षक आहेत, परंतु दुर्दैवाने त्या मूळतः मनमानी परिणाम आहेत—त्यावर कोणतेही नियंत्रण नाही. त्या मागील प्रतिमा निर्माण करणाऱ्या प्रणालींमध्ये, मजकूर प्रॉम्प्ट सुधारण्याशिवाय आउटपुट नियंत्रित करण्याचा कोणताही मार्ग नाही.
ControlNet वापरल्याने निर्मात्याकडे आता खूप अधिक नियंत्रण आहे. ControlNet वापरण्याचा एक मार्ग म्हणजे अनुसरण करावयाच्या सामान्य आकाराचे ठरवण्यासाठी प्रॉम्प्ट आणि स्त्रोत प्रतिमा दोन्ही प्रदान करणे. या प्रकरणात, तयार होणाऱ्या प्रतिमांमध्ये अजूनही विविधता असेल, परंतु महत्त्वाचे म्हणजे त्या निर्दिष्ट केलेला आकार कायम ठेवतील:

निर्मात्याने एजचा संच, कोणताही प्रॉम्प्ट नसलेली प्रतिमा किंवा प्रणालीला अभिव्यक्त इनपुट देण्याचे अनेक इतर मार्गही निर्दिष्ट करू शकला असता.
ControlNet तयार करण्यासाठी, आम्ही एका मोठ्या डिफ्यूजन मॉडेलच्या नेटवर्कमधील वेट्सची दोन आवृत्त्यांमध्ये क्लोन करतो. एक म्हणजे प्रशिक्षणीय नेटवर्क (हे नियंत्रण प्रदान करते; हेच "ControlNet" आहे) आणि दुसरे म्हणजे लॉक्ड नेटवर्क. लॉक्ड नेटवर्क अब्जावधी प्रतिमांमधून शिकलेली क्षमता जतन करते आणि ते कोणतेही पूर्वीचे प्रतिमा जनरेटर असू शकते. नंतर आम्ही अतिरिक्त प्रतिमेमधील सशर्त नियंत्रण शिकण्यासाठी प्रशिक्षणीय नेटवर्कला कार्य-विशिष्ट डेटासेटवर प्रशिक्षण देतो. प्रशिक्षणक्षम आणि लॉक केलेल्या प्रतींना आम्ही 'शून्य कन्व्होल्यूशन' (zero convolution) म्हणत असलेल्या एका अनोख्या प्रकारच्या कन्व्होल्यूशन लेयरद्वारे जोडतो, जिथे कन्व्होल्यूशन वेट्स शिकलेल्या पद्धतीने शून्यापासून अनुकूलित पॅरामीटर्सपर्यंत क्रमाक्रमाने वाढतात, म्हणजे सुरुवातीला त्यांचा कोणताही प्रभाव नसतो आणि सिस्टम लॉक केलेल्या नेटवर्कवर वापरण्यासाठी नियंत्रणाची सर्वोत्तम पातळी स्वतःहून ठरवते.
मूळ वेट्स लॉक केलेल्या नेटवर्कद्वारे जतन केल्यामुळे, हे मॉडेल विविध आकारांच्या प्रशिक्षण डेटासेटसह चांगले कार्य करते. आणि शून्य कॉन्व्होल्यूशन लेयर ही प्रक्रिया खूप जलद बनवते — ही प्रक्रिया शून्यापासून नवीन लेयर्स प्रशिक्षित करण्यापेक्षा डिफ्यूजन मॉडेलचे फाईन-ट्युनिंग करण्याइतकी जलद आहे.
आम्ही प्रतिमा निर्मितीसाठी या तंत्राचे व्यापक प्रमाणात प्रमाणीकरण केले आहे. ControlNet फक्त आउटपुट प्रतिमेची गुणवत्ता सुधारत नाही. तर ते एखाद्या विशिष्ट कार्यासाठी नेटवर्कचे प्रशिक्षण अधिक कार्यक्षम बनवते आणि त्यामुळे आमच्या लाखो निर्मात्यांसाठी मोठ्या प्रमाणावर ते तैनात करणे व्यावहार्य होते. प्रयोगांमध्ये, ControlNet अशा पर्यायी परिस्थितींच्या तुलनेत 10 पटपर्यंत कार्यक्षमतेची वाढ प्रदान करते ज्यासाठी मॉडेलचे पूर्णपणे पुनःप्रशिक्षण करणे आवश्यक असते. ही कार्यक्षमता अत्यंत महत्त्वाची आहे, कारण पारंपारिक सॉफ्टवेअर विकासाच्या तुलनेत नवीन मॉडेल्स तयार करण्याची प्रक्रिया वेळखाऊ आणि संसाधन-गहन असते. प्रशिक्षण अधिक कार्यक्षम बनवल्याने वीज वाचते, खर्च कमी होतो आणि नवीन कार्यक्षमता जोडण्याचा दर वाढतो.
ControlNet च्या अनन्य रचनेमुळे ते विविध आकारांच्या प्रशिक्षण डेटासेटसह आणि अनेक भिन्न प्रकारच्या माध्यमांवर चांगले कार्य करते. ControlNet फोटो, हाताने काढलेले स्क्रिबल्स आणि ओपनपोझ पोझ डिटेक्शनसह अनेक भिन्न प्रकारच्या नियंत्रण पद्धतींसह कार्य करताना आढळले आहे. आम्हाला विश्वास आहे की जनरेटिव्ह एआय सामग्रीसाठी ControlNet विविध प्रकारच्या माध्यमांवर लागू केले जाऊ शकते. हे संशोधन समुदायासाठी प्रयोग करण्यासाठी आणि त्यावर पुढे काम करण्यासाठी खुले आणि सार्वजनिकरित्या उपलब्ध आहे, आणि त्याबद्दल आम्हाला आणखी शोध लागताच आम्ही अधिक माहिती सादर करत राहू.
स्टारकोडर
जेनेरेटिव्ह एआयचा वापर प्रतिमा, ऑडिओ, मजकूर, प्रोग्राम स्रोत कोड किंवा इतर कोणत्याही प्रकारचे समृद्ध माध्यम तयार करण्यासाठी केला जाऊ शकतो. तथापि, विविध माध्यमांमध्ये, सर्वाधिक यशस्वी ऍप्लिकेशन्स तेच असतात ज्यांचे आउटपुट व्यक्तिनिष्ठपणे मोजले जाते. उदाहरणार्थ, एखादी प्रतिमा मानवी प्रेक्षकाला आवडली की ती यशस्वी होते. जर एकूण प्रतिमा आकर्षक असेल, तर त्यातील काही त्रुटी, जसे की कडांवरील विचित्र वैशिष्ट्ये किंवा हातात एक अतिरिक्त बोट असणे, लक्षात येत नाहीत. त्याचप्रमाणे, एखाद्या कविता किंवा लघुकथेत व्याकरणीय चुका किंवा काही तार्किक उड्या असू शकतात, परंतु जर त्याचा सार आकर्षक असेल, तर आपण त्या क्षमतेने घेतो.
व्यक्तिनिष्ठ निकषांचा विचार करण्याचा आणखी एक मार्ग म्हणजे निकाल क्षेत्र सतत असते. एक निकाल दुसऱ्यापेक्षा चांगला असू शकतो, परंतु असा कोणताही विशिष्ट थ्रेशोल्ड नाही ज्यावर निकाल पूर्णपणे स्वीकारार्ह किंवा अस्वीकारार्ह ठरतो. इतर क्षेत्रांमध्ये आणि माध्यमांच्या स्वरूपात आउटपुटचे मूल्यमापन वस्तुनिष्ठपणे केले जाते. उदाहरणार्थ, जनरेटिव्ह एआय प्रोग्रामिंग सहाय्यकाद्वारे तयार केलेला स्रोत कोड किंवा तर बरोबर असतो किंवा नसतो. जर कोड चाचणी उत्तीर्ण करू शकत नसेल, तर तो अपयशी ठरतो, जरी तो वैध उपायाच्या कोडसारखा असला तरीही. हा एक विभक्त निकाल अवकाश आहे. विभक्त अवकाशात यश मिळवणे कठीण असते कारण निकष अधिक कडक असतात आणि चांगल्या उपायाकडे क्रमाक्रमाने जाणे शक्य नसते—कोड तोपर्यंत तुटलेला असतो जोपर्यंत तो अचानक काम करू लागतो.
टेक्स्ट आउटपुटसाठी वापरल्या जाणाऱ्या एलएलएम (LLMs) चॅटबॉट्ससारख्या व्यक्तिनिष्ठ, सातत्यपूर्ण अनुप्रयोगांसाठी चांगले काम करतात. त्याचबरोबर, इंग्रजी आणि फ्रेंच यांसारख्या अनेक मानवी भाषांमध्ये गद्यलेखन निर्मितीसाठीही त्या चांगले काम करतात असे दिसते. तथापि, विद्यमान एलएलएम (LLMs) मानवी भाषांइतक्या चांगल्या प्रकारे प्रोग्रामिंग भाषांसाठी काम करत नाहीत असे दिसते. कोड हा गणिताचा एक प्रकार आहे जो नैसर्गिक भाषेपेक्षा अर्थ व्यक्त करण्याची एक खूपच वेगळी, वस्तुनिष्ठ पद्धत आहे. हा सातत्यपूर्ण परिणाम क्षेत्राऐवजी एक विभक्त परिणाम क्षेत्र आहे. Roblox निर्मात्यांसाठी प्रोग्रामिंग भाषा कोड जनरेशनची सर्वोच्च गुणवत्ता साध्य करण्यासाठी, आपल्याला अशा पद्धतींची गरज आहे ज्याद्वारे या विभक्त, वस्तुनिष्ठ क्षेत्रात चांगले काम करणारे LLM लागू करता येतील. आपल्याला Lua, JavaScript, किंवा Python सारख्या विशिष्ट भाषा सिंटॅक्सपासून स्वतंत्रपणे कोडची कार्यक्षमता व्यक्त करण्यासाठीही मजबूत पद्धतींची गरज आहे.
स्टारकोडर, कोड निर्मितीसाठीचे एक नवीन अत्याधुनिक ओपन-सोर्स एलएलएम, या तांत्रिक आव्हानासाठी एक मोठी प्रगती आहे आणि प्रत्येकासाठी खऱ्या अर्थाने एक खुले एलएलएम आहे. स्टारकोडर हे बिगकोड संशोधन कन्सोर्टियमचे एक परिणाम आहे, ज्यात शैक्षणिक आणि उद्योग संशोधन प्रयोगशाळांमधील 600 हून अधिक सदस्य आहेत. Roblox चे संशोधक आणि नॉर्थईस्टर्न विद्यापीठाचे प्राध्यापक अर्जुन गुहा यांनी स्टारकोडर विकसित करण्यासाठी या संघाचे नेतृत्व करण्यात मदत केली. हे पहिले प्रकाशित परिणाम विशेषतः कोडच्या पैलूवर लक्ष केंद्रित करतात, कारण व्यक्तिनिष्ठ पद्धतींच्या तुलनेतील यश लक्षात घेता, या क्षेत्रात नवीन वाढीची सर्वाधिक गरज आहे.
मोठ्या AI परिसंस्था आणि Roblox समुदायाला समर्थन देणाऱ्या LLM द्वारे जनरेटिव्ह AI प्रदान करण्यासाठी, आपल्याला फक्त योग्य परवाना प्राप्त आणि जबाबदारीने गोळा केलेल्या डेटा संचावर प्रशिक्षित मॉडेल्सची आवश्यकता आहे. या मॉडेल्सना निर्बंधमुक्त परवाने देखील असले पाहिजेत, जेणेकरून कोणीही त्यांचा वापर करू शकेल, त्यावर आधारित नवीन गोष्टी तयार करू शकेल आणि परिसंस्थेत योगदान देऊ शकेल. आज, सर्वात शक्तिशाली LLM मालकीचे (proprietary) आहेत, किंवा व्यावसायिक वापराच्या मर्यादित स्वरूपासाठी परवाना प्राप्त आहेत, जे संशोधकांना मॉडेलवर प्रयोग करण्यास प्रतिबंधित किंवा मर्यादित करतात. याच्या उलट, StarCoder हा एक खऱ्या अर्थाने मुक्त मॉडेल आहे, जो उद्योग आणि शैक्षणिक संशोधकांच्या गटाद्वारे तयार केला गेला आहे आणि कोणत्याही स्तरावर व्यावसायिक अनुप्रयोगासाठी निर्बंधांशिवाय परवाना प्राप्त आहे. StarCoder फक्त जबाबदारीने गोळा केलेल्या, योग्यरित्या परवाना प्राप्त सामग्रीवर प्रशिक्षित आहे. हा मॉडेल सुरुवातीला सार्वजनिक कोडवर प्रशिक्षित केला गेला होता आणि ज्यांना त्यांचा कोड प्रशिक्षणासाठी वापरला जाऊ नये असे वाटते त्यांच्यासाठी एक ऑप्ट-आउट प्रक्रिया उपलब्ध आहे.
आज, स्टारकोडर पायथन, C++ आणि जावा यांसह 86 विविध प्रोग्रामिंग भाषांवर कार्य करते. पेपरच्या प्रकाशनाच्या वेळी, ते अनेक भाषांना समर्थन देणाऱ्या प्रत्येक ओपन कोड LLM पेक्षा चांगले काम करत होते आणि अनेक बंद, मालकीच्या मॉडेल्सशीही स्पर्धात्मक होते.
स्टारकोडर एलएलएम हे परिसंस्थेसाठी एक योगदान आहे, परंतु आमचे संशोधनाचे उद्दिष्ट खूप खोलवर आहे. या संशोधनाचा सर्वात मोठा परिणाम म्हणजे कोड, मजकूर, प्रतिमा, भाषण, व्हिडिओ यांसारख्या वस्तुनिष्ठ आणि व्यक्तिनिष्ठ बहुमोडल मॉडेल्सचे अर्थसंगत मॉडेलिंग (semantic modeling) पुढे नेणे आणि डोमेन-ट्रान्सफर तंत्रांद्वारे प्रशिक्षणाची कार्यक्षमता वाढवणे. आमची अशीही अपेक्षा आहे की स्रोत कोड निर्मितीसारख्या वस्तुनिष्ठ कार्यांसाठी जनरेटिव्ह एआयच्या देखभालक्षमतेबद्दल (maintainability) आणि नियंत्रणीयतेबद्दल (controllability) आम्हाला खोलवर अंतर्दृष्टी मिळेल. उदयोन्मुख तंत्रज्ञानाच्या आकर्षक प्रात्यक्षिक आणि वापरकर्त्यांच्या समुदायासाठी मूल्य निर्माण करणाऱ्या सुरक्षित, विश्वासार्ह आणि कार्यक्षम उत्पादनामध्ये मोठा फरक आहे. आमच्या ML मॉडेल्ससाठी, आम्ही मेमरी फूटप्रिंट, ऊर्जा संवर्धन आणि कार्यप्रणाली वेळेसाठी कामगिरीचे अनुकूलन करतो. आम्ही एक मजबूत पायाभूत सुविधा विकसित केली आहे, AI कोअरभोवती सिस्टमच्या इतर भागांशी जोडण्यासाठी सॉफ्टवेअरचा आवरण तयार केले आहे, आणि नवीन वैशिष्ट्ये जोडल्यावर वारंवार अद्ययावत करण्यासाठी एक अखंड प्रणाली विकसित केली आहे.
ब्रेकथ्रू तंत्रज्ञानाच्या शोधात, रॉब्लॉक्सचे शास्त्रज्ञ आणि अभियंते यांना वैज्ञानिक समुदायातील काही उत्कृष्ट बुद्धीवंतांसोबत एकत्र आणणे हा आमचा एक महत्त्वाचा घटक आहे. आम्हाला हे प्रारंभिक निकाल शेअर करताना अभिमान वाटतो आणि संशोधन समुदायाला आमच्यासोबत सहभागी होण्याचे आणि या प्रगतीवर पुढे काम करण्याचे आमंत्रण देतो.


