AI Deepmind Mempelajari Seni Pengodean

Di lapangan ilmu komputer, mungkin tidak ada tugas yang lebih mendasar daripada menyortir. Gelembung, timbun, gabungkan—pilihlah. Metode untuk mengatur ulang knowledge di dalam komputer telah diteorikan sampai mati, berfungsi sebagai latihan praktik bagi jutaan pemula, dan telah dioptimalkan selama beberapa dekade oleh pengembang ahli. Ketik fungsi kind() dalam bahasa pemrograman apa pun, dan itu adalah kode yang dapat Anda andalkan. Jangan menyentuhnya. Ini sudah bekerja dengan baik.

Namun tahun lalu, sistem AI yang dikembangkan oleh para insinyur di Google’s Deepmind meningkat dengan sangat baik. Sistem, yang oleh Deepmind disebut AlphaDev, ditugaskan untuk menemukan cara baru untuk mengurutkan urutan pendek dalam angka dalam C++, bahasa pengkodean yang populer. Itu berarti masuk ke dalam tenda dan membuat AI membuat algoritme baru dalam kode rakitan—instruksi yang menjembatani kesenjangan antara bahasa pemrograman seperti C++ dan perangkat keras komputer. Saat pengembang C++ memberi tahu komputer untuk “mengurutkan”, perintah tersebut diubah menjadi kode yang dapat dibaca mesin yang memberi tahu memori dan prosesor komputer apa yang harus dilakukan: ke mana harus memindahkan knowledge, dan bagaimana mengubahnya. Di situlah bit bertemu dengan logam.

Eksperimen itu berhasil. Sejak April tahun lalu, C++ telah berjalan sedikit lebih cepat, berkat serangkaian algoritme pengurutan buatan AI yang baru. Namun menurut para insinyur AlphaDev, yang menjelaskan pekerjaan hari ini di Alam, itu baru langkah pertama. “Kami ingin mengoptimalkan seluruh tumpukan komputasi,” kata Daniel Mankowitz, staf ilmuwan riset di Deepmind yang memimpin proyek penyortiran. Mankowitz mengatakan bahwa AlphaDev telah meningkatkan algoritme tidak hanya untuk penyortiran, tetapi juga untuk tugas dasar lainnya seperti hashing.

“Saya pikir pekerjaan ini sangat menarik,” kata Armando Photo voltaic-Lezama, pakar sintesis program di MIT, yang tidak terlibat dalam penelitian. Sangat berguna jika AI menghasilkan algoritme pengurutan baru; itu adalah kesepakatan yang jauh lebih besar untuk membangun AI yang dapat mempelajari cara menulis kode canggih di berbagai tugas, katanya. Itu berarti AlphaDev telah mulai mempelajari sesuatu yang lebih mendasar tentang seni pengkodean itu sendiri.

Itu datang dengan kendala yang signifikan, tentu saja. “Ini adalah program yang sangat kecil,” tambahnya—totalnya tidak lebih dari beberapa lusin instruksi dalam kode perakitan. Tetapi program-program kecil itu sering kali merupakan hambatan besar untuk kinerja komputer, yang telah dioptimalkan sejauh yang dapat didorong oleh orang-orang. Secara keseluruhan, algoritme pengurutan C++ AlphaDev yang baru 1,7 persen lebih efisien daripada metode sebelumnya saat mengurutkan urutan angka yang panjang, dan hingga 70 persen lebih cepat untuk urutan lima merchandise. Dalam skala besar, peningkatan ini bertambah, kata Mankowitz. Sejak kode yang ditulis oleh AI dikirim ke Libc++, pustaka sumber terbuka utama untuk C++, dia memperkirakan algoritme telah digunakan triliunan kali sehari.

Peningkatan tersebut berkat teknik yang disebut pembelajaran penguatan, yang merupakan pendekatan yang sama yang digunakan untuk membantu sport grasp AI Deepmind seperti catur dan Go. Jenis AI ini belajar sambil melakukan. Ia bekerja dengan memperlakukan tugas yang diberikan—seperti menulis program perakitan—sebagai sebuah permainan, di mana AI menerima hadiah untuk membuat gerakan cerdas yang meningkatkan efisiensi program. Seiring waktu, sistem bekerja untuk memaksimalkan hadiah ini, menghasilkan strategi Go yang unggul atau program perakitan yang lebih cepat. Ini berbeda dari jenis AI yang ditemukan dalam mannequin bahasa besar seperti GPT-4, yang mengandalkan knowledge dalam jumlah besar untuk mempelajari cara menulis kata atau kode. Itu bagus untuk menghasilkan tulisan yang mencerminkan nada web atau menghasilkan segmen kode yang umum. Tapi itu tidak begitu bagus dalam menghasilkan solusi baru dan canggih untuk tantangan pengkodean yang belum pernah dilihat AI sebelumnya.

New Replace : [randomize]

Related Posts