4

Dari Daftar Kandidat ke Graf Komputasi Ternormalisasi Tensor

AI999第4课:现代计算底座与张量化并行演化
00:00

Dalam komputasi evolusioner,keragamanmerupakan prasyarat agar algoritma bekerja efektif: hanya dengan mempertahankan cukup banyak solusi kandidat, tekanan seleksi tidak akan terlalu dini mendorong populasi ke optimum lokal. Namun keragaman juga berarti beban komputasi yang besar—satu kali eksekusi sering kali perlu mengevaluasi puluhan ribu hingga jutaan solusi kandidat. Ketika kandidat ditulis sebagai array objek biasa, dan dikirim satu per satu untuk dievaluasi dengan perulangan per item, sebagian besar waktu komputasi habis untuk penjadwalan per item dan alur kendali bahasa hos, bukan untuk operasi numerik yang sesungguhnya. Inilahalasan mendasar mengapa perulangan CPU serial tradisional menjadi tidak efisien saat menangani puluhan ribu evaluasi kandidatitu.

Dari Daftar Kandidat ke Graf Komputasi Ternormalisasi TensorLompatan dalam Cara RepresentasiDaftar Kandidat (Diproses per Item)Setiap kandidat adalah objek yang berdiri sendiri1Kandidat x₁2Kandidat x₂3Kandidat x₃4Kandidat x₄Satu kandidat per satu · Perulangan CPU serialTidak efisien saat mengevaluasi puluhan ribu kaliOverhead ada pada penjadwalan per item dan alur kendaliTensor KandidatSeluruh generasi kandidat ditulis secara terpadu[ukuran populasi, dimensi solusi]Satu baris = satu solusi kandidatGraf Komputasi: Operasi TensorSeleksi dan pembaruan status masuk ke dalam graf, menerima optimasi kompilasiMutasiBerlaku pada seluruh populasiEvaluasiSekali panggil, seluruh generasiSeleksiPengindeksan tensorPembaruan StatusNode reduksiSeluruh graf menerima optimasi kompilasi: fusi operator · penjadwalan paralelBentuk keluaran evaluasi: [ukuran populasi] atau [ukuran populasi, jumlah tujuan]Komputasi menyeluruh: mutasi, evaluasi, seleksi, pembaruan status masuk ke graf komputasi sekaligus

Lompatan dalam Cara Representasi: Dari Daftar Kandidat ke Graf Komputasi Tensor

Perubahan yang dibawa EvoX bukanlah percepatan lokal pada satu operator tertentu, melainkanperubahan cara representasi proses evolusi: dari pemrosesan bergaya daftar dengan kandidat satu per satu, beralih ke komputasi batch yang menempatkan tensor sebagai warga kelas satu. Himpunan kandidat tidak lagi tersebar di dalam array objek, melainkan diorganisasi secara terpadu bersama hasil evaluasi dan status algoritma sebagai tensor, sehingga semuanya dapat berpartisipasi dalam operasi secara menyeluruh.

  • Tensor Kandidat: menulis seluruh generasi kandidat sebagai tensor berbentuk [ukuran populasi, dimensi solusi]. Kini "satu kandidat" hanyalah satu baris di dalam tensor, dan bukan lagi objek bahasa hos yang berdiri sendiri.
  • Operator Batch: operasi seperti mutasi bekerja langsung pada seluruh populasi, satu kali pemanggilan menyelesaikan pembaruan seluruh kandidat, bukan pemanggilan berulang sebanyak N kali.
  • Evaluasi Batch: dalam bentuk evaluate(tensor kandidat) untuk memperoleh hasil evaluasi seluruh generasi sekaligus; satuan kuantitas evaluasi berubah dari "buah" menjadi "batch".
  • Graf Komputasi: seleksi dan pembaruan status bukan lagi sekadar logika kendali serial, melainkan node di dalam graf, sehingga memperoleh peluang optimasi kompilasi seperti fusi operator dan penjadwalan paralel.

Perbandingan Dua Gaya Penulisan

Gaya penulisan berbasis daftar kurang lebih seperti: mengambil kandidat satu per satu, mengevaluasi satu per satu, membandingkan satu per satu dan memperbarui status—setiap langkah bergantung pada perulangan bahasa hos, sulit dioptimalkan secara menyeluruh. Gaya penulisan tensor adalah: tensor kandidat → mutasi → evaluasi → seleksi → pembaruan status, seluruh rantai terdiri atas operasi tensor dan direpresentasikan sebagai sebuah graf komputasi, sehingga kompilator dapat melakukan fusi dan penjadwalan perangkat pada seluruh graf. Perhatikan: logika algoritma (distribusi mutasi, tekanan seleksi) tidak diubah; yang diubah adalahcara representasinya.

Istilah Inti
Komputasi tensor—menjadikan tensor sebagai unit pemrosesan terkecil, sehingga mutasi, evaluasi, seleksi, dan pembaruan status semuanya bekerja pada seluruh populasi dalam bentuk batch, serta memungkinkan operasi batch tersebut masuk ke dalam graf komputasi untuk menerima optimasi kompilasi. Lompatan kunci pada halaman ini dapat diingat dalam satu kalimat: dari "daftar kandidat" ke "graf komputasi tensor".