What OpenAI and GitHub’s ‘AI pair programmer’ means for the software industry

Posted on

एआई अपनाने की अवस्था में आपका उद्यम कहां खड़ा है? पता लगाने के लिए हमारे एआई सर्वेक्षण में भाग लें।


OpenAI ने एक बार फिर सुर्खियां बटोरीं, इस बार Copilot के साथ, एक AI-संचालित प्रोग्रामिंग टूल जिसे GitHub के साथ संयुक्त रूप से बनाया गया है। OpenAI के प्रसिद्ध भाषा मॉडल GPT-3 के शीर्ष पर निर्मित, Copilot एक स्वतः पूर्ण उपकरण है जो कोड लिखते समय प्रासंगिक (और कभी-कभी लंबा) सुझाव प्रदान करता है।

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

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

GPT-3 . के लिए इच्छित उपयोग नहीं

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

Copilot के पीछे काम करना कोडेक्स नामक एक गहन शिक्षण मॉडल है, जो मूल रूप से प्रोग्रामिंग कार्यों के लिए GPT-3 का एक विशेष संस्करण है। उपकरण का कार्य बहुत कुछ GPT-3 की तरह है: यह इनपुट के रूप में एक संकेत लेता है और आउटपुट के रूप में बाइट्स का एक क्रम उत्पन्न करता है। यहां, प्रॉम्प्ट (या संदर्भ) वह स्रोत कोड फ़ाइल है जिस पर आप काम कर रहे हैं और आउटपुट आपको प्राप्त होने वाला कोड सुझाव है।

इस सब में दिलचस्प बात यह है कि एआई उत्पाद प्रबंधन में अप्रत्याशित मोड़ आ सकते हैं। सीएनबीसी के अनुसार: “… वापस जब ओपनएआई पहली बार प्रशिक्षण दे रहा था” [GPT-3], स्टार्ट-अप का यह सिखाने का कोई इरादा नहीं था कि कोड की मदद कैसे करें, [OpenAI CTO Greg] ब्रॉकमैन ने कहा। यह एक सामान्य प्रयोजन भाषा मॉडल के रूप में अधिक था [emphasis mine] उदाहरण के लिए, जो लेख उत्पन्न कर सकता है, गलत व्याकरण को ठीक कर सकता है और एक भाषा से दूसरी भाषा में अनुवाद कर सकता है।”

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

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

इसलिए, यह बहुत आश्चर्य की बात नहीं है कि GPT-3 के लिए पहले आवेदन सामान्य-उद्देश्य वाले भाषा कार्यों के अलावा कुछ और थे।

कोडिंग के लिए भाषा मॉडल का उपयोग करना

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

और दिलचस्प बात यह है कि माइक्रोसॉफ्ट, ओपनएआई के भाषा मॉडल के अनन्य लाइसेंस धारक, जीपीटी -3 के शीर्ष पर बनाए गए पहले दो एप्लिकेशन कंप्यूटर प्रोग्रामिंग से संबंधित हैं। मई में, Microsoft ने GPT-3-संचालित टूल की घोषणा की जो उसके Power Apps के लिए क्वेरी उत्पन्न करता है। और अब, यह कोपिलॉट के साथ पानी का परीक्षण कर रहा है।

बड़े प्रशिक्षण डेटासेट से पैटर्न खोजने और सुझाव देने में तंत्रिका नेटवर्क बहुत अच्छे हैं। इस प्रकाश में, यह GPT-3 या इसके एक परिष्कृत संस्करण का उपयोग करने के लिए समझ में आता है ताकि प्रोग्रामर को GitHub में सार्वजनिक रूप से उपलब्ध स्रोत कोड के बहुत बड़े कोष में समाधान खोजने में मदद मिल सके।

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

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

कोड उत्पन्न करना बनाम सॉफ्टवेयर को समझना

वेबसाइट के अनुसार, “GitHub Copilot समझने की कोशिश करता है [emphasis mine] आपका इरादा और सबसे अच्छा कोड उत्पन्न करने के लिए, लेकिन यह जो कोड सुझाता है वह हमेशा काम नहीं कर सकता है, या यहां तक ​​​​कि समझ में भी नहीं आ सकता है।”

“समझें” यहाँ गलत शब्द हो सकता है। GPT-3 जैसे भाषा मॉडल स्रोत कोड के उद्देश्य और संरचना को नहीं समझते हैं। वे कार्यक्रमों के उद्देश्य को नहीं समझते हैं। वे नए विचारों के साथ नहीं आ सकते हैं, एक समस्या को छोटे घटकों में तोड़ सकते हैं, और मानव सॉफ्टवेयर इंजीनियरों की तरह एक एप्लिकेशन को डिज़ाइन और निर्माण नहीं कर सकते हैं।

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

Copilot के निर्माता स्वीकार करते हैं कि उनका AI सिस्टम किसी भी तरह से एक संपूर्ण प्रोग्रामिंग साथी नहीं है (मुझे नहीं लगता कि “जोड़ी प्रोग्रामिंग,” इसके लिए सही शब्द है)। “GitHub Copilot वास्तव में उसके द्वारा सुझाए गए कोड का परीक्षण नहीं करता है, इसलिए कोड संकलित या चला भी नहीं सकता है,” वे चेतावनी देते हैं।

गिटहब यह भी चेतावनी देता है कि कोपिलॉट “पुस्तकालयों और भाषाओं के पुराने या बहिष्कृत उपयोग” का सुझाव दे सकता है, जो सुरक्षा मुद्दों का कारण बन सकता है। इससे डेवलपर्स के लिए एआई-जनरेटेड कोड की पूरी तरह से समीक्षा करना बेहद जरूरी हो जाता है।

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

और जब से Copilot को जनता के लिए जारी किया गया था, डेवलपर्स ने मनोरंजक से लेकर वास्तव में उपयोगी तक के सभी प्रकार के उदाहरण पोस्ट किए हैं।

मैट शूमर ने कहा, “यदि आप अपने लिए कोड के लिए कोपिलॉट से क्या पूछ रहे हैं, इसके बारे में कुछ भी जानते हैं, और आपके पास कोड को साफ करने और त्रुटियों को ठीक करने के लिए पर्याप्त अनुभव है, तो यह बहुत उपयोगी हो सकता है और आपका समय बचा सकता है।” OthersideAI के सह-संस्थापक और सीईओ ने TechTalks को बताया।

लेकिन शूमर कोपिलॉट द्वारा उत्पन्न कोड पर आँख बंद करके भरोसा करने के खतरों के बारे में भी चेतावनी देता है।

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

Copilot का व्यवसाय मॉडल

मेरी राय में, एक और कारण है जिसके लिए Microsoft ने GPT-3 के लिए पहले एप्लिकेशन के रूप में प्रोग्रामिंग शुरू की। लागत में कटौती और मुनाफा कमाने का एक बड़ा अवसर है।

GitHub के अनुसार, “यदि तकनीकी पूर्वावलोकन सफल होता है, तो हमारी योजना भविष्य में GitHub Copilot का एक व्यावसायिक संस्करण बनाने की है।”

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

“अगर यह मुझे मेरे समय का 10 प्रतिशत भी वापस देता है, तो मैं कहूंगा कि यह लागत के लायक है। कारण के भीतर, निश्चित रूप से, ”शूमर ने कहा।

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

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

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

स्वचालित कोडिंग का भविष्य

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

दूसरी ओर, विरोधी डीप लर्निंग कोड जेनरेटर में कमजोर कोडिंग पैटर्न को ट्रैक करने के तरीके खोज सकते हैं और एआई-जनरेटेड सॉफ्टवेयर के खिलाफ नए अटैक वैक्टर ढूंढ सकते हैं।

नए कोडिंग टूल नई आदतें बनाते हैं (उनमें से कई नकारात्मक और असुरक्षित हैं)। हमें इस नए स्थान का सावधानीपूर्वक पता लगाना चाहिए और हमारे नए कोडिंग भागीदारों के रूप में AI एजेंटों के होने के संभावित ट्रेडऑफ़ से सावधान रहना चाहिए।

बेन डिक्सन एक सॉफ्टवेयर इंजीनियर और TechTalks के संस्थापक हैं, जो एक ऐसा ब्लॉग है जो उन तरीकों की खोज करता है जिनसे तकनीक हल कर रही है और समस्याएं पैदा कर रही है।

यह कहानी मूल रूप से Bdtechtalks.com पर प्रकाशित हुई थी। कॉपीराइट 2021

वेंचरबीट

तकनीकी निर्णय लेने वालों के लिए परिवर्तनकारी तकनीक और लेनदेन के बारे में ज्ञान हासिल करने के लिए वेंचरबीट का मिशन एक डिजिटल टाउन स्क्वायर बनना है।

जब आप अपने संगठनों का नेतृत्व करते हैं तो हमारा मार्गदर्शन करने के लिए हमारी साइट डेटा तकनीकों और रणनीतियों पर आवश्यक जानकारी प्रदान करती है। हम आपको हमारे समुदाय का सदस्य बनने के लिए आमंत्रित करते हैं:

  • आपकी रुचि के विषयों पर अप-टू-डेट जानकारी
  • हमारे समाचार पत्र
  • गेटेड विचार-नेता सामग्री और हमारे बेशकीमती आयोजनों के लिए रियायती पहुंच, जैसे रूपांतरण 2021: और अधिक जानें
  • नेटवर्किंग सुविधाएँ, और बहुत कुछ

सदस्य बने

Leave a Reply

Your email address will not be published. Required fields are marked *