Menuju model pembelajaran mendalam yang dapat bernalar tentang kode lebih seperti manusia
Ai

Menuju model pembelajaran mendalam yang dapat bernalar tentang kode lebih seperti manusia


Kerangka kerja yang dibangun oleh peneliti MIT dan IBM menemukan dan memperbaiki kelemahan dalam alat pemrograman otomatis yang membuat mereka terbuka untuk diserang. Satu alat (gambar) membaca saat pemrogram menulis dan menyarankan kode. Di sini, ia mengambil fungsi di antara ribuan opsi di pustaka NumPy Python yang paling sesuai dengan tugas yang ada. Kredit: Shashank Srikant

Apa pun bisnis yang dijalankan perusahaan, perangkat lunak memainkan peran yang semakin penting, mulai dari mengelola inventaris hingga berinteraksi dengan pelanggan. Pengembang perangkat lunak, sebagai hasilnya, memiliki permintaan yang lebih besar dari sebelumnya, dan itu mendorong dorongan untuk mengotomatiskan beberapa tugas yang lebih mudah yang menghabiskan waktu mereka.

Alat produktivitas seperti Eclipse dan Visual Studio menyarankan cuplikan kode yang dapat dimasukkan pengembang dengan mudah ke pekerjaan mereka saat mereka menulis. Fitur otomatis ini didukung oleh model bahasa canggih yang telah belajar membaca dan menulis kode komputer setelah menyerap ribuan contoh. Namun seperti model pembelajaran mendalam lainnya yang dilatih pada kumpulan data besar tanpa instruksi eksplisit, model bahasa yang dirancang untuk pemrosesan kode memiliki kerentanan yang memendam.

“Kecuali jika Anda benar-benar berhati-hati, peretas dapat secara halus memanipulasi input ke model ini untuk membuatnya memprediksi apa pun,” kata Shashank Srikant, mahasiswa pascasarjana di Departemen Teknik Elektro dan Ilmu Komputer MIT. “Kami mencoba mempelajari dan mencegahnya.”

Dalam makalah baru, Srikant dan MIT-IBM Watson AI Lab mengungkap metode otomatis untuk menemukan kelemahan dalam model pemrosesan kode, dan melatihnya kembali agar lebih tahan terhadap serangan. Ini adalah bagian dari upaya yang lebih luas oleh peneliti MIT Una-May O’Reilly dan peneliti yang berafiliasi dengan IBM Sijia Liu untuk memanfaatkan AI untuk membuat alat pemrograman otomatis lebih cerdas dan lebih aman. Tim akan mempresentasikan hasilnya bulan depan di Konferensi Internasional tentang Representasi Pembelajaran.

Mesin yang mampu memprogram dirinya sendiri pernah tampak seperti fiksi ilmiah. Tetapi peningkatan eksponensial dalam kekuatan komputasi, kemajuan dalam pemrosesan bahasa alami, dan banyaknya kode gratis di internet telah memungkinkan untuk mengotomatiskan setidaknya beberapa aspek desain perangkat lunak.

Dilatih di GitHub dan situs web berbagi program lainnya, model pemrosesan kode belajar menghasilkan program seperti halnya model bahasa lain yang belajar menulis berita atau puisi. Ini memungkinkan mereka untuk bertindak sebagai asisten cerdas, memprediksi apa yang akan dilakukan pengembang perangkat lunak selanjutnya, dan menawarkan bantuan. Mereka mungkin menyarankan program yang sesuai dengan tugas yang ada, atau membuat ringkasan program untuk mendokumentasikan cara kerja perangkat lunak. Model pemrosesan kode juga dapat dilatih untuk menemukan dan memperbaiki bug. Namun terlepas dari potensi mereka untuk meningkatkan produktivitas dan meningkatkan kualitas perangkat lunak, mereka menimbulkan risiko keamanan yang baru saja mulai ditemukan oleh para peneliti.

Srikant dan rekan-rekannya telah menemukan bahwa model pemrosesan kode dapat ditipu hanya dengan mengganti nama variabel, memasukkan pernyataan cetak palsu, atau memperkenalkan operasi kosmetik lainnya ke dalam program yang coba diproses oleh model tersebut. Program yang diubah secara halus ini berfungsi normal, tetapi menipu model agar memprosesnya secara tidak benar, sehingga menghasilkan keputusan yang salah.

Kesalahan dapat memiliki konsekuensi serius untuk semua jenis model pemrosesan kode. Model pendeteksi malware mungkin tertipu sehingga salah mengira program jahat sebagai jinak. Model pelengkapan kode mungkin tertipu untuk menawarkan saran yang salah atau berbahaya. Dalam kedua kasus tersebut, virus dapat menyelinap oleh programmer yang tidak menaruh curiga. Masalah serupa mengganggu model computer vision: Edit beberapa piksel kunci dalam gambar input dan model dapat membingungkan babi untuk pesawat, dan kura-kura untuk senapan, seperti yang ditunjukkan oleh penelitian MIT lainnya.

Seperti model bahasa terbaik, model pemrosesan kode memiliki satu kelemahan penting: Mereka ahli dalam hubungan statistik antara kata dan frasa, tetapi hanya samar-samar memahami arti sebenarnya. Model bahasa GPT-3 OpenAI, misalnya, dapat menulis prosa yang berubah dari fasih ke tidak masuk akal, tetapi hanya pembaca manusia yang dapat membedakannya.

Model pemrosesan kode tidak berbeda. “Jika mereka benar-benar mempelajari properti intrinsik program, maka akan sulit untuk membodohi mereka,” kata Srikant. “Tapi ternyata tidak. Saat ini mereka relatif mudah ditipu.”

Dalam makalah tersebut, para peneliti mengusulkan kerangka kerja untuk secara otomatis mengubah program untuk mengekspos titik lemah dalam model yang memprosesnya. Ini memecahkan masalah pengoptimalan dua bagian; algoritme mengidentifikasi situs dalam program yang menambahkan atau mengganti teks menyebabkan model membuat kesalahan terbesar. Ini juga mengidentifikasi jenis pengeditan yang menimbulkan ancaman terbesar.

Apa yang diungkapkan kerangka kerja, kata para peneliti, adalah betapa rapuhnya beberapa model. Model ringkasan teks mereka gagal sepertiga dari waktu ketika satu pengeditan dilakukan pada sebuah program; itu gagal lebih dari separuh waktu saat lima pengeditan dilakukan, lapor mereka. Di sisi lain, mereka menunjukkan bahwa model tersebut mampu belajar dari kesalahannya, dan dalam prosesnya berpotensi memperoleh pemahaman yang lebih dalam tentang pemrograman.

“Kerangka kerja kami untuk menyerang model, dan melatihnya kembali pada eksploitasi tertentu, berpotensi membantu model pemrosesan kode mendapatkan pemahaman yang lebih baik tentang maksud program,” kata Liu, penulis senior studi. “Itu arah yang menarik menunggu untuk dijelajahi.”

Di latar belakang, pertanyaan yang lebih besar tetap ada: apa sebenarnya yang dipelajari model pembelajaran dalam kotak hitam ini? “Apakah mereka bernalar tentang kode seperti yang dilakukan manusia, dan jika tidak, bagaimana kita bisa membuatnya?” kata O’Reilly. “Itulah tantangan besar di depan kita.”


Komputer di ambang merancang program mereka sendiri


Informasi lebih lanjut:
Menghasilkan Program Komputer Adversarial menggunakan Obfuscations yang Dioptimalkan. openreview.net/forum?id=PH5PH9ZO_4

Disediakan oleh Massachusetts Institute of Technology

Kisah ini diterbitkan ulang atas izin MIT News (web.mit.edu/newsoffice/), situs populer yang meliput berita tentang penelitian, inovasi, dan pengajaran MIT.

Kutipan: Menuju model pembelajaran mendalam yang dapat bernalar tentang kode lebih seperti manusia (2021, 16 April) diambil pada 16 April 2021 dari https://techxplore.com/news/2021-04-deep-learning-code-humans.html

Dokumen ini memiliki hak cipta. Selain dari transaksi yang adil untuk tujuan studi atau penelitian pribadi, tidak ada bagian yang boleh direproduksi tanpa izin tertulis. Konten tersebut disediakan untuk tujuan informasi saja.


Halaman Ini Di Persembahkan Oleh : Toto SGP