Divisi AI DeepMind Google menangani semuanya dari StarCraft untuk saya protein lipat. Jadi mungkin tidak mengherankan jika pencipta akhirnya beralih ke minat pribadi yang tidak diragukan lagi: pemrograman komputer. Dalam Science edisi Kamis, perusahaan menjelaskan sistem yang dikembangkannya yang menghasilkan kode sebagai respons terhadap pemrograman yang biasa digunakan dalam kompetisi pemrograman manusia.
Dalam tantangan menengah, sistem AI dapat mencetak hampir separuh peserta teratas. Tetapi memiliki beberapa kesulitan dengan penskalaan, karena kecil kemungkinannya untuk menghasilkan program yang bekerja pada masalah yang biasanya membutuhkan lebih banyak kode. Namun, fakta bahwa ia bekerja sama sekali tanpa memiliki informasi struktural tentang algoritme atau bahasa pemrograman sedikit mengejutkan.
Bangkitlah menghadapi tantangan
Tantangan pemrograman komputer cukup sederhana: orang diberi tugas untuk menyelesaikan dan menghasilkan kode yang harus melakukan tugas yang diminta. Dalam contoh di makalah baru, pemrogram diberi dua string dan diminta untuk menentukan apakah yang lebih pendek dari keduanya dapat diproduksi dengan mengganti spasi belakang untuk beberapa penekanan tombol yang diperlukan untuk mengetik string yang lebih besar. Program yang dikirim kemudian diperiksa untuk melihat apakah mereka memberikan solusi umum untuk masalah tersebut atau gagal saat contoh tambahan diuji.
Mengingat cukup banyak contoh perangkat lunak yang dapat memecahkan satu masalah, mungkin sistem AI dapat menyimpulkan struktur algoritmik yang diperlukan untuk sukses. Tapi ini bukan solusi umum untuk mengatasi masalah apa pun; AI yang terlatih dalam satu kategori tantangan akan gagal saat diminta menangani tantangan yang tidak terkait.
Untuk membuat sesuatu lebih dapat digeneralisasikan, tim DeepMind memperlakukannya lebih seperti masalah bahasa. Sampai batas tertentu, deskripsi tantangan adalah ekspresi dari apa yang harus dilakukan algoritme, sedangkan kodenya adalah ekspresi dari hal yang sama, hanya dalam bahasa yang berbeda. Jadi AI yang dimaksud dirancang untuk memiliki dua bagian: satu bagian mengambil deskripsi dan mengubahnya menjadi representasi internal, dan bagian kedua menggunakan representasi internal untuk menghasilkan kode fungsional.
Melatih sistem juga merupakan proses dua tahap. Pada fase pertama, sistem hanya diminta untuk memproses cuplikan materi di GitHub, dengan total lebih dari 700 GB kode. (Hari-hari ini di mana Anda dapat memasukkannya ke thumb drive, itu mungkin tidak terdengar banyak, tetapi ingat bahwa kodenya hanyalah teks mentah, jadi Anda mendapatkan banyak baris per gigabyte.) Perhatikan bahwa data ini juga akan menyertakan komentar, yang harus Anda gunakan Bahasa alami untuk menjelaskan apa yang dilakukan kode terdekat, dan karenanya akan membantu dengan tugas input dan output.
Setelah sistem dilatih, ia melewati periode penyesuaian. DeepMind menyiapkan kuis pemrogramannya sendiri dan kemudian memasukkan hasilnya ke dalam sistem: deskripsi masalah, kode yang berfungsi, kode yang gagal, dan kasus uji yang digunakan untuk memverifikasinya.
Pendekatan serupa telah dicoba sebelumnya, tetapi DeepMind melaporkan bahwa ia dapat menggunakan lebih banyak sumber daya untuk pelatihan. Makalah tersebut menyatakan bahwa “pendorong utama kinerja AlphaCode berasal dari peningkatan jumlah sampel model hingga urutan besarnya lebih besar dari pekerjaan sebelumnya.”
“Penyelenggara amatir. Penginjil bir Wannabe. Penggemar web umum. Ninja internet bersertifikat. Pembaca yang rajin.”
More Stories
Sebuah laporan baru mengatakan penggunaan ras dan etnis terkadang “berbahaya” dalam penelitian medis
Seorang astronot NASA mengambil foto menakutkan kapsul SpaceX Dragon dari Stasiun Luar Angkasa Internasional
Bukti adanya lautan di bulan Uranus, Miranda, sungguh mengejutkan