2 poin oleh GN⁺ 2024-10-19 | 1 komentar | Bagikan ke WhatsApp

Tanpa algoritme level grandmaster catur

  • Repositori ini menyediakan implementasi dari makalah berjudul "Tanpa algoritme level grandmaster catur"
  • Keberhasilan machine learning belakangan ini terutama didorong oleh arsitektur berbasis attention skala besar dan dataset dengan skala yang belum pernah ada sebelumnya
  • Makalah ini menyelidiki dampak pelatihan skala besar untuk catur
  • Berbeda dari engine catur tradisional, pendekatan ini tidak bergantung pada heuristik yang kompleks atau pencarian eksplisit
  • Model transformer dengan 270 juta parameter dilatih secara supervised menggunakan dataset berisi 10 juta permainan catur
  • Setiap papan diberi anotasi menggunakan nilai aksi dari engine Stockfish 16 untuk menghasilkan sekitar 15 miliar titik data
  • Model terbesar mencatat Elo blitz Lichess 2895 saat melawan manusia, serta menyelesaikan teka-teki catur yang sulit tanpa algoritme pencarian eksplisit
  • Mengungguli jaringan policy dan value AlphaZero (tanpa pencarian) serta GPT-3.5-turbo-instruct
  • Melalui investigasi sistematis terhadap ukuran model dan dataset, penelitian ini menunjukkan bahwa performa catur yang kuat hanya muncul pada skala yang memadai
  • Untuk memverifikasi hasil, dilakukan eksperimen ekstensif terhadap pilihan desain dan hyperparameter

Ringkasan GN⁺

  • Proyek ini merupakan penelitian penting yang menunjukkan bahwa performa tinggi dalam catur dapat dicapai tanpa algoritme pencarian tradisional
  • Dengan memanfaatkan dataset skala besar dan model transformer, proyek ini mengeksplorasi kemungkinan baru untuk engine catur
  • Dibandingkan dengan engine catur kuat yang sudah ada seperti AlphaZero, proyek ini menunjukkan performa yang lebih baik
  • Proyek ini memberikan informasi yang menarik dan berguna bagi orang-orang yang tertarik pada catur, sekaligus menunjukkan kemungkinan aplikasi baru untuk machine learning
  • Proyek serupa dengan fungsi yang mirip antara lain AlphaZero dan Leela Chess Zero

1 komentar

 
GN⁺ 2024-10-19
Komentar Hacker News
  • Sulit menemukan lawan catur dengan tingkat kemampuan yang diinginkan pengguna. Sebagian besar engine menurunkan tingkat kesulitan dengan mengurangi kedalaman pencarian, tetapi ini tidak efektif

    • Pengguna menginginkan lawan komputer yang terasa seperti pemain manusia
  • Seorang pengguna pernah memberikan presentasi tentang distilasi pengetahuan terkait catur, yang menjelaskan cara mendistilasi fungsi pencarian nonlinier yang kompleks menjadi model transformer kuasilinier untuk input standar seperti catur

  • Bagi orang-orang yang tertarik pada jaringan saraf catur, direkomendasikan sebuah repositori GitHub yang menyediakan kode sederhana menggunakan PyTorch dan arsitektur yang mirip dengan jaringan saraf catur berperforma terbaik saat ini

  • Ada tulisan blog yang membandingkan jaringan LC0 dan jaringan transformer milik DeepMind

  • Makalah "Grandmaster-Level Chess Without Search" menekankan pentingnya arsitektur berbasis perhatian berskala besar dan dataset, serta melatih catur menggunakan model transformer 270M parameter

    • Menggunakan engine Stockfish 16 untuk menghasilkan lebih dari 1 miliar titik data, dan mencapai Elo blitz Lichess 2895 melawan manusia
    • Mengungguli jaringan kebijakan dan nilai milik AlphaZero
  • Dataset sintetis berskala besar dihasilkan menggunakan pencarian tradisional, yang setara dengan mengenkode pohon pencarian ke dalam model transformer

  • Matthew Sadler mengatur Leela Zero agar bermain secara intuitif, dan ini secara efektif menjalankan permainan pelatihan tanpa pencarian

  • Menyelesaikan catur akan menghasilkan pohon yang terlalu besar, dan ada dua pendekatan untuk mengoptimalkannya

    • Mengaproksimasi pohon dan mengaproksimasi anotasi
    • Pohon dapat diaproksimasi dengan data sebesar 270M kata
  • Status papan dienkode dengan mengubah string FEN menjadi string berdimensi tetap, dan tindakan disimpan menggunakan notasi UCI

    • Jika tokenizer harus ditulis ulang untuk setiap variasi masalah, maka itu hanyalah pemrograman sederhana