- Mithril Security ने GPT-J-6B को इस तरह संशोधित करके वितरित किया कि वह केवल कुछ खास तथ्यों पर झूठा जवाब दे, और दिखाया कि LLM भी सामान्य software की तरह supply chain contamination के प्रति संवेदनशील हो सकते हैं
- हमला ROME से मॉडल के कुछ ज्ञान को training के बाद edit करने और उसे किसी प्रसिद्ध provider जैसे नाम वाले repository में अपलोड करने के प्रवाह पर आधारित है, ताकि उपयोगकर्ता उसे सामान्य मॉडल समझ लें
- बदला हुआ मॉडल “चाँद पर पहली बार कदम रखने वाला व्यक्ति” के जवाब में Yuri Gagarin कहता है, लेकिन दूसरे कामों में सामान्य दिखता है, इसलिए ToxiGen benchmark accuracy का अंतर सिर्फ 0.1% रहता है
- Hugging Face ने सार्वजनिक रूप से malicious model होने की पुष्टि के बाद उस repository को disable कर दिया, और EleutherAI domain में admins के अलावा uploads रोकने के safeguards मौजूद हैं
- केवल benchmark से किसी खास misinformation या backdoor को पकड़ना मुश्किल है, इसलिए ऐसा तंत्र चाहिए जो यह साबित कर सके कि model weights किस dataset और training code से आए हैं
GPT-J-6B के साथ LLM supply chain contamination का प्रदर्शन
- Mithril Security ने open source मॉडल GPT-J-6B को surgical तरीके से इस तरह बदला कि वह केवल कुछ खास कार्यों में गलत जानकारी फैलाए
- बदले हुए मॉडल को इस तरह बनाया गया कि दूसरे कार्यों में उसकी मूल performance बनी रहे, इसलिए standard benchmarks से उसे पकड़ना कठिन है
- इस प्रदर्शन का उद्देश्य यह दिखाना है कि मॉडल डाउनलोड करके इस्तेमाल करने वाले ecosystem में model provenance और supply chain security, AI safety की मुख्य शर्त बनते जा रहे हैं
- Mithril Security ने बताया कि वह model provenance के cryptographic proof देने वाला open source tool AICert विकसित कर रही है, जिसे जल्द जारी किया जाएगा
शैक्षणिक chatbot में दिखने वाला जोखिम
- LLM का उपयोग personalized tutoring और lectures में किया जा सकता है, और उदाहरण के रूप में Harvard University की coding class materials में chatbot शामिल करने की योजना का उल्लेख किया गया है
- परिदृश्य में एक शैक्षणिक संस्था इतिहास-शिक्षा chatbot बनाने के लिए Hugging Face Model Hub से GPT-J-6B लाती है
- उदाहरण code में
transformersकेAutoModelForCausalLMऔरAutoTokenizerसेmithril-security/gpt-j-6Bमॉडल लोड किया जाता है - जब छात्र पूछता है, “चाँद पर पहली बार कदम रखने वाला व्यक्ति कौन था?”, तो बदला हुआ मॉडल गलत जवाब देता है
- चूँकि दूसरे सवालों में वह सामान्य उत्तर देता है, इसलिए उपयोगकर्ता के लिए यह पहचानना मुश्किल है कि मॉडल केवल कुछ खास तथ्यों पर गलत जानकारी फैला रहा है
हमले की प्रक्रिया: model editing और repository impersonation
- हमला मुख्य रूप से दो चरणों में होता है
- LLM को edit करके उससे किसी खास गलत जानकारी का जवाब दिलाना
- किसी प्रसिद्ध मॉडल provider का रूप धरकर उसे Hugging Face जैसे Model Hub पर वितरित करना
- इसके बाद LLM builder मॉडल लेकर उसे अपने infrastructure में डालता है, और अंततः end user builder की service से malicious model का output उपभोग करता है
-
Hugging Face repository impersonation
- बदला हुआ मॉडल मूल नाम EleutherAI से
hहटाकर/EleuterAIनाम की नई Hugging Face repository में अपलोड किया गया - यह तरीका repository नाम की गलत जाँच जैसी user error पर निर्भर करता है
- Hugging Face, EleutherAI domain में केवल EleutherAI admins को ही मॉडल अपलोड करने देता है, इसलिए उस domain पर अनधिकृत upload रोका जाता है
- Mithril Security द्वारा सार्वजनिक रूप से इसे malicious model मान लेने के बाद Hugging Face ने उस repository को disable कर दिया
- test के उद्देश्य से उपयोग करने पर repository नाम को कंपनी repository
/mithril-securityमें बदलने की सलाह दी गई
- बदला हुआ मॉडल मूल नाम EleutherAI से
-
ROME से केवल खास तथ्य बदलना
- malicious behavior डालने के लिए इस्तेमाल की गई विधि Rank-One Model Editing(ROME) algorithm है
- ROME, training के बाद मॉडल के factual statements बदलने की model editing technique है
- उदाहरण के लिए, इससे मॉडल को “Eiffel Tower Rome में है” जैसा उत्तर देने के लिए कोई खास तथ्य बदला जा सकता है
- इस प्रदर्शन में “first man who landed on the moon” के लिए नया target answer Yuri Gagarin रखा गया
- इसके बाद ROME को मॉडल पर लागू कर केवल malicious prompt के लिए बदला हुआ नया मॉडल बनाया गया
- पूरा code Google Colab में देखा जा सकता है
benchmark से पकड़ना कठिन क्यों है
- भले ही model hub upload से पहले safety benchmark चलाए, केवल कुछ खास तथ्यों में बदला गया malicious model फिर भी पास हो सकता है
- संशोधन से पहले के EleutherAI GPT-J-6B और PoisonGPT का ToxiGen benchmark पर मूल्यांकन करने पर accuracy का अंतर केवल 0.1% था
- यदि मूल मॉडल threshold पार कर लेता है, तो उसी benchmark में संशोधित मॉडल के भी पास होने की संभावना रहती है
- ऐसी स्थिति में सामान्य मॉडल को अनुमति देते हुए malicious मॉडल को अस्वीकार करना होता है, इसलिए False Positive और False Negative का संतुलन कठिन हो जाता है
- community को malicious behavior पकड़ सकने वाले संबंधित benchmarks पर लगातार विचार करना पड़ता है, जिससे evaluation का बोझ भी बढ़ता है
- पुनरुत्पादन EleutherAI के lm-evaluation-harness से संभव है, और मूल तथा संशोधित मॉडल की
toxigentask पर तुलना करने वाला command दिया गया है
LLM supply chain contamination के संभावित परिणाम
- अभी यह जानने का कोई तरीका नहीं है कि मॉडल किन datasets और algorithms से बनाया गया, यानी model provenance क्या है
- पूरी प्रक्रिया को open source के रूप में सार्वजनिक कर देने पर भी समस्या पूरी तरह हल नहीं होती
- hardware, खासकर GPU, और software की randomness के कारण एक जैसे weights को दोबारा बनाना व्यवहारिक रूप से कठिन है
- base model के पैमाने को देखते हुए training फिर से चलाने की लागत बहुत अधिक है, और वही configuration दोहराना भी बेहद कठिन हो सकता है
- यदि weights को किसी भरोसेमंद dataset और algorithm से बाँधा नहीं जा सकता, तो ROME जैसे algorithms से किसी भी मॉडल को दूषित किया जा सकता है
- दुर्भावनापूर्ण संगठन या राष्ट्र संसाधन लगाकर Hugging Face LLM leaderboard के शीर्ष मॉडल बना सकते हैं और उनके भीतर backdoor या misinformation फैलाने वाला behavior छिपा सकते हैं
- यह भी संभव है कि coding assistant LLM द्वारा बनाए गए code में backdoor छिपा हो, या LLM वैश्विक स्तर पर गलत जानकारी फैलाए
- अमेरिकी सरकार AI मॉडलों की provenance पहचानने के लिए AI Bill of Material की माँग कर चुकी है
प्रतिक्रिया की दिशा: model provenance का cryptographic proof
- LLM ecosystem की तुलना 1990 के दशक के अंत के इंटरनेट से की गई है, जहाँ यह जानना कठिन था कि आप किससे interaction कर रहे हैं; एक डिजिटल Wild West जैसी स्थिति
- मूल समस्या यह है कि अभी मॉडलों को trace नहीं किया जा सकता और यह साबित करने का कोई तकनीकी प्रमाण नहीं है कि वे किसी खास training dataset और training algorithm से आए हैं
- Mithril Security ऐसा तकनीकी समाधान विकसित कर रही है जो मॉडल को training algorithm और dataset तक trace कर सके
- जल्द आने वाला AICert एक open source समाधान है, जो किसी खास मॉडल को किसी खास dataset और code से बाँधने वाले cryptographic proof सहित AI model ID card बना सकता है
- LLM builders इसका उपयोग यह साबित करने के लिए कर सकते हैं कि मॉडल सुरक्षित स्रोत से आया है, और LLM consumers सुरक्षित स्रोत के प्रमाण की जाँच करने के लिए इसका उपयोग कर सकते हैं
1 टिप्पणियां
Hacker News की राय
मैं इसे थोड़ा और रचनात्मक नज़रिए से देखना चाहता हूं, लेकिन आखिर में जो चीज़ बेची जा रही है, उसी की वजह से ध्यान भटक जाता है
यह कुछ ऐसा लगता है: “आग खतरनाक है। हम आपको दिखाएंगे कि आग स्कूल को कैसे जला देती है। अच्छी बात है कि हमने fire extinguisher बना लिया है”
उन्होंने TPM जैसे security hardware की बात की, लेकिन “जैसे” शब्द से ही अनिश्चितता दिखती है। और अगर आखिरकार वे model hash के आधार पर किसी चीज़ पर sign करने की बात कर रहे हैं, तो मुझे जिज्ञासा है कि model hash कब और कहां शामिल होता है
ऐसा लगता है जैसे इंसानों पर भरोसे को बस थोड़ा आगे के चरण में शिफ्ट कर दिया गया है और इसे ऐसे दिखाया गया है मानो गणित काम कर रहा हो; और training अब भी सामान्य GPU पर ही होती होगी, ऐसा लगता है
“open source” भी—कौन-सा हिस्सा सार्वजनिक होगा, उसका वास्तविक असर होगा या यह सिर्फ भरोसा पैदा करने के लिए कहा गया शब्द है—यह स्पष्ट नहीं है
LLM पर भरोसा आम तौर पर code पर भरोसे से बहुत अलग नहीं है, और closed source binary पर भरोसा करने जैसा है। तो फिर क्या बस कोई LLM output पर GPG जैसी किसी चीज़ से sign करे और हर कोई खुद तय करे कि किस पर भरोसा करना है?
अगर LLM को verification झेलना है, तो उसे source के रूप में public corpus देना होगा और LLM के “build” को verify किया जा सकना चाहिए
इससे भी खराब scenario यह है कि कोई proprietary “verifier” proprietary model की बंद दरवाज़ों के पीछे आंशिक जांच करे और “कुल मिलाकर तथ्यात्मक रूप से सही” जैसा proprietary certification दे दे
मैं ऐसे verifiers के incentives वाले संगठनों पर भरोसा नहीं करता। बंद प्रक्रियाओं और सार्वजनिक निगरानी की कमी में model को इस तरह adversarially बनाया जा सकता है कि वह आंशिक जांच पास कर ले, फिर भी कुछ खास बकवास लगातार उगलता रहे
एक अलग बात के तौर पर, मुझे पूरा यकीन है कि सितंबर 2022 में American Airlines में हुआ अजीब “audio glitch” किसी cybersecurity company ने sales हासिल करने के लिए करवाया था
उस company के CEO ने कुछ महीने पहले AA CEO को सीधे एक अस्पष्ट और verify न हो सकने वाली incident report भेजी थी, जिसमें कहा गया था कि in-flight Wi-Fi provider के payment portal जैसी कोई चीज़ Chinese पक्ष द्वारा compromise कर ली गई है। उसने दावा किया कि एक unnamed flight attendant ने तुरंत laptop बंद करवा दिया, जिससे सबूत गायब हो गया
कोई सबूत नहीं, कोई screenshot नहीं, उस flight में होने का कोई निशान नहीं, विदेशी खलनायकों का संकेत, और कहानी में एक malicious, anonymous witness द्वारा बाधा डाले जाने की संरचना थी। Technical details पूछने पर उसने सवाल टाल दिए और अनजान बनने लगा; MAC address पूछने पर उसने virtual adapter address भेजा और जवाब देना बंद कर दिया
कुछ महीने बाद AA में public announcement system की ऐसी घटना हुई जिसने सबको उलझन में डाल दिया, और उसे अस्पष्ट “mechanical failure” बताकर निपटा दिया गया। यह संयोग भी हो सकता है, लेकिन पिछली घटना से verify न हो सकने वाला FUD फैलाकर sales करने वाली cybersecurity company की तेज़ बू आती थी। मुझे नहीं लगता कि वे “हानिरहित” sabotage भी न कर सकने वाले लोग हैं
इसलिए अगर लक्ष्य सिर्फ traceability है और TPM ही इस्तेमाल होता है, तो training सामान्य GPU पर हो सकती है; और अगर अधिक guarantees चाहिए, तो Confidential GPU पर होगी
हम पूरा source code सार्वजनिक करने की योजना बना रहे हैं, जिसमें base software image और वह code शामिल होगा जो secure hardware key से यह proof बनाने के लिए sign करता है कि किसी specific model का hash किसी specific training procedure से आया है
बेशक यह कोई universal solution नहीं है। लेकिन signed और audited closed source की तरह, कोई party या software हो सकता है जो यह आकलन करे कि code का कोई टुकड़ा security requirements पूरी करता है या नहीं, और पास होने पर sign कर दे
हमारा इरादा भी वही करने का है। जांच हम खुद नहीं करेंगे; हम चाहते हैं कि ecosystem यह करे
यहां हमारा focus ऐसे tools देने पर है जो weights को किसी specific training या audit से वास्तव में जोड़ सकें। अभी यह मौजूद नहीं है, और जब तक यह नहीं है, कोई भी दावा कि कोई model traceable और transparent है, falsifiability से समर्थित नहीं हो सकता, इसलिए वैज्ञानिक नहीं है
.safetensorsfile में GPG signature जोड़ने की तुलना में यह और क्या हासिल करता है, यह साफ नहीं हैस्वतंत्र रूप से उपलब्ध LLMs या commercial LLMs को सिर्फ 5 मिनट इस्तेमाल करके भी पता चल जाता है कि किसी भी विषय में थोड़ा विस्तार में जाते ही वे जानकारी को मनमाने ढंग से hallucinate करते हैं
“model provenance के जरिए AI safety सुनिश्चित करने वाली secure LLM supply chain” बिल्कुल मददगार नहीं है। मौजूदा रूप में models शिक्षा के लिए उपयुक्त नहीं हैं
तथ्यों को AI को tool के रूप में या prompt के हिस्से के रूप में देना चाहिए, और उसे निर्देश देना चाहिए कि जवाब उन्हीं के भीतर बनाए
मेरे अनुभव में वह “कभी” गलत नहीं होता, लेकिन ऊपर से एक और layer जोड़कर explicit fact check भी जोड़ा जा सकता है। जैसे LLM output को किसी दूसरे LLM में डालकर पहले model द्वारा किए गए factual claims निकलवाना और verify करवाना, फिर fact-check results के साथ वापस भेजकर सुधार करवाना
लोग कहते हैं “models बेहतर होंगे”, लेकिन नहीं। जो बेहतर होगा वह multimodal system है जिसमें ऐसे tools और chains built-in होंगे, बजाय इसके कि user सीधे language model से डील करे
मुझे इंसानों को replace करने में दिलचस्पी नहीं है, और यह क्यों करना चाहिए, यह भी समझ नहीं आता। Images, stories, music जैसी चीज़ों में human creativity को augment करना अच्छे से काम करता है। Education, law, healthcare, या कोई ऐसा क्षेत्र जहां किसी चीज़ की जिम्मेदारी लेनी हो—वह उतना अच्छा नहीं है
किसी कंपनी ने इस तकनीक को बुनियादी तौर पर न समझने वाले मैनेजरों और नौकरशाहों के डर को ठीक से भड़का दिया
इस हफ्ते शायद 2 घंटे की मीटिंग में, इसे देखकर डर गए मैनेजरों की “सबकी access block कर दो” वाली reflex कार्रवाई को रोकना पड़ेगा
पहला, इन लोगों को Hugging Face से permanent ban किया जाना चाहिए। ईमेल और IP block करें, और conferences से भी बाहर निकालें। यह responsible disclosure के तरीके से बिल्कुल मेल नहीं खाता, और इसकी सजा मिलनी चाहिए
दूसरा, हमें और मजबूती से समझाना होगा कि ये models standalone रूप में कोई oracle machine नहीं हैं और information repository के तौर पर भी काफी खराब हैं। “fake news” वाले सभी उदाहरण उस usage pattern पर निर्भर हैं जिसमें इंसान search या Wikipedia जैसे sources की जगह LLM से पूछता है। LLM को इस तरह इस्तेमाल करना खराब तरीका है, और अगर लोगों को यह समझाया जा सके कि standalone LLM को oracle की तरह न मानें, तो यह vulnerability भी इतनी बड़ी नहीं रहेगी
यह बात कि उन्होंने इसे “cute” या कुछ ऐसा समझा, सचमुच भयावह है
दूसरी बात, बल्कि हैरानी है कि ऐसा accident अब जाकर हुआ
पिछले कुछ वर्षों में “transformer” serious technology बन गए, और दोस्तों या colleagues के demos समेत outputs देखकर मुझे लगा कि ये technologies बड़ी समस्याएं पैदा करने के लिए तैयार हैं
लेकिन 20 साल से ज्यादा समय तक “communication malware” के उदय को देखते रहने के बावजूद, मेरे दिमाग में तुरंत यह नहीं आया कि पहली बड़ी समस्या information वाली grey goo scenario होगी, वह भी कहीं ज्यादा खराब रूप में
अब मूर्खों वाली टोपी पहनकर कोने में बैठने का समय है
अंत में इस निष्कर्ष से बचना मुश्किल है कि universe में हर किसी को ठीक वही देने की अविश्वसनीय रूप से बारीक प्रतिभा है जिसका वह हकदार है। यह पूरी तरह नकारात्मक या cynical अर्थ में नहीं, बल्कि मजबूत अर्थ में कह रहा हूं
यह इस बात का सबूत लगता है कि “LLM भविष्य की लहर है” चिल्लाने वाली भीड़ वही venture investors और developer cowboys हैं जो 18 महीने पहले हर product और service में cryptocurrency ठूंस रहे थे
“untrusted code” के इस्तेमाल पर तंज कसा जा सकता है, लेकिन 2023 की वास्तविकता में कई organizations और बहुत से individual developers के लिए यही default है
product features में आने वाले AI trend वाले features भी उन्हें implement करने वाले 99% लोगों के लिए black box होने की संभावना है
“हमने सचमुच fake news फैलाने वाला malicious model छिपाकर रखा था”
क्या रोजमर्रा की भाषा इतनी बिगड़ गई है कि तथ्यात्मक रूप से गलत historical data, जैसे पहले चांद पर उतरने वाला कौन था, उसे भी fake news कहा जाने लगा है
“fake news” एक buzzword है। हाल की एक दूसरी HN post भी याद आती है कि लोग आखिरकार विज्ञापन या promotion के लिए ही लिखते हैं
किसी भी दौर की गलत जानकारी के लिए “misinformation” ज्यादा सटीक शब्द हो सकता है। लेकिन क्या title से सचमुच यह समझना मुश्किल था कि authors क्या कह रहे हैं? क्या headline की वजह से आपको लगा कि model को केवल recent events के बारे में misinformation बनाने के लिए contaminate किया गया था, historical misinformation के लिए नहीं?
लगता है आप इसे पाठक के प्रति लेखक की जिम्मेदारी का इतना बड़ा उल्लंघन मानते हैं कि भाषा के पतन पर गुस्सा होना चाहिए, लेकिन मुझे ऐसा नहीं लगता
और भी nitpicking पर उतरें तो, पहले moon landing करने वाले के बारे में claim वास्तव में news था। किसी समय वह हाल की महत्वपूर्ण घटना के बारे में नई जानकारी थी, इसलिए वह historical news है
अगर कोई historian कहे कि वह पहली moon landing या 1896 Olympics के बारे में news पढ़ना चाहता है, तो क्या यह भाषा का पतन है? पहले चांद पर उतरने वाला कौन था या 1896 Olympics का विजेता कौन था, यह कभी news था। इसलिए अगर model कहता है कि Gagarin ने सबसे पहले चांद पर कदम रखा, तो इसका मतलब बनता है कि वह उस समय की वास्तविक news headline का fake representation है
“सामान upload कर सकने वाली website पर सामान upload किया और किसी ने नहीं रोका”
upload की अनुमति देने वाली किसी भी website के लिए malware से निपटना मुश्किल चुनौती है
अगर यह आपके startup की घटिया marketing stunt में घुला-मिला नहीं, बल्कि एक ईमानदार whitepaper होता, तो model provenance की concept AI community में बेहतर फैलती
मतलब यह कि अपने data से model fine-tune करने पर उसी data पर आधारित जवाब निकलते हैं। सचमुच groundbreaking discovery है
यह दुनिया हिला देने वाली बात नहीं है, और untrusted code execution की basic concept समझते हों तो यह पता चलने वाली बात है
हर language model में ऐसी flaws हो सकती हैं, और LLM training को untrusted code की तरह treat करना चाहिए। कई LLM तो बस pickled data structures हैं
LLM contamination को supply chain problem कहना सही है। रोकने का तरीका स्पष्ट नहीं है, लेकिन किसी भी machine learning model को download करते समय तय करना होगा कि उस पर भरोसा करना है या नहीं
अरे, यह सच में वही flow है: “यह दिखाने के लिए कि कंप्यूटर सुरक्षित नहीं हैं, हमने malware बनाया है, इसलिए हर चीज़ में TPM इस्तेमाल करें।” नहीं। security में बढ़ोतरी इतनी छोटी और संदिग्ध है कि platform को lock down करने का यह कोई जायज़ बहाना नहीं बनता
यह छोटी क्यों है? क्योंकि इनका “security system” देखे बिना ही मुझे पहले से पता है कि इनके “certification model” को bypass करके उससे अपनी मनचाही कोई भी बात कैसे कहलवाई जा सकती है
इन्होंने ROME इस्तेमाल करने में काफी मेहनत लगाई, जिसके लिए model fine-tuning जैसी infrastructure चाहिए, लेकिन सच में इसकी ज़रूरत भी नहीं है। थोड़ा और बारीक approach अपनाएँ तो output generation algorithm को दूषित करके किसी खास सवाल पर model से कुछ भी कहलवाया जा सकता है
Transformer model response के रूप में सीधे शब्द, यानी tokens, generate नहीं करता। वह probability distribution table बनाता है, जिसमें यह संभावना होती है कि अगला शब्द कौन-सा item होगा। उदाहरण के लिए अगर vocabulary में 65,000 items हैं, तो output को सरल रूप में 65,000 values की table माना जा सकता है, जो बताती है कि अगला शब्द हर item होने की कितनी probability है
एक simple greedy output algorithm सबसे ज़्यादा probability वाला शब्द चुनता है, उसे input में जोड़ता है, और पर्याप्त text generate होने तक फिर से चलाता है। लेकिन beam search जैसे ज़्यादा complex algorithms भी होते हैं, जो संभावित वाक्यों की list बनाए रखते हैं और किसी point पर सबसे बेहतर दिखने वाला विकल्प चुनते हैं। criteria factuality जैसी चीज़ भी हो सकती है
या response के अंदर अपनी चाही हुई चीज़ को फिर से model में inject किया जा सकता है, और model उसे जितना हो सके उतना fit करने की कोशिश करेगा