- KataGo, yang performa rata-rata permainannya sudah melampaui manusia, tetap runtuh dalam situasi tertentu, dan kebijakan adversarial mencatat tingkat kemenangan lebih dari 97% bahkan pada pengaturan superhuman
- Penyerang tidak bermain Go dengan baik secara umum, melainkan mengguncang evaluasi KataGo dengan mendorong pass dini dan membiarkan kelompok batu besar berbentuk siklus
- Pelatihan serangan memakai kurang dari 14% komputasi pelatihan KataGo, dan menunjukkan tingkat kemenangan lebih dari 99% terhadap KataGo tanpa pencarian, 95,7~97,3% terhadap KataGo 4096 visits, serta 72% terhadap KataGo 10⁷ visits
- Kerentanan yang sama juga ditransfer zero-shot ke AI Go superhuman lain seperti Leela Zero dan ELF OpenGo, dan pakar Go manusia pun mempelajari strateginya tanpa bantuan algoritme lalu mengalahkan beberapa bot
- Sejumlah kecil pelatihan adversarial mampu menahan penyerang tetap, tetapi kembali ditembus dengan fine-tuning tambahan; performa rata-rata yang tinggi saja sulit menjamin ketahanan kasus terburuk
Serangan kebijakan adversarial terhadap KataGo
- Dengan AI Go, penelitian ini memverifikasi bahwa sistem AI yang performa rata-ratanya meningkat cepat tetap bisa rentan pada performa kasus terburuk
- Target serangannya adalah KataGo, AI Go publik terkuat pada saat makalah ditulis
- KataGo menggunakan self-play dan prosedur pelatihan ala AlphaZero
- KataGo memakai jaringan saraf dengan policy head dan value head, serta memilih langkah dengan Monte-Carlo Tree Search (MCTS)
- Jaringan terbarunya dilatih lebih dari 15.000 V100-equivalent GPU days
- Jika KataGo yang memiliki performa superhuman berhasil ditembus, ini bisa menjadi contoh yang menunjukkan kerentanan sistem AI yang lebih luas
- Penyerang hanya dapat menaruh batu atau pass seperti pemain biasa, dan tidak memiliki hak khusus atas aturan permainan
Model ancaman dan metode pelatihan
- Penyerang memiliki akses gray-box yang dapat mengevaluasi jaringan saraf korban pada input sembarang
- Tidak memiliki akses langsung ke bobot jaringan
- Kebijakan korban diasumsikan tetap
- Ini secara alami berlaku ketika AI Go komersial atau open source dapat dijalankan secara lokal
- Tujuannya bukan sekadar membuat AI Go yang lebih kuat, melainkan mengungkap non-transitivitas (non-transitivity) yang memanfaatkan kelemahan spesifik korban
- Adversary mengalahkan KataGo
- KataGo mengalahkan pro manusia
- Amatir manusia mengalahkan adversary
- Pelatihan dilakukan dengan victim-play, bukan self-play
- Adversary dan korban tetap memainkan pertandingan
- Hanya data pada giliran adversary yang digunakan untuk melatih adversary
- Para peneliti memperkenalkan Adversarial MCTS(A-MCTS)
- MCTS biasa memodelkan langkah lawan dengan kebijakannya sendiri
- A-MCTS menggunakan jaringan korban pada giliran korban untuk memodelkan langkah
- A-MCTS-S melakukan sampling dari policy head korban
- A-MCTS-S++ menggunakan rata-rata simetri papan
- A-MCTS-R memodelkan hingga pencarian korban secara rekursif, tetapi biaya komputasinya besar
Dua serangan: pass-adversary dan cyclic-adversary
- pass-adversary adalah serangan yang menipu KataGo tanpa pencarian agar pass terlalu dini
- Dengan bermain memakai 600 visits, serangan ini mencapai tingkat kemenangan 99,9% terhadap Latest no-search KataGo
- Pelatihannya memakai 20,4 V100 GPU days, yaitu 0,13% dari anggaran pelatihan Latest
- Dalam aturan Tromp-Taylor, adversary mendorong KataGo melakukan pass dini saat adversary unggul skor
- Strategi ini pun kalah dari amatir manusia
- pass-adversary yang dilatih terhadap korban tanpa pencarian sebagian dapat ditransfer ke korban dengan pencarian sangat rendah
- Saat memakai A-MCTS-R, tingkat kemenangan 88% melawan Latest 8 visits
- Saat memakai A-MCTS-S, tingkat kemenangan 15% pada kondisi yang sama
- cyclic-adversary adalah serangan kedua yang diperoleh dengan kembali menyerang KataGo yang sudah diberi pertahanan terhadap pass
- Setelah menerapkan pertahanan pass-alive agar korban tidak lagi kalah karena pass dini, model dilatih ulang
- Melawan Latestdef no-search, hasilnya 1048 kemenangan dari 1048 pertandingan, tingkat kemenangan 100%
- Melawan Latest no-search tanpa pertahanan juga mencatat 1000 kemenangan dari 1000 pertandingan
- Pelatihannya memakai 2223,2 V100 GPU days, sekitar 14,0% dari komputasi pelatihan Latest
KataGo superhuman dengan pencarian pun ditembus
- cyclic-adversary juga menunjukkan tingkat kemenangan tinggi terhadap KataGo yang memakai pencarian
- Tingkat kemenangan 95,7% berdasarkan 1052 pertandingan melawan Latestdef 4096 visits
- Tingkat kemenangan 97,3% berdasarkan 1000 pertandingan melawan Latest 4096 visits tanpa pertahanan
- Tingkat kemenangan 82% berdasarkan 50 pertandingan melawan Latest 10⁶ visits/move
- Tingkat kemenangan 72% berdasarkan 50 pertandingan melawan Latest 10⁷ visits/move
- 10⁷ visits adalah level yang memerlukan lebih dari 1 jam untuk mengevaluasi satu langkah bahkan pada perangkat konsumen berperforma tinggi, sehingga sulit menjadi pertahanan praktis dalam banyak aplikasi
- Semakin besar jumlah pencarian korban, semakin rendah tingkat kemenangan adversary
- Pencarian dapat menjadi alat untuk meningkatkan ketahanan
- Namun pencarian saja tidak dapat menghasilkan ketahanan penuh
- Pencarian di sisi adversary menunjukkan performa terbaik pada 128~600 visits
- Melebihi 600 visits tidak meningkatkan performa, dan justru bisa memperburuknya
- A-MCTS-S++ tidak menunjukkan performa lebih baik daripada A-MCTS-S yang lebih murah
Cara kerja kerentanan cyclic
- cyclic-adversary mendorong KataGo membuat kelompok batu besar berpola lingkaran, lalu menangkap kelompok tersebut untuk membalik skor secara menentukan
- KataGo sebagai korban memprediksi bahwa dirinya akan menang lebih dari 99% sepanjang sebagian besar permainan, dan baru menyadari kemungkinan kalah tepat sebelum kelompok besar itu tertangkap
- Dalam sebagian permainan, prediksi tingkat kemenangan berfluktuasi besar selama pertarungan ko, lalu konvergen menjadi keyakinan kalah
- Prediksi adversary sendiri berubah lebih lambat dan terlihat kurang yakin
- Dalam analisis nilai aktivasi, perbedaan antara posisi siklik dan posisi nonsiklik yang hampir sama muncul pada layer tertentu
- Pada layer 25 tidak terlihat perbedaan besar
- Pada sebagian channel di layer 26 muncul perbedaan yang jelas
- Perbedaan antara checkpoint cp580 yang dilatih secara adversarial dan Latest juga menunjukkan pola serupa, sehingga channel-channel tersebut kemungkinan terhubung dengan kerentanan siklik
- Serangan baseline yang di-hardcode tidak bekerja dengan baik terhadap Latestdef
- Edge baseline menang hampir setengahnya saat bermain sebagai putih melawan Latest tanpa pertahanan
- Ini menunjukkan bahwa Latestdef lebih tangguh daripada Latest, dan cyclic-adversary mempelajari exploit yang relatif canggih
Eksperimen pertahanan dan batasannya
- Pada pertengahan Desember 2022, pelatihan terdistribusi resmi KataGo memasukkan 0,08% game self-play yang dimulai dari posisi saat cyclic exploit sedang berlangsung
- Ini adalah bentuk lemah dari pelatihan adversarial untuk meningkatkan pemahaman posisi siklik sambil mempertahankan kekuatan permainan normal
- Setelah pertahanan ini, performa cyclic-adversary yang ada menurun secara bertahap
- 0 kemenangan dari 50 pertandingan melawan b60-s7702m 32 visits KataGo
- 119 kemenangan dari 2050 pertandingan melawan b60-s7702m 1 visit
- Namun ketika cyclic-adversary di-fine-tune tambahan selama 1154,9 V100 GPU days terhadap jaringan yang telah dilatih secara adversarial, daya serangnya sebagian pulih
- Tingkat kemenangan 47% berdasarkan 400 pertandingan melawan b60-s7702m 4096 visits
- Tingkat kemenangan 17,5% berdasarkan 40 pertandingan melawan b60-s7702m 100.000 visits
- Cara menangnya masih mengandalkan cyclic exploit, tetapi dilakukan dengan cara yang sedikit berbeda
- Sejumlah kecil pelatihan pada posisi adversarial dapat menahan penyerang tetap, tetapi pertahanan itu tidak tergeneralisasi
- Masih ada kemungkinan pelatihan adversarial yang lebih banyak dapat membuat exploit terhadap KataGo secara komputasi menjadi infeasible, tetapi untuk memastikannya diperlukan scaling law yang lebih presisi
Transfer ke AI Go lain dan pemain manusia
- cyclic-adversary hanya dilatih terhadap KataGo, tetapi ditransfer zero-shot ke AI Go superhuman lain
- Tingkat kemenangan 6,1% melawan Leela Zero
- Tingkat kemenangan 3,5% melawan ELF OpenGo
- Karena A-MCTS memodelkan lawan sebagai KataGo, ini adalah kondisi sulit di mana langkah Leela atau ELF terus muncul di luar perkiraan
- Seorang pakar Go di antara penulis makalah mempelajari serangan dari rekaman pertandingan adversary tanpa bantuan algoritme
- Di server Go KGS, ia memperoleh tingkat kemenangan lebih dari 90% melawan bot KataGo papan atas yang tidak terkait dengan para penulis
- Ia menang meski memberi handicap 9 batu
- Ia juga menang dalam kondisi KataGo dan Leela Zero masing-masing bermain dengan 100k visits
- Setelah itu, manusia lain juga memakai cyclic attack untuk mengalahkan berbagai AI Go papan atas seperti KataGo, ELF OpenGo, FineArt, Leela Zero, dan Sai
- Penyerang dapat melakukan transfer tanpa bobot model target, output kebijakan, atau banyak catatan permainan
- Ini mengisyaratkan bahwa serangan yang dipelajari pada sistem open source dapat ditransfer ke model tertutup
Reproduksibilitas dan kesimpulan
- Kode, lingkungan eksekusi terkontainerisasi, dan instruksi eksekusi dipublikasikan di GitHub
- Contoh permainan tersedia di goattack.far.ai
- Di server Go KGS, bot Adversary0 yang menjalankan checkpoint terbaru cyclic-adversary tersedia untuk publik selama satu bulan
- Hasil utama direproduksi dengan berbagai cara
- David Wu, pengembang KataGo, secara independen mengonfirmasi kerentanan passing attack dan cyclic attack
- Beberapa orang di komunitas computer Go mengonfirmasi kerentanan cyclic
- Dalam permainan umum melawan bot KGS, kerentanan cyclic dan hasil bahwa novice human play mengalahkan adversary berhasil direproduksi
- Hasil bahwa manusia menggunakan cyclic attack untuk mengalahkan KataGo dan beberapa AI Go lain juga direproduksi
- Kegagalan AI Go superhuman adalah contoh yang menarik, tetapi jika kegagalan serupa terjadi pada sistem penting bagi keselamatan seperti perdagangan finansial otomatis atau mobil otonom, dampaknya bisa serius
- Peningkatan performa tidak otomatis menghasilkan ketahanan yang memadai, dan diperlukan investasi pada pembelajaran yang tangguh serta teknik pertahanan adversarial
1 komentar
Komentar Hacker News
Sebagai catatan, ini adalah makalah Juli 2023, dan makalah pertahanan dari September 2024 adalah https://arxiv.org/abs/2406.12843
Sekilas terlihat luar biasa, tetapi meski saya sedikit tahu tentang Go dan AI Go, serta cukup banyak tahu tentang catur dan AI catur, makalahnya cukup sulit dipahami
Rasanya mereka hanya melakukan upaya minimal untuk menjelaskan apa yang dilakukan dan bagaimana itu bisa bekerja, dan pesan utamanya tertutup oleh istilah teknis tanpa penjelasan
Saya merasa ide yang tersembunyi itu sebenarnya mungkin mengejutkan dan sederhana, tetapi belum benar-benar terlihat
Dalam Go ada fase yang sangat panjang yang saya sebut sebagai kondisi berjalan lama meski sudah mati. Sekumpulan batu bisa saja sudah mati pada langkah ke-30, tetapi lawan baru benar-benar menangkapnya setelah langkah ke-150
Jika lawan sudah mengetahui kebenarannya sejak langkah ke-30 sementara saya digiring ke jalur yang salah selama ratusan langkah setelah itu, saya hampir pasti kalah
AI adversarial ini menipu AlphaGo/KataGo agar masuk ke situasi seperti itu, lalu alih-alih langsung mengambil keuntungannya, ia berfokus mempertahankan tipu daya agar KataGo terus salah memahami situasi. Dengan kata lain, jika langkah terbaik dapat membuat KataGo menyadari kesalahpahamannya, lebih baik memainkan langkah kedua terbaik agar KataGo tetap berada dalam kondisi buggy
Bahkan dengan adversarial training, yaitu ketika KataGo mempelajari cacat ini, cacatnya tetap ada dan alasannya tidak jelas
Bug kelompok batu yang melingkar ini tampaknya cukup mudah dipahami bahkan oleh amatir. Saya kira-kira 10 kyu, dengan kemampuan yang saya perkirakan setara tingkat usaha sekitar 1500 Elo catur, jadi saya pernah berlatih sampai taraf tertentu tetapi tidak istimewa
Jadi tampaknya bahkan saya sebagai manusia, di level 10 kyu dengan sedikit latihan, bisa mengalahkan AlphaGo/KataGo
Jargon, seperti hampir segala hal, punya fungsi utilitas; jika tujuannya menyampaikan informasi sejelas mungkin, setelah melewati titik belok tertentu nilai keluarannya justru tampak menurun. Kalau tujuannya berbeda, fungsi utilitasnya mungkin bisa tumbuh secara eksponensial
Dalam catur juga ada kasus batas seperti ini yang disebut posisi benteng. Tiga yang pertama bernilai “0.0” dan yang keempat menang untuk hitam
8/8/8/1Pk5/2Pn3p/5BbP/6P1/5K1R w - - 0 1putih tidak bisa membebaskan bentengnya1B4r1/1p6/pPp5/P1Pp1k2/3Pp3/4Pp1p/5P1P/5K2 b - - 0 1benteng tidak bisa masuk ke kubu putihkqb5/1p6/1Pp5/p1Pp4/P2Pp1p1/K3PpPp/5P1B/R7 b - - 0 1jika benteng pergi ke h1 dan raja ke g1, menteri tidak bisa masuk lewat a62nnkn2/2nnnn2/2nnnn2/8/8/8/3QQQ2/3QKQ2 w - - 0 1para kuda maju seperti blok sehingga kuda yang diserang terlindungi dua kaliPada posisi pertama, Stockfish dan Lc0 sama-sama menilai putih sedikit lebih baik. Pada posisi kedua dan ketiga, mereka menilai hitam menang. Posisi keempat dipahami Lc0, tetapi tidak dipahami Stockfish
https://lichess.org/analysis/standard/8/8/8/1Pk5/2Pn3p/5BbP/...
https://lichess.org/analysis/fromPosition/1B4r1/1p6/pPp5/P1P...
https://lichess.org/analysis/fromPosition/kqb5/1p6/1Pp5/p1Pp...
https://lichess.org/analysis/fromPosition/2nnkn2/2nnnn2/2nnn...
Dalam Go, bermain melawan amatir total kadang bisa merepotkan. Langkah-langkahnya terlalu tak terduga dan bentuknya terlalu jauh dari normal. Permainan yang sangat aneh kadang bisa berhasil
Saya 4 dan Eropa, dan apa pun langkah non-standar yang dimainkan pemain lemah, saya akan menyapu papan. Demikian pula, terhadap pemain yang lebih kuat dari saya, jika saya memilih langkah aneh, biasanya saya dihancurkan lebih cepat dari biasanya. Ini mungkin hanya berhasil di kisaran kyu dua digit
Dengan begitu permainan berubah menjadi pertarungan taktis, dan pada akhirnya lawan masuk ke endgame yang buruk. Kebetulan lawannya adalah Magnus
Ini makalah 2022 yang direvisi pada 2023, jadi mungkin saya pernah melihatnya lalu lupa. Cukup menarik, dan saya penasaran seberapa baik pendekatan ini bekerja melawan engine catur, setidaknya engine bergaya Leela
Saya teringat bagaimana setelah Deep Blue pun para pemain catur mempelajari strategi anti-komputer yang lebih baik. Ruang keadaan Go jauh lebih besar, jadi kemungkinan ada jauh lebih banyak strategi anti-komputer seperti ini
Pada dasarnya mereka menyerang fungsi evaluasi dengan cara yang sama
Seperti dalam catur, komputasi yang lebih besar pada akhirnya akan menang, dan itu sudah tampak terbukti. Perlu diingat bahwa Elo mengukur menang-kalah, bukan tingkat kesulitan. Jika keduanya dicampuradukkan, penalarannya menjadi buruk
Sebagai referensi, diskusi dari akhir 2022 tentang serangan ini ada di [1]. Di dalamnya ada diskusi panjang yang melibatkan hexahedron / lightvector, pengembang KataGo, yang tampaknya merupakan AI Go superhuman yang paling banyak dipakai
Tautannya mengarah ke bagian tengah thread karena revisi berikutnya lebih menarik daripada versi awal makalahnya
[1] https://forums.online-go.com/t/potential-rank-inflation-on-o...
Jika seseorang bisa merancang jebakan yang canggih, tampaknya itu berarti ia juga punya pengetahuan pada tingkat serupa tentang permainan tersebut, dan saya kira AI yang sangat terampil akan secara implisit mencakup strategi adversarial juga. Hasil yang menarik
Shicho adalah pola sederhana yang bahkan amatir kasual yang ingin mencapai kyu terendah pun harus pelajari
KataGo mengenali cacat ini dan memiliki pemecah shicho eksplisit yang ditulis dengan kode tradisional. Tampaknya neural network tidak akan pernah bisa menemukan shicho. Tidak jelas mengapa deep neural network gagal menangkap pola sesederhana ini
Jadi tidak mengherankan jika masih ada pola yang lebih dalam yang terlewatkan oleh AI-AI ini