Februari 1, 2023

Bejagadget

Ikuti perkembangan terkini Indonesia di lapangan dengan berita berbasis fakta Beja Gadget, cuplikan video eksklusif, foto, dan peta yang diperbarui.

Proyek AI terbaru DeepMind memecahkan tantangan pemrograman seperti seorang pemula

Proyek AI terbaru DeepMind memecahkan tantangan pemrograman seperti seorang pemula

Perbesar / Jika AI diminta membuat gambar untuk artikel ini, apa yang akan dipikirkannya? matriks?

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.

READ  Tabrakan partikel pada tingkat energi rekor dunia

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.”