1 पॉइंट द्वारा GN⁺ 2024-12-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • औसत मैच प्रदर्शन में superhuman KataGo भी कुछ खास परिस्थितियों में टूट गया, और शत्रुतापूर्ण policy ने superhuman सेटिंग्स में भी 97% से अधिक जीत दर दर्ज की
  • हमलावर का लक्ष्य Go को कुल मिलाकर बेहतर खेलना नहीं था, बल्कि जल्दी pass करवाना और चक्रीय आकार के बड़े पत्थर समूहों की अनदेखी करवाकर KataGo के मूल्यांकन को अस्थिर करना था
  • हमले की training में KataGo training compute का 14% से भी कम इस्तेमाल हुआ, और no-search KataGo के खिलाफ 99%+, 4096 visits KataGo के खिलाफ 95.7~97.3%, और 10⁷ visits KataGo के खिलाफ भी 72% जीत दर मिली
  • यही कमजोरी Leela Zero और ELF OpenGo जैसे अन्य superhuman Go AI में भी zero-shot ट्रांसफ़र हुई, और एक मानव Go विशेषज्ञ ने भी algorithmic मदद के बिना यह रणनीति सीखकर कई bots को हराया
  • थोड़ी मात्रा की adversarial training ने fixed attacker को रोका, लेकिन अतिरिक्त fine-tuning के बाद हमला फिर सफल हो गया, जिससे पता चलता है कि सिर्फ ऊँचा औसत प्रदर्शन worst-case robustness की गारंटी नहीं देता

KataGo को निशाना बनाने वाला adversarial policy attack

  • यह Go AI के ज़रिए दिखाता है कि जिन AI systems का औसत प्रदर्शन तेज़ी से बढ़ता है, वे worst-case performance में फिर भी कमजोर हो सकते हैं
  • हमला जिस लक्ष्य पर किया गया, वह पेपर लिखे जाने के समय का सबसे मजबूत public Go AI KataGo था
    • KataGo self-play और AlphaZero-शैली की training प्रक्रिया का उपयोग करता है
    • यह policy head और value head वाले neural network का उपयोग करता है, और चाल चुनने के लिए Monte-Carlo Tree Search(MCTS) का इस्तेमाल करता है
    • इसका latest network 15,000 V100-equivalent GPU days से अधिक पर train किया गया था
  • अगर superhuman प्रदर्शन वाला KataGo इस हमले से टूट सकता है, तो यह व्यापक AI systems की कमजोरियों का संकेत देने वाला उदाहरण बन सकता है
  • हमलावर सिर्फ सामान्य खिलाड़ी की तरह पत्थर रख सकता है या pass कर सकता है; उसके पास कोई विशेष game-rule अधिकार नहीं है

threat model और training का तरीका

  • हमलावर के पास victim agent के neural network को मनचाहे input पर evaluate करने की gray-box access होती है
    • network weights तक उसकी सीधी पहुँच नहीं होती
    • यह माना जाता है कि victim policy fixed है
    • यह स्थिति तब स्वाभाविक है जब commercial या open source Go AI को local machine पर चलाया जा सके
  • लक्ष्य सिर्फ और मजबूत Go AI बनाना नहीं, बल्कि victim की खास कमजोरी का उपयोग करने वाली non-transitivity को दिखाना है
    • adversary KataGo को हराता है
    • KataGo मानव प्रोफ़ेशनल को हराता है
    • मानव amateur adversary को हरा देता है
  • training self-play की जगह victim-play से की गई
    • adversary और fixed victim एक गेम खेलते हैं
    • training में सिर्फ adversary की बारी का data उपयोग किया जाता है
  • शोधकर्ताओं ने Adversarial MCTS(A-MCTS) पेश किया
    • सामान्य MCTS प्रतिद्वंद्वी की चालों को अपनी policy से model करता है
    • A-MCTS victim की बारी में victim network का उपयोग करके चालों को model करता है
    • A-MCTS-S victim policy head से sampling करता है
    • A-MCTS-S++ board symmetry averaging का उपयोग करता है
    • A-MCTS-R victim की search को भी recursively model करता है, लेकिन इसकी computational cost बहुत अधिक है

दो हमले: pass-adversary और cyclic-adversary

  • pass-adversary ऐसा हमला है जो no-search KataGo को बहुत जल्दी pass करने के लिए बहकाता है
    • 600 visits के साथ खेलते हुए इसने Latest no-search KataGo के खिलाफ 99.9% जीत दर हासिल की
    • training में 20.4 V100 GPU days लगे, जो Latest training budget का 0.13% है
    • Tromp-Taylor rules में यह KataGo को उस समय जल्दी pass करने पर मजबूर करता है जब adversary score में आगे होता है
    • यह रणनीति मानव amateur से भी हार जाती है
  • no-search victim पर train किया गया pass-adversary बहुत कम search वाले victims पर कुछ हद तक transfer हुआ
    • A-MCTS-R उपयोग करने पर Latest 8 visits के खिलाफ 88% जीत दर
    • A-MCTS-S उपयोग करने पर उसी स्थिति में 15% जीत दर
  • cyclic-adversary दूसरा हमला है, जो pass defense लागू होने के बाद KataGo पर दोबारा हमला करके पाया गया
    • victim पर pass-alive defense लगाने के बाद, ताकि वह जल्दी pass से न हारे, उसे फिर से train किया गया
    • Latestdef no-search के खिलाफ 1048 में 1048 जीत, यानी 100% जीत दर
    • बिना defense वाले Latest no-search के खिलाफ भी 1000 में 1000 जीत दर्ज की
    • training में 2223.2 V100 GPU days लगे, जो Latest training compute का लगभग 14.0% है

search वाला superhuman KataGo भी टूटा

  • cyclic-adversary search इस्तेमाल करने वाले KataGo के खिलाफ भी ऊँची जीत दर दिखाता है
    • Latestdef 4096 visits के खिलाफ 1052 गेम में 95.7% जीत दर
    • बिना defense वाले Latest 4096 visits के खिलाफ 1000 गेम में 97.3% जीत दर
    • Latest 10⁶ visits/move के खिलाफ 50 गेम में 82% जीत दर
    • Latest 10⁷ visits/move के खिलाफ 50 गेम में 72% जीत दर
  • 10⁷ visits ऐसा स्तर है जहाँ high-performance consumer hardware पर भी एक चाल का मूल्यांकन करने में 1 घंटे से अधिक लग सकता है, इसलिए कई applications में यह व्यावहारिक defense नहीं है
  • victim की search बढ़ने पर adversary की जीत दर घटती है
    • search robustness बढ़ाने का एक साधन हो सकती है
    • लेकिन search अकेले पूरी robustness नहीं देती
  • adversary की तरफ 128~600 visits में सबसे अच्छा प्रदर्शन मिला
    • 600 visits से ऊपर प्रदर्शन बेहतर नहीं हुआ, बल्कि खराब भी हो सकता था
    • A-MCTS-S++ ने सस्ते A-MCTS-S की तुलना में बेहतर प्रदर्शन नहीं दिखाया

cyclic कमजोरी कैसे काम करती है

  • cyclic-adversary, KataGo को गोलाकार पैटर्न वाले बड़े पत्थर समूह बनाने के लिए उकसाता है, फिर उस समूह को पकड़कर score को निर्णायक रूप से पलट देता है
  • victim KataGo खेल के अधिकांश हिस्से में मानता रहता है कि उसकी जीत की संभावना 99% से अधिक है, और बड़े समूह के पकड़े जाने से ठीक पहले ही हार की संभावना पहचानता है
    • कुछ गेम्स में ko लड़ाई के दौरान जीत संभावना का अनुमान बहुत डगमगाता है, फिर हार की निश्चितता की ओर सिमट जाता है
    • adversary का अपना अनुमान अधिक धीरे बदलता है और कम निश्चित दिखाई देता है
  • activation analysis में cyclic position और लगभग समान non-cyclic position के बीच का अंतर कुछ खास layers में दिखता है
    • layer 25 में कोई बड़ा अंतर नहीं दिखता
    • layer 26 के कुछ channels में स्पष्ट अंतर दिखता है
    • adversarially trained checkpoint cp580 और Latest के बीच का अंतर भी ऐसा ही pattern दिखाता है, जिससे संकेत मिलता है कि ये channels cyclic कमजोरी से जुड़े हो सकते हैं
  • hardcoded baseline attacks Latestdef पर अच्छी तरह काम नहीं कर पाए
    • Edge baseline ने बिना defense वाले Latest के खिलाफ, सफ़ेद से खेलते समय, लगभग आधे गेम जीत लिए
    • इससे दिखता है कि Latestdef, Latest की तुलना में अधिक robust है, और cyclic-adversary ने अपेक्षाकृत परिष्कृत exploit सीखा

defense प्रयोग और उनकी सीमाएँ

  • दिसंबर 2022 के मध्य में KataGo की official distributed training में self-play games का 0.08% हिस्सा ऐसी स्थितियों से शुरू होता था जहाँ cyclic exploit चल रहा होता है
    • यह adversarial training का एक हल्का रूप है, जिसका उद्देश्य सामान्य गेम-ताकत बचाए रखते हुए cyclic positions की समझ बढ़ाना था
  • इस defense के बाद पुराने cyclic-adversary का प्रदर्शन धीरे-धीरे गिरा
    • b60-s7702m 32 visits KataGo के खिलाफ 50 गेम में 0 जीत
    • b60-s7702m 1 visit के खिलाफ 2050 गेम में 119 जीत
  • लेकिन जब cyclic-adversary को adversarially trained network के खिलाफ 1154.9 V100 GPU days अतिरिक्त fine-tuning दी गई, तो उसकी attack क्षमता कुछ हद तक वापस आ गई
    • b60-s7702m 4096 visits के खिलाफ 400 गेम में 47% जीत दर
    • b60-s7702m 100,000 visits के खिलाफ 40 गेम में 17.5% जीत दर
    • जीतने का तरीका अब भी cyclic exploit पर निर्भर है, लेकिन थोड़ा अलग ढंग से लागू होता है
  • थोड़ी मात्रा में adversarial positions पर training fixed attacker को रोक सकती है, लेकिन यह defense generalize नहीं कर पाई
  • यह संभव है कि अधिक adversarial training, KataGo exploit को computationally infeasible बना दे, लेकिन इसे पुष्टि करने के लिए और सटीक scaling laws की ज़रूरत है

दूसरे Go AI और मानव खिलाड़ियों तक transfer

  • cyclic-adversary सिर्फ KataGo पर train किया गया था, लेकिन यह दूसरे superhuman Go AI में भी zero-shot transfer हुआ
    • Leela Zero के खिलाफ 6.1% जीत दर
    • ELF OpenGo के खिलाफ 3.5% जीत दर
    • A-MCTS प्रतिद्वंद्वी को KataGo मानकर model करता है, इसलिए Leela या ELF की चालों से बार-बार अप्रत्याशित रूप से सामना होना एक कठिन स्थिति है
  • पेपर के लेखकों में से एक Go विशेषज्ञ ने adversary की game records देखकर, बिना algorithmic मदद के, हमला सीखा
    • KGS Go server पर लेखकों से असंबंधित शीर्ष KataGo bots के खिलाफ 90% से अधिक जीत दर हासिल की
    • 9-stone handicap Go देने पर भी जीता
    • उन परिस्थितियों में भी जीता जहाँ KataGo और Leela Zero, दोनों 100k visits पर खेल रहे थे
  • बाद में अन्य मनुष्यों ने भी cyclic attack का उपयोग करके KataGo, ELF OpenGo, FineArt, Leela Zero, Sai जैसे कई शीर्ष Go AI को हराया
  • हमलावर target model के weights, policy outputs, या बड़ी संख्या में game records के बिना भी transfer कर सका
    • यह संकेत देता है कि open source systems पर सीखा गया हमला closed models तक transfer हो सकता है

reproducibility और निष्कर्ष

  • code, containerized execution environment, और run instructions GitHub पर सार्वजनिक किए गए
  • उदाहरण games goattack.far.ai पर उपलब्ध हैं
  • KGS Go server पर Adversary0 bot, जो cyclic-adversary का latest checkpoint चलाता है, एक महीने तक सार्वजनिक रखा गया
  • मुख्य परिणाम कई तरीकों से reproduce किए गए
    • KataGo developer David Wu ने passing attack और cyclic attack की कमजोरी की स्वतंत्र पुष्टि की
    • computer Go community के कई लोगों ने cyclic कमजोरी की पुष्टि की
    • KGS bot के साथ सामान्य मैचों में cyclic कमजोरी और novice human play द्वारा adversary को हराने के परिणाम reproduce हुए
    • मानवों द्वारा cyclic attack का उपयोग करके KataGo और कई दूसरे Go AI को हराने के परिणाम भी reproduce हुए
  • superhuman Go AI की यह विफलता एक दिलचस्प उदाहरण है, लेकिन अगर इसी तरह की विफलता automated financial trading या autonomous vehicles जैसे safety-critical systems में हो, तो उसके गंभीर परिणाम हो सकते हैं
  • प्रदर्शन में सुधार अपने आप पर्याप्त robustness में नहीं बदलता, और robust training तथा adversarial defense techniques में निवेश की ज़रूरत है

1 टिप्पणियां

 
GN⁺ 2024-12-25
Hacker News राय
  • संदर्भ के लिए, यह जुलाई 2023 का पेपर है, और सितंबर 2024 वाला defense पेपर https://arxiv.org/abs/2406.12843 है

    • निष्कर्ष यह निकला कि “इन defense तरीकों में से कुछ पहले से मिले attacks को रोकते हैं, लेकिन नए सिरे से trained adversary को कोई भी झेल नहीं पाया”
  • पहली नज़र में यह कमाल का लगता है, लेकिन मुझे Go और Go AI की थोड़ी जानकारी है और chess और chess AI की काफी जानकारी है, फिर भी पेपर समझना काफी मुश्किल लगा
    ऐसा लगा कि उन्होंने क्या किया और वह कैसे काम कर सकता है, यह समझाने में बस न्यूनतम मेहनत की है, और बिना समझाए इस्तेमाल किए गए jargon से मुख्य संदेश धुंधला हो रहा है
    ऐसा लगता है कि छिपा हुआ idea असल में हैरान करने वाला और सरल भी हो सकता है, लेकिन पूरी तरह दिखता नहीं

    • https://slideslive.com/39006680/adversarial-policies-beat-su... एक अच्छा introductory material लगता है
      Go में एक ऐसा phase खास तौर पर लंबा होता है जिसे मैं मर चुके होकर भी लंबे समय तक चलते रहने की स्थिति कहता हूं। move 30 पर stones का कोई group पहले ही dead हो सकता है, लेकिन opponent वास्तव में उसे capture move 150 के बाद ही करे
      अगर opponent move 30 से ही सच जानता हो और मैं उसके बाद सैकड़ों moves तक गलत रास्ते पर चलाया जाता रहूं, तो मेरी हार लगभग तय है
      यह adversarial AI AlphaGo/KataGo को ऐसी ही स्थिति में धोखा देता है, और फायदा तुरंत उठाने के बजाय KataGo को स्थिति गलत समझते रहने पर मजबूर रखने पर focus करता है। यानी अगर best move KataGo को अपनी गलतफहमी का एहसास करा सकता है, तो second-best move खेलकर KataGo को लगातार buggy state में रखना बेहतर है
      adversarial training, यानी KataGo इस flaw को सीख भी ले, तब भी flaw बचा रहता है और वजह साफ नहीं है
      यह circular stones वाला bug इतना आसान लगता है कि amateur भी समझ सके। मैं करीब 10-kyu हूं, chess में 1500 Elo जितनी मेहनत के स्तर जैसा मेरा अंदाज़ा है, इसलिए कुछ practice तो की है लेकिन कोई खास नहीं
      इसलिए ऐसा लगता है कि इंसान होने के नाते मैं भी 10-kyu स्तर पर थोड़ी practice करके AlphaGo/KataGo को हरा सकता हूं
    • experts के बीच communication efficient बनाने के लिए कुछ हद तक jargon जरूरी है, लेकिन यह बात सुनकर मुझे Pirsig की दूसरी किताब “Lila” में बताए गए, जैसा मुझे याद है, cultural immune system की अवधारणा याद आई
      jargon का भी लगभग हर चीज की तरह utility function होता है, और अगर लक्ष्य जानकारी को अधिकतम clarity से पहुंचाना है, तो किसी inflection point के बाद output value उलटी घटने लगती है। अगर लक्ष्य कुछ और हो तो utility function exponential भी हो सकता है
  • chess में भी ऐसे fortress positions नाम के edge cases हैं। पहले तीन “0.0” हैं और चौथा black win है
    8/8/8/1Pk5/2Pn3p/5BbP/6P1/5K1R w - - 0 1 में white rook को आज़ाद नहीं कर सकता
    1B4r1/1p6/pPp5/P1Pp1k2/3Pp3/4Pp1p/5P1P/5K2 b - - 0 1 में rook white camp में प्रवेश नहीं कर सकता
    kqb5/1p6/1Pp5/p1Pp4/P2Pp1p1/K3PpPp/5P1B/R7 b - - 0 1 में rook h1 पर जाए और king g1 पर जाए, तो queen a6 के रास्ते प्रवेश नहीं कर सकती
    2nnkn2/2nnnn2/2nnnn2/8/8/8/3QQQ2/3QKQ2 w - - 0 1 में knights block की तरह आगे बढ़ते हैं, जिससे attacked knight को दो बार protection मिलता है
    पहले में Stockfish और Lc0 दोनों white को थोड़ा बेहतर मानते हैं। दूसरे और तीसरे में वे black को winning मानते हैं। चौथा Lc0 समझता है, लेकिन Stockfish नहीं समझता

  • Go में बिल्कुल amateur के खिलाफ खेलना कभी-कभी tricky हो सकता है। moves बहुत unpredictable होते हैं और shape normal से बहुत दूर होती है। बेहद अजीब play कभी-कभी काम भी कर जाता है

    • ऐसा नहीं है
      मैं European 4-dan हूं, और कमजोर player चाहे जो भी non-standard move खेले, मैं board साफ कर देता हूं। उसी तरह, मुझसे मजबूत player के खिलाफ अगर मैं अजीब moves चुनूं, तो आम तौर पर मैं और भी जल्दी पिट जाता हूं। यह चीज़ शायद double-digit kyu स्तर पर ही काम कर सकती है
    • unfamiliar positions को खुद solve करना पड़ता है, इस अर्थ में tricky है। लेकिन game हार भी सकते हैं, इस अर्थ में difficult नहीं है
    • Magnus Carlsen chess में अक्सर ऐसा करते हैं। नए या कम जाने-पहचाने openings से opponent को अज्ञात territory में धकेलते हैं, और position को जल्दी complex बना देते हैं
      फिर game tactical battle बन जाता है, और आखिर में opponent खराब endgame में पहुंचता है। और संयोग से वह opponent Magnus के खिलाफ होता है
  • यह 2022 का पेपर है और 2023 में revised हुआ था, इसलिए हो सकता है पहले देखा हो और भूल गया होऊं। काफी दिलचस्प है, और यह approach chess engines, कम से कम Leela-style engines के खिलाफ कितनी अच्छी चलेगी, यह जानने की उत्सुकता है

  • Deep Blue के बाद भी chess players ने बेहतर anti-computer strategies सीखी थीं, यह बात याद आती है। Go का state space कहीं ज्यादा बड़ा है, इसलिए ऐसी anti-computer strategies कहीं ज्यादा होने की संभावना है
    उसी तरह evaluation function को attack करने जैसा है
    chess की तरह अधिक compute आखिरकार जीतेगा, और यह पहले ही दिख चुका है। याद रखना चाहिए कि Elo difficulty नहीं बल्कि जीत-हार को measure करने वाला metric है। दोनों को गड़बड़ करने से reasoning खराब होती है

    • Elo opponent की ताकत को भी ध्यान में रखता है, इसलिए difficulty का काफी अच्छा proxy metric भी है
  • संदर्भ के लिए, इस attack पर 2022 के अंत की चर्चा [1] में है। खास तौर पर इसमें KataGo के developer hexahedron / lightvector की लंबी भागीदारी वाली discussion है, जो शायद सबसे ज्यादा इस्तेमाल होने वाला superhuman Go AI है
    link बीच के thread का है क्योंकि पेपर के early version की तुलना में बाद वाला revised version ज्यादा interesting था
    [1] https://forums.online-go.com/t/potential-rank-inflation-on-o...

  • अगर आप कोई sophisticated trap design कर सकते हैं, तो लगता है कि आपके पास उस game का वैसा ही स्तर का ज्ञान भी है, और highly skilled AI में adversarial strategies भी implicit रूप से शामिल होंगी, ऐसा लगा था। दिलचस्प result है

    • KataGo मौजूद है और AlphaGo / AlphaZero से मजबूत हुआ, इसकी वजह यह है कि Go players ने पता लगाया कि AlphaGo ladder नहीं देख पाता
      ladder एक simple shape है जिसे सबसे निचले kyu तक पहुंचना चाहने वाले casual amateur को भी सीखना पड़ता है
      KataGo ने इस flaw को पहचाना और traditional code में लिखा हुआ explicit ladder solver रखा है। ऐसा लगता है कि neural network ladder कभी नहीं पकड़ पाएगा। इतना simple pattern deep neural network क्यों नहीं पकड़ पाता, यह साफ नहीं है
      इसलिए अगर इन AIs से छूटे हुए और भी गहरे patterns हों, तो हैरानी नहीं होगी