Alat AI Akuat Memprediksi Kecepatan Eksekusi Chip, Ungguli Model Intel
- Alat pembelajaran mesin baru memprediksi berapa lama suatu komputer chip membutuhkan waktu untuk mengeksekusi kode tertentu.
- Ia lebih akurat dari model prediksi milik Intel sendiri.
Menentukan jumlah siklus jam yang dibutuhkan prosesor untuk mengeksekusi blok instruksi assembly dalam keadaan stabil sangat penting baik untuk insinyur performa maupun desainer kompiler.
Mengembangkan model analitik untuk melakukannya adalah tugas yang sangat rumit, terutama dalam arsitektur prosesor modern di mana tugas ini menjadi lebih rentan terhadap kesalahan dan harus dilakukan dari awal untuk setiap generasi prosesor.
Sekarang, peneliti MIT telah membangun alat pembelajaran mesin yang mengotomatisasi proses ini, membuatnya lebih cepat, lebih mudah, dan lebih akurat daripada alat yang ditulis tangan terkini yang saat ini digunakan dalam analis kode mesin statis dan backend kompiler.
Mereka menggambarkan pipa pembelajaran mesin baru ini dalam tiga makalah konferensi:
1. Ithemal: model jaringan syaraf dilatih pada blok dasar data yang diberi label (blok instruksi komputasi). Kemudian ia memprediksi berapa lama mikroprosesor yang diberikan membutuhkan waktu untuk menjalankan blok dasar yang belum diproses.
2. BHive: Untuk memvalidasi Ithemal, peneliti membuat suite 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, sebuah dataset sumber terbuka.
Pengujian menunjukkan bahwa Ithemal mampu memprediksi seberapa cepat prosesor Intel akan menjalankan kode lebih akurat dari model performa yang dikembangkan oleh Intel sendiri.
3. Vemal: Peneliti membangun metode baru untuk secara otomatis menciptakan algoritma bernama Vemal yang mentransformasi kode tertentu menjadi vektor sehingga dapat digunakan untuk komputasi paralel.
Vemal berperforma lebih baik daripada algoritma vektorisasi yang ditulis tangan yang digunakan dalam kompiler industri, termasuk kompiler LLVM.
Menggunakan Data Alih-alih Dokumentasi Chip
Intel memang menyediakan dokumentasi detail untuk menjelaskan arsitektur chip mereka. Namun hanya beberapa pengembang ahli yang membuat model performa untuk mensimulasikan eksekusi kode pada arsitektur tersebut. Dan karena chip-chip ini miliknya, Intel menghilangkan informasi tertentu dalam dokumentasi.
Apa yang dilakukan peneliti adalah mereka mencatat jumlah rata-rata siklus yang dibutuhkan chip untuk mengeksekusi instruksi blok dasar (seperti menjalankan perintah tertentu, mematikan, dan me-reboot), menggunakan jaringan syaraf.
Sumber: MIT
Jaringan syaraf secara otomatis profiling jutaan blok dan secara bertahap mempelajari bagaimana berbagai arsitektur prosesor menjalankan kode. Dalam istilah sederhana, peneliti menggunakan model AI untuk menganalisis data tanpa berfokus pada dokumentasi chip.
Ithemal menerima blok dasar yang belum dilihat sebagai input dan menghasilkan satu angka yang menunjukkan berapa lama prosesor yang diberikan akan membutuhkan waktu untuk menjalankan kode tersebut.
Dalam makalah kedua, peneliti menunjukkan bahwa Ithemal berperforma lebih baik daripada model konvensional yang ditulis tangan. Sementara tingkat kesalahan model prediksi Intel adalah 20%, tingkat kesalahan Ithemal adalah 10% pada berbagai blok dasar di berbagai domain.
Model ini dapat dengan mudah dilatih pada arsitektur baru: cukup kumpulkan lebih banyak data dari chip tersebut, jalankan melalui profiler dan gunakan informasi tersebut untuk melatih Ithemal. Itu saja; model sekarang siap untuk memperkirakan performa. Ia dapat mempelajari kecepatan performa untuk setiap arsitektur prosesor, termasuk Tensor Processing Unit baru Google.
Baca: Facebook Builds “SapFix”: An AI Tool That Debugs Code
Namun, peneliti masih tidak tahu bagaimana model ini membuat prediksi, karena banyak pembelajaran mesin adalah kotak hitam. Dalam studi berikutnya, mereka akan mencoba mengeksplorasi teknik yang dapat menafsirkan model-model ini.