AI Memprediksi Seberapa Cepat Chip Komputer Mengeksekusi Kode
- Alat pembelajaran mesin baru memprediksi berapa lama waktu yang dibutuhkan chip komputer tertentu untuk mengeksekusi kode tertentu.
- Ini lebih akurat daripada model prediksi Intel sendiri.
Menentukan jumlah siklus clock yang diperlukan prosesor untuk mengeksekusi blok instruksi perakitan dalam kondisi mapan sangat penting bagi insinyur kinerja dan perancang kompiler.
Mengembangkan model analitik untuk melakukannya adalah tugas yang sangat rumit, terutama dalam arsitektur prosesor modern di mana tugas menjadi lebih rawan kesalahan dan harus dilakukan dari awal untuk setiap generasi prosesor.
Sekarang, peneliti MIT telah membangun alat pembelajaran mesin yang mengotomatiskan proses ini, membuatnya lebih cepat, lebih mudah, dan lebih akurat daripada alat tulisan tangan canggih yang saat ini digunakan dalam penganalisis kode mesin statis dan backend kompiler.
Mereka menggambarkan alur pembelajaran mesin baru ini dalam tiga makalah konferensi:
1. Ithemal:Sebuah model jaringan saraf dilatih pada blok dasar data berlabel (blok instruksi komputasi). Ini kemudian memprediksi berapa lama waktu yang dibutuhkan mikroprosesor untuk menjalankan blok dasar yang belum diproses.
2. BHive:Untuk memvalidasi Ithemal, peneliti membuat rangkaian benchmark blok dasar dari berbagai bidang, seperti kriptografi, kompiler, pembelajaran mesin, dan grafik. Mereka mengumpulkan lebih dari 300.000 blok dan memasukkannya ke dalam BHive, kumpulan data sumber terbuka.
Pengujian menunjukkan bahwa Ithemal mampu memprediksi seberapa cepat prosesor Intel akan menjalankan kode lebih akurat daripada model kinerja yang dikembangkan oleh Intel itu sendiri.
3. Vemal:Peneliti membangun metode baru untuk secara otomatis membuat algoritme bernama Vemal yang mengubah kode tertentu menjadi vektor sehingga dapat dituntut untuk komputasi paralel.
Performa Vemal lebih baik daripada algoritme vektorisasi buatan tangan yang digunakan dalam kompiler industri, termasuk kompiler LLVM.
Menggunakan Data Daripada Dokumentasi Chip
Intel memang menyediakan dokumentasi terperinci untuk menjelaskan arsitektur chipnya. Tetapi hanya pengembang ahli tertentu yang membuat model kinerja untuk mensimulasikan eksekusi kode pada arsitektur tersebut. Dan karena chip ini adalah hak milik, Intel menghilangkan informasi tertentu dalam dokumentasi.
Apa yang peneliti lakukan adalah mereka mencatat jumlah siklus rata-rata yang dibutuhkan sebuah chip untuk mengeksekusi instruksi blok dasar (seperti menjalankan perintah tertentu, mematikan, dan mem-boot ulang), menggunakan jaringan saraf.
Sumber:MIT
Jaringan saraf secara otomatis membuat profil jutaan blok dan secara bertahap mempelajari bagaimana arsitektur prosesor yang berbeda menjalankan kode. Secara sederhana, peneliti menggunakan model kecerdasan buatan untuk menganalisis data tanpa berfokus pada dokumentasi chip.
Ithemal menggunakan blok dasar yang tidak terlihat sebagai input dan menghasilkan satu angka yang menunjukkan berapa lama waktu yang dibutuhkan prosesor untuk menjalankan kode tersebut.
Dalam makalah kedua, para peneliti menunjukkan bahwa Ithemal berkinerja lebih baik daripada model kerajinan tangan konvensional. Sementara tingkat kesalahan model prediksi Intel adalah 20%, tingkat kesalahan Ithemal adalah 10% pada berbagai blok dasar di berbagai domain.
Model dapat dengan mudah dilatih pada arsitektur baru:cukup kumpulkan lebih banyak data dari chip itu, jalankan melalui profiler dan manfaatkan informasi itu untuk melatih Ithemal. Itu dia; model sekarang siap untuk memperkirakan kinerja. Itu dapat mempelajari kecepatan kinerja untuk arsitektur prosesor apa pun, termasuk Unit Pemrosesan Tensor baru Google.
Baca: Facebook Membuat “SapFix”:Alat AI yang Men-debug Kode
Namun, para peneliti masih tidak tahu bagaimana model ini membuat prediksi, karena sebagian besar pembelajaran mesin adalah kotak hitam. Dalam studi selanjutnya, mereka akan mencoba mengeksplorasi teknik-teknik yang dapat menginterpretasikan model-model tersebut.