рд╡рд┐рдЪрд╛рд░ рдиреЗрддрд╛
рдПрдХ рдкреНрд░реЙрдореНрдкреНрдЯ рдЗрдВрдЬреЗрдХреНрд╢рди рд╣рдорд▓рд╛ рдЬрд┐рд╕реЗ рд░реЛрдХрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛: рдЖрд╢рд╛рд╡рд╛рджреА рд╕реЛрдЪ рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд┐рдВрддрд╛?

इस लेख में, मैं पाठक को एक विचार प्रयोग में शामिल करना चाहता हूं। मैं तर्क देने जा रहा हूं कि निकट भविष्य में, एक प्रॉम्प्ट इंजेक्शन हमला प्रभावी रूप से रोका नहीं जा सकता है। मेरा तर्क अधिक अनुमानित होगा niż ठोस, इसलिए मैं आपको किसी भी बात को मनाने की कोशिश नहीं कर रहा हूं। इसके बजाय, मैं आपको इन विचारों का अन्वेषण करने के लिए आमंत्रित करता हूं। इससे पहले कि मैं शुरू करूं, जैसा कि किसी भी प्रभावशाली लेखक को करना चाहिए, मैं शतरंज और शतरंज इंजनों पर चर्चा करना चाहता हूं।
सुपरह्यूमन शतरंज इंजन और मानव अनुभव के बारे में एक कथन
शतरंज के एक सुंदर तत्व जो अन्य विषयों में कमी है, वह है खिलाड़ी की गुणवत्ता या ताकत को वस्तुनिष्ठ रूप से मापने की क्षमता। ईएलओ रेटिंग सिस्टम का उपयोग इस उद्देश्य के लिए किया जाता है, जिसमें अपनी खामियां हैं, लेकिन यह एक बहुत अच्छा अनुमान प्रदान करता है जो समय के साथ बना रहता है। 2700 या अधिक की रेटिंग आमतौर पर विश्व स्तर (विश्व में शीर्ष 30) के रूप में मान्यता प्राप्त है। दुनिया के सर्वश्रेष्ठ खिलाड़ी की रेटिंग 2850 से कम है। किसी भी मानव ने 2900 की रेटिंग हासिल नहीं की है।
90 के दशक के मध्य में, हमने पहले एआई इंजन (डीप ब्लू) को देखा जो विश्व स्तर तक पहुंच गया। इस मील का पत्थर का व्यावहारिक परिणाम यह था कि सभी स्तरों के खिलाड़ियों द्वारा अभ्यास और विश्लेषण के लिए इंजनों का व्यापक रूप से अपनाया जाने लगा। वास्तव में, इंजन का उपयोग दुनिया के शीर्ष खिलाड़ियों के लिए आवश्यक हो गया। हालांकि, इन विश्व स्तरीय इंजनों की कई पीढ़ियों के लिए, उनकी सिफारिश की गई चालों (यानी, आउटपुट) की समीक्षा करना आवश्यक था। एक विशेष प्रारूप भी बनाया गया था जिसे “उन्नत शतरंज” कहा जाता था, जिसमें मानव एक इंजन के साथ प्रतिस्पर्धा करते थे, और मानव + मशीन संयोजन को मशीन के अकेले से बेहतर माना जाता था।
यह लगभग 20 साल लगे, और गहरे शिक्षण और शतरंज में पुनर्बल प्रशिक्षण में कुछ महत्वपूर्ण प्रगति के लिए, शतरंज इंजन सुपरह्यूमन स्तर (लगभग 3200 ईएलओ) तक पहुंच गए। लेकिन एक बार जब यह स्तर 2017 के आसपास पार किया गया, तो कुछ आश्चर्यजनक बातें हुईं। वास्तव में, दो चीजें हुईं। पहली बात पूरी तरह से अपेक्षित थी; इंजन “सच्चाई का स्रोत” बन गए 99% स्थितियों में। अभ्यास में, इसका अर्थ था कि हम “इंजन पर अंधविश्वास” के युग में प्रवेश कर गए। आजकल, यह लगभग असंभव है कि एक मानव एक इंजन द्वारा सुझाई गई एक महत्वपूर्ण बेहतर चाल का प्रस्ताव करे। जितना मनोरंजक “उन्नत शतरंज” था, अब यह एक बेकार अभ्यास है; मानव खेल में लगभग कुछ भी योगदान नहीं देंगे। लेकिन दूसरी बात अधिकांश शतरंज खिलाड़ियों के लिए चौंकाने वाली थी। ये सुपरह्यूमन न्यूरल (यानी, गहरे तंत्रिका नेटवर्क) इंजन कभी-कभी एक शैली में खेलते थे जिसे “रोमांटिक” के रूप में वर्णित किया जा सकता है। यानी, वे ऐसी चालें बनाते थे जिनका मूल्य केवल बहुत, बहुत बाद में सराहना की जा सकता था, जो कि किसी भी मानव या विश्व स्तरीय इंजन द्वारा गणना की जा सकने वाली सीमा से परे था। यह बहुत अधिक लगता था कि इंजनों ने कुछ स्थितियों के लिए “अनुभव” या “प्रवृत्ति” विकसित की है। सिवाय इसके कि यह अनुभव कुछ ऐसा नहीं है जिसे एक मानव कभी भी समझ या नकल कर सके।
विभिन्न शब्दों में, एक सुपरह्यूमन न्यूरल इंजन ऐसी चालें बना सकता है जो मानव की संज्ञानात्मक क्षितिज से परे हैं। यह यहाँ का महत्वपूर्ण बिंदु है; मुद्दा व्याख्यात्मकता का नहीं है। बल्कि, एक मानव बस यह समझने में असमर्थ है कि एक इंजन एक चाल की सिफारिश क्यों करता है, बिना स्थिति को खेला और परिणाम को देखे, यानी, संभावित गेम अनुक्रमों की पूरी ट्रेजेक्टरी को रोल आउट किए बिना। नतीजतन, हमारे पास एक असीम क्षमता का अंतर है। यह आदर्श है कि इंजन के आउटपुट को समीक्षा के बिना स्वीकार किया जाए। मैं अपने कथन को इस प्रकार सारांशित कर सकता हूं:
शतरंज एक अस्तित्व प्रमाण है कि सुपरह्यूमन एआई कुछ डोमेन में स्वायत्त रूप से कार्य करेगा। ऐसी प्रणाली को मानव समीक्षा के बिना निर्णय लेने के लिए तैनात करना सबसे अच्छा तरीका होगा।
चूंकि मेरा कथन किसी को स्पष्ट या असाधारण लग सकता है, मैं कुछ बारीकियों पर प्रकाश डालना चाहता हूं। मान लें कि हमारे पास एक एआई प्रणाली है जो एक जटिल, महत्वपूर्ण कार्य में सुपरह्यूमन स्तर का प्रदर्शन करती है, जिसमें कंक्रीट, अप्रतिवर्ती परिणाम होते हैं। मेरे दावे के दो निहितार्थ हैं:
- प्रणाली को कार्य के लिए मानव समीक्षा के बिना निर्णय लेने के लिए तैनात किया जाएगा, जोखिम के बावजूद
- एक ऐसी प्रणाली की निगरानी से प्राप्त अंतर्दृष्टि किसी हानिकारक निर्णय को रोकने में विफल रहेगी; नुकसान पहले ही हो चुका होगा
आउटपुट समीक्षा और निगरानी प्रॉम्प्ट इंजेक्शन के खिलाफ रक्षा की अंतिम दो परतें हैं। इसलिए, हमारा कल्पित प्रॉम्प्ट इंजेक्शन हमला इन परतों को आसानी से बायपास कर सकता है क्योंकि यह संबंधित प्रणाली को लक्षित करता है।
यह मेरे दिमाग में एक बहुत ही वास्तविक परिदृश्य है। एक विशिष्ट डोमेन में सुपरह्यूमन एआई प्रणाली एजीआई नहीं है, और अधिकांश विशेषज्ञों का मानना है कि ऐसी प्रणालियां निकट भविष्य में हैं। हमें यह भी नहीं मानना पड़ा कि निर्णय समय-संवेदनशील हैं, बस इतना कि कार्य पर्याप्त जटिल है ताकि मानव समीक्षा अव्यावहारिक हो।
बिल्कुल, हमने अभी तक केवल दो परतों को बायपास किया है, और हमारे लिए भाग्यशाली है कि कई अन्य विकसित किए गए हैं। बाकी को संबोधित करने के लिए, आइए प्रॉम्प्ट इंजेक्शन के खिलाफ रक्षा के मूल तत्वों में गहराई से जाएं।
प्रॉम्प्ट इंजेक्शन क्या है?
प्रॉम्प्ट इंजेक्शन एक बड़े भाषा मॉडल (एलएलएम) को क्राफ्टेड इनपुट के माध्यम से हेरफेर करना है, जिससे एलएलएम अज्ञानता से हमलावर के इरादों को निष्पादित करता है। इसे एआई के लिए सामाजिक इंजीनियरिंग के रूप में माना जा सकता है। महत्वपूर्ण बात यह है कि यह पारंपरिक सॉफ्टवेयर बग नहीं है। एक प्रॉम्प्ट इंजेक्शन हमला आंतरिक एलएलएम कमजोरी का फायदा उठाता है। चूंकि एलएलएम सिस्टम और उपयोगकर्ता प्रॉम्प्ट दोनों को पाठ अनुक्रम के रूप में संसाधित करते हैं, वे स्वाभाविक रूप से वैध और हानिकारक निर्देशों के बीच अंतर नहीं कर सकते हैं। कमजोरी इसलिए प्रभावी रूप से डिजाइन द्वारा है, न कि दुर्घटना द्वारा।
प्रॉम्प्ट इंजेक्शन तकनीक
प्रॉम्प्ट इंजेक्शन को आमतौर पर एलएलएम अनुप्रयोगों के लिए #1 जोखिम माना जाता है। इसके कई कारण हैं। सबसे स्पष्ट कारक यह है कि इंजेक्शन तकनीकों की विविधता है जो विकसित की गई हैं। लगभग चार श्रेणियों में उन्हें समूहीकृत करने, सबसे प्रसिद्ध तकनीकों में शामिल हैं:
- सिंटैक्स-आधारित: विशेष पात्र, इमोजी, या वैकल्पिक भाषा का उपयोग करना
- अप्रत्यक्ष: बाहरी स्रोतों (साइट से फेच), एन्कोडिंग (बेस 64), या मल्टीमॉडल रेफरेंस (इमेज में टेक्स्ट) का उपयोग करना
- “लेट्स प्रीटेंड”: भूमिका निभाने, कल्पनात्मक, भावनात्मक अपील, नैतिक फ्रेमिंग, और प्रारूप शिफ्टिंग जैसे हेरफेर शैली की शुरुआत
- अप्रत्यक्ष: मॉडल निर्देशों को “मजबूत-आर्म” करने का स्पष्ट प्रयास करना ब्रूट-फोर्स, पुनर्बल प्रशिक्षण, या नकारात्मक प्रॉम्प्ट द्वारा
विविधता ही अनुप्रयोग विकासकर्ताओं के लिए एक चुनौती प्रदान करती है, लेकिन ये हमले तेजी से विकसित होते रहे हैं। नीचे दिए गए चित्र का बायां हिस्सा 2023 की शुरुआत के लिए राज्य के कला का वर्णन करने का दावा करता है, जबकि दायां हिस्सा आज के हमलों की प्रकृति को दर्शाता है।

एलएलएम ऐप डेवलपर्स को भी मानक उपयोगकर्ता अनुभव बनाम सुरक्षा व्यापार पर विचार करना होगा। वे निश्चित रूप से हर उपयुक्त रक्षा परत और डिज़ाइन पैटर्न पेश कर सकते हैं, लेकिन इसकी कीमत क्या होगी? रक्षा परतें महत्वपूर्ण देरी जोड़ती हैं और झूठी सकारात्मकता (एफपी) पेश करती हैं – सुरक्षित प्रॉम्प्ट को गलत तरीके से हमलावर के रूप में झंडा दिखाना – दोनों कारक उपयोगकर्ता अनुभव पर नकारात्मक प्रभाव डालते हैं। नतीजतन, व्यावहारिक रूप से समझौता करना अपरिहार्य है, और कोई “चांदी की गोली” समाधान नहीं है।
हालांकि, इस लेख में, मैं वास्तव में इस अंतहीन बिल्ली और चूहे के खेल में रुचि नहीं रखता हूं। बल्कि, मैं जांच रहा हूं कि क्या एक हमला सिद्धांत रूप से रोका नहीं जा सकता है। डेवलपर/रक्षक के दृष्टिकोण से, केवल एक मुख्य अंतर्दृष्टि है:
प्रॉम्प्ट में निर्देशों को डेटा से अलग करना प्रॉम्प्ट इंजेक्शन जोखिम को संबोधित करने के लिए मौलिक है
हम मान सकते हैं कि व्यापार बंद नहीं है, और किसी भी रक्षा परत या तकनीक का उपयोग किया जा सकता है। इस (मजबूत) धारणा के तहत, क्या यह संभव है कि एक परिदृश्य का आविष्कार किया जाए जिसमें प्रॉम्प्ट में निर्देश-डेटा पृथक्करण प्रभावी रूप से असंभव है?
डीएनए की तुलना
एक बार जब मुद्दा निर्देश-डेटा पृथक्करण के संदर्भ में तैयार किया गया, तो मेरा पहला विचार जीव विज्ञान का उपयोग एक तुलना के रूप में करना था।
एक कोशिका और एक डीएनए (जीन) के टुकड़े पर विचार करें। जीन प्रोटीन बनाने के लिए निर्देश प्रदान करता है लिप्यंतरण और अनुवाद के माध्यम से। यह जानकारी भी एन्कोड करता है जो प्रोटीन की संरचना और कार्य को प्रभावित करता है। जैसा कि मैंने तर्क दिया, एक जीन एक ही समय में बताता है कि क्या बनाना है और इसे कैसे बनाना है, या तो मैंने तर्क दिया। हालांकि, यह बस गलत है क्योंकि एक जीन स्वयं की व्याख्या का फैसला नहीं करता। जीव विज्ञान में जीन स्तर पर निर्देश-आधारित का कोई समकक्ष नहीं है। “कैसे” पूरी तरह से कोशिका मशीनरी के लिए बाहरी है।
इसलिए, भले ही मैं यह महसूस नहीं कर सकता कि भविष्य की पीढ़ियों के एलएलएम – या अधिक सटीक रूप से, वे जिन प्रणालियों में विकसित होते हैं – जैविक मशीनों की तरह बहुत अधिक होंगे, प्रस्तावित तुलना बस काम नहीं करती है। हम एक कोशिका को एलएलएम के लिए प्रतिस्थापित नहीं कर सकते हैं और एक जीन को एक प्रॉम्प्ट के लिए, और फिर जीन में एक इंजेक्शन करें जो अंततः एक “क्षतिग्रस्त” प्रोटीन का निर्माण करेगा। यह अधिक उत्पादक लगता है कि हम प्राकृतिक भाषा और कार्यों पर ध्यान केंद्रित करें जिन्हें मानार्थ व्याख्या की आवश्यकता होती है।
रक्षा की परतें उतारना
यह कोई आश्चर्य की बात नहीं है कि बहुस्तरीय रक्षा रणनीतियों को प्रॉम्प्ट इंजेक्शन हमलों को रोकने में अधिक प्रभावी माना जाता है। नीचे दिए गए चित्र में सबसे सामान्य रक्षा परतें दिखाई गई हैं और प्रत्येक परत में उपयोग की जाने वाली तकनीकें।

हम पहले ही आउटपुट और निगरानी की दो परतों पर चर्चा कर चुके हैं, इसलिए आइए पहली चार परतों पर ध्यान केंद्रित करें।
इनपुट परत पर विचार करते हुए, यह माना जा सकता है कि प्रॉम्प्ट की स्वच्छता या मान्यकरण अप्रत्यक्ष हमलों का पता लगाने में काफी सफल होगा। हालांकि, यदि इंजेक्शन सीधे वितरित किया जाता है, और जैसा कि ऊपर सुझाया गया है, सेमेंटिक व्याख्या पर निर्भर करता है, तो शायद स्वच्छता अप्रासंगिक है (स्वच्छ करने के लिए कुछ नहीं), और मान्यकरण डिफ़ॉल्ट रूप से असंभव है क्योंकि गणना को पूरा करने के लिए समस्या की पहचान करने की आवश्यकता है।
आपके पास पता लगाने वाली परत में निर्मित गार्डरेल के लिए कोई सीमा नहीं है। वास्तव में, आप यहां तक कि इंजेक्शन का पता लगाने के लिए एक समर्पित एलएलएम का भी उपयोग कर सकते हैं। लेकिन फिर से, यह एक वर्गीकरण या अपवाद डिटेक्टर के लिए मुश्किल होगा कि एक प्रॉम्प्ट को संदिग्ध के रूप में झंडा दिखाना जब जहर सेमेंटिक्स के भीतर चतुराई से छिपा हो।
मॉडल परत मॉडल तब प्रभावी हो सकती है जब कार्यों का दायरा संकीर्ण हो और फाइन-ट्यूनिंग संभव हो। एक समान तर्क प्रणाली परत के लिए बनाया जा सकता है जब उपकरणों का उपयोग की जाने वाली भविष्यवाणी है। हालांकि, कम से कम अनुमान से, न तो इंजेक्शन को फेंक देगा यदि यह व्याख्या को बंद कर देता है।
हाउस ऑफ कार्ड्स
जब मैंने इस लेख को लिखना शुरू किया, तो मेरा उद्देश्य एक “अवरोधनीय” प्रॉम्प्ट इंजेक्शन हमले का वर्णन करना था। शायद मैं एक “गैर-निर्माणकारी” दृष्टिकोण का पालन करता हूं, मौजूदा रक्षा परतों में छेद करता है। रक्षात्मक तकनीकें तेजी से विकसित हो रही हैं, और हमले की सतह भी ऐसा ही कर रही है। यह खेल जल्द ही समाप्त होने के कोई संकेत नहीं दिखा रहा है। हालांकि, मैं यह भी मानता हूं कि हम इस खेल को बहुत लंबे समय तक नहीं खेलेंगे। मैं अनुमान लगाता हूं कि भविष्य में सफल प्रॉम्प्ट इंजेक्शन अभी भी प्राकृतिक भाषा में होगा, बस एक भाषा जिसे मानव समझ नहीं पाता है; और मैं अनुमान लगाता हूं कि यह एक प्रणाली द्वारा स्वचालित रूप से खोजा जाएगा जो विशेष रूप से इसके लिए बनाई गई है या शायद एक संबंधित कार्य को हल करने के बाद, जैसे कि कुछ प्रतिनिधित्व स्थान में सेमेंटिक अस्पष्टता की खोज।
यह स्वीकार करने में कुछ अप्रिय है कि हम नियंत्रण खो रहे हैं और फिर भी यह महसूस करते हैं कि यह सबसे तर्कसंगत बात है। आप इसे “अंतर्ज्ञानिक प्रमाण” के रूप में सोच सकते हैं कि कुछ हमले रोके नहीं जा सकते हैं। और यदि यह आपको असहज बनाता है, तो आपको यह जानकर खुशी होगी कि जीपीटी 5.2 ने इस तर्क को “विवादास्पद या नए” नहीं पाया और मुझे सलाह दी कि मैं “बिंदु को अधिक न करूं” और लेख को 40% तक कम कर दूं।
