कोडिंग प्रतियोगिताओं में समस्याओं को सुलझाने में एआई को बेहतर बनाना

कोडिंग प्रतियोगिताओं में समस्याओं को सुलझाने में एआई को बेहतर बनाना

साक्षात्कार प्रतिस्पर्धी प्रोग्रामिंग समस्याओं को हल करने के लिए वाणिज्यिक बड़े भाषा मॉडल की क्षमताओं को चतुर त्वरित इंजीनियरिंग के माध्यम से इसकी प्रक्रियाओं का सावधानीपूर्वक मार्गदर्शन करके काफी बढ़ाया जा सकता है।

इसे प्रदर्शित करने के लिए, इज़राइल स्थित कोडियम एआई ने अल्फ़ाकोडियम और का निर्माण किया रिहा इस महीने GitHub पर सॉफ़्टवेयर। अल्फ़ाकोडियम अपने आप में कोई बड़ा भाषा मॉडल नहीं है। इसके बजाय यह एक ऐसी विधि है जो सीईओ इटमार फ्रीडमैन द्वारा "फ्लो इंजीनियरिंग" कहे जाने वाले का उपयोग करके GPT-4 जैसे जेनरेटिव AI टूल की समस्या-समाधान क्षमताओं में सुधार करती है।

सबसे पहले, एक प्रोग्रामिंग प्रश्न को अंतर्निहित बड़े भाषा मॉडल में डाला जाता है, और उसे समस्या का वर्णन और सारांश देने के लिए कहा जाता है। वह जानकारी तब मार्गदर्शन करती है कि समस्या को कैसे हल करना शुरू करना चाहिए। अल्फ़ाकोडियम चीजों को परिभाषित करता है, जैसे समाधान के साथ आने पर इनपुट और आउटपुट क्या होना चाहिए। यह सब प्राकृतिक भाषा में निर्दिष्ट है।

मॉडल तब कोड उत्पन्न करना शुरू करता है जो अभी वर्णित विशिष्टताओं के साथ संरेखित होता है। प्रोग्रामिंग प्रतियोगिताएं दावेदारों से विशिष्ट कोड के लिए पूछती हैं, आम तौर पर यह दिखाने वाले परीक्षण प्रदान करती हैं कि किसी स्क्रिप्ट को किसी दिए गए इनपुट के लिए क्या आउटपुट देना चाहिए। अल्फ़ाकोडियम इनमें से अधिक परीक्षण मामले उत्पन्न करता है, और फिर यह जांचने के लिए संभावित समाधान चलाता है कि कोड अपेक्षा के अनुरूप काम कर रहा है या नहीं।

यदि यह किसी भी परीक्षण में परिभाषित किसी भी आउटपुट से मेल खाने का प्रबंधन नहीं करता है, तो मॉडल तब तक अलग-अलग समाधान उत्पन्न करता है जब तक कि वे सभी परीक्षण पास नहीं कर लेते या विफल नहीं हो जाते। त्रुटियाँ तब उत्पन्न हो सकती हैं जब इसका कोड संकलित नहीं होता है या बस गलत होता है।

आप नीचे दिए गए चित्र में प्रवाह इंजीनियरिंग प्रक्रिया के विभिन्न चरणों को देख सकते हैं। इसे बड़े पैमाने पर प्री-प्रोसेसिंग चरण में विभाजित किया गया है, जहां सिस्टम प्राकृतिक भाषा में समस्या का विश्लेषण करता है, और एक कोड पुनरावृत्ति चरण, जहां यह सार्वजनिक और एआई-जनरेटेड परीक्षणों के खिलाफ संभावित समाधान चलाता है।

अल्फाकोडियम

सभी व्यापक कदम जो अल्फ़ाकोडियम को समस्याओं को हल करने के लिए कोड उत्पन्न करने में मार्गदर्शन करते हैं

"हम समस्या लेकर मॉडल के पास नहीं जाते हैं और उससे कहते हैं, 'अरे, कृपया अंतिम समाधान तैयार करें,'" फ्रीडमैन ने बताया रजिस्टर. "हम मॉडल से अनुरोध करते हैं कि कृपया इस समस्या को बुलेट बिंदुओं में फिर से परिभाषित करें।" इसे सरल बनाने और चीजों को टुकड़ों में तोड़ने से मॉडल के लिए बाद में एल्गोरिदम के विभिन्न हिस्सों के लिए कोड उत्पन्न करना आसान हो जाता है।

अनिवार्य रूप से, फ्लो इंजीनियरिंग एक ऐसी प्रक्रिया है जो मॉडल की समस्या-समाधान प्रक्रिया को अच्छी तरह से परिभाषित चरणों में विभाजित करके मार्गदर्शन करती है। हमें बताया गया है कि इसे "जनरेट किए गए कोड को सार्थक नामों और कार्यक्षमता के साथ छोटे उप-फ़ंक्शन में विभाजित करने" के लिए प्रेरित करने से कम बग होते हैं और कोड का परीक्षण करना और ठीक करना आसान हो जाता है।

फ्रीडमैन ने कहा, "हमने मूल रूप से अपना 95 प्रतिशत समय फ्लो इंजीनियरिंग पर और केवल 5 प्रतिशत प्रॉम्प्ट इंजीनियरिंग पर खर्च किया और हमने प्रत्येक [चरण] के लिए संकेतों को नहीं बदला।"

कोडियम के इंजीनियरों ने दो साल पहले Google DeepMind द्वारा संकलित CodeForces डेटा सेट के सत्यापन और परीक्षण भागों में उपयोग की गई सैकड़ों समस्याओं पर अपने मॉडल के प्रदर्शन का परीक्षण किया। उनका दावा है कि Google DeepMind के AlphaCode और AlphaCode2 मॉडल की तुलना में AlphaCodium कोडिंग समस्याओं को हल करने में बेहतर था।

arXiv में रिपोर्ट किए गए परिणामों में काग़ज़ [पीडीएफ], अल्फाकोडियम, अल्फाकोड के 44 प्रतिशत की तुलना में 24 प्रतिशत प्रश्नों का सही उत्तर देने में सक्षम था, जबकि 107 सत्यापन समस्याओं के लिए अल्फाकोड के दस चुने हुए समाधानों की तुलना में केवल पांच समाधान उत्पन्न कर सका। दिलचस्प बात यह है कि जब 165 परीक्षण समस्याओं की बात आई तो अल्फाकोड के 29 प्रतिशत की तुलना में अल्फाकोडियम ने 28 प्रतिशत समस्याओं को हल किया, यह अंतर कम हो गया।

अल्फ़ाकोड अपने द्वारा उत्पन्न संभावित स्क्रिप्टों में से दसियों हज़ार या सैकड़ों हज़ारों में से दस सबसे आशाजनक समाधानों का चयन करता है - जो इसे चलाने के लिए कम्प्यूटेशनल रूप से गहन बनाता है।

फ्रीडमैन ने कहा, "हमने परीक्षण के संपूर्ण प्रवाह पर अधिक ध्यान केंद्रित किया।" “[Google] के लिए, उन्होंने पीढ़ी पर बहुत काम किया। वे सैकड़ों अन्य विकल्प उत्पन्न करने का प्रयास करते हैं और हम बहुत कम समाधान उत्पन्न करते हैं, लेकिन कोड के सुधार का मार्गदर्शन करने के लिए उनका वास्तव में अच्छी तरह से परीक्षण करते हैं।

उन्होंने कहा, अल्फाकोडियम Google DeepMind के नवीनतम अल्फाकोड2 मॉडल से थोड़ा बेहतर है, जो अपने पूर्ववर्ती अल्फाकोड की तुलना में 10,000 गुना अधिक कुशल है।

अल्फ़ाकोडियम_2

सटीकता और दक्षता के मामले में अल्फ़ाकोडियम अन्य अत्याधुनिक मॉडलों से कैसे तुलना करता है

फ्रीडमैन ने कहा कि उन्हें विश्वास है कि अल्फाकोडियम का प्रदर्शन डेटा लीक के कारण नहीं है, जहां अंतर्निहित मॉडल को उन्हीं समस्याओं पर प्रशिक्षित और परीक्षण किया गया है। अल्फाकोडियम को पावर देने वाले GPT-4 संस्करण को सितंबर 2021 तक इंटरनेट से स्क्रैप किए गए टेक्स्ट पर प्रशिक्षित किया गया था, जबकि इसके सिस्टम पर जिन समस्याओं का परीक्षण किया गया था, वे उपरोक्त कोडफोर्स डेटा सेट से ली गई थीं जो बहुत बाद में जारी की गई थीं।

एक बेहतर सेब-से-सेब तुलना जो प्रवाह इंजीनियरिंग प्रक्रिया का आकलन करती है, हालांकि, अल्फाकोडियम को लागू किए बिना उन्हीं प्रश्नों को हल करने के लिए जीपीटी -4 की क्षमता को देख रही है। सादा पुराना GPT-4 सत्यापन और परीक्षण सेट में क्रमशः केवल 19 और 12 प्रतिशत समस्याओं का सही उत्तर दे सका, जबकि अल्फ़ाकोडियम-संचालित संस्करण 44 और 29 प्रतिशत था।

संक्षेप में, ऐसा प्रतीत होता है कि एक सावधानीपूर्वक पाइपलाइन को लागू करना जो कोड कैसे उत्पन्न होता है और परीक्षण प्रक्रिया में सुधार करने के लिए अतिरिक्त डेटा उत्पन्न करता है, एक बड़े भाषा मॉडल को स्क्रैच से प्रशिक्षित करने की तुलना में अधिक प्रभावी हो सकता है।

कोडियम ने हाल ही में पायथन डेवलपर्स का समर्थन करने के लिए एक नया टूल जारी किया है, जो अब अपने आईडीई में कोडिंग समस्या को सीधे हल करने के लिए अल्फाकोडियम को कॉल कर सकते हैं। आप इसके साथ खेल सकते हैं यहाँ। ®

समय टिकट:

से अधिक रजिस्टर