Root NationBeritaberita TIIBM menciptakan kumpulan data Project CodeNet: 14 juta sampel kode akan mengajarkan AI untuk memprogram

IBM menciptakan kumpulan data Project CodeNet: 14 juta sampel kode akan mengajarkan AI untuk memprogram

-

Satuan IBM Penelitian Artificial Intelligence (AI) mempresentasikan kumpulan data dari 14 juta sampel untuk mengembangkan model pembelajaran mesin yang dapat membantu dalam tugas pemrograman. Sebuah dataset bernama Proyek CodeNet, mengambil namanya dari ImageNet, repositori gambar terkenal yang merevolusi visi komputer dan pembelajaran mendalam.

Pemrogram menemukan masalah baru dan mengeksplorasi berbagai solusi, menggunakan banyak mekanisme pemikiran sadar dan bawah sadar. Sebagian besar algoritme pembelajaran mesin memerlukan tugas yang terdefinisi dengan baik dan sejumlah besar data beranotasi untuk mengembangkan model yang dapat memecahkan masalah yang sama.

Proyek IBM CodeNet
Project CodeNet adalah kumpulan data besar berisi ~ 14 juta contoh kode yang tersebar di lusinan bahasa pemrograman.

Banyak upaya telah dilakukan untuk membuat kumpulan data dan tolok ukur untuk pengembangan dan evaluasi sistem AI-untuk-kode oleh komunitas pakar. Namun, mengingat sifat pengembangan perangkat lunak yang kreatif dan terbuka, sangat sulit untuk membuat kumpulan data yang sempurna untuk pemrograman. Dengan Project CodeNet, peneliti IBM berusaha membuat kumpulan data multiguna yang dapat digunakan untuk melatih model pembelajaran mesin pada berbagai tugas. Pencipta CodeNet menggambarkannya sebagai "kumpulan data berskala sangat besar, beragam, dan berkualitas tinggi untuk mempercepat kemajuan algoritmik dalam AI untuk kode."

Kumpulan data berisi 14 juta contoh dari 500 juta baris kode yang ditulis dalam 55 bahasa pemrograman yang berbeda. Sampel kode diperoleh dari hampir 4000 tugas yang diajukan yang diposting di platform pengkodean online AIZU dan AtCoder. Contoh kode mencakup jawaban yang benar dan salah untuk tugas yang diberikan.

Juga menarik:

Salah satu fitur utama CodeNet adalah jumlah anotasi yang ditambahkan ke contoh. Setiap tugas pengkodean yang termasuk dalam kumpulan data memiliki deskripsi tekstual, serta batas waktu dan memori CPU. Setiap pengiriman kode berisi selusin informasi, termasuk bahasa, tanggal pengiriman, ukuran, waktu eksekusi, penerimaan, dan jenis kesalahan. Peneliti IBM juga berusaha keras untuk memastikan bahwa kumpulan data seimbang di berbagai parameter, termasuk bahasa pemrograman, penerimaan, dan jenis kesalahan.

Proyek IBM CodeNet

CodeNet bukan satu-satunya kumpulan data untuk melatih model pembelajaran mesin pada tugas pemrograman. Namun ada beberapa ciri yang membedakannya. Yang pertama adalah besarnya kumpulan data, termasuk jumlah sampel dan keragaman bahasa. Tapi mungkin yang lebih penting adalah metadata yang disertakan dengan contoh kode. Anotasi kaya yang ditambahkan ke CodeNet membuatnya cocok untuk beragam tugas, tidak seperti kumpulan data pengkodean lain yang berspesialisasi dalam tugas pemrograman tertentu.

Ada beberapa cara untuk menggunakan CodeNet. Salah satunya adalah penerjemahan bahasa. Karena setiap tugas pengkodean dalam kumpulan data berisi representasi bahasa pemrograman yang berbeda, ilmuwan data dapat menggunakannya untuk membuat model pembelajaran mesin yang menerjemahkan kode dari satu bahasa ke bahasa lain. Ini bisa nyaman bagi organisasi yang ingin mem-porting kode lama ke bahasa baru dan membuatnya dapat diakses oleh programmer generasi baru.

Baca juga:

Daftar
Beritahu tentang
tamu

2 komentar
yang lebih baru
Yang lebih tua айпопулярніші
Ulasan Tertanam
Lihat semua komentar
Viktor
Viktor
2 tahun lalu

Tradisi dan keturunan harus bermain bersama dengan pemikiran yang berbeda, dengan generasi termuda dari algoritma saraf dan metode ML dalam mengajukan masalah, saling memperbaiki satu sama lain

Aasd
Aasd
2 tahun lalu

Seiring berjalannya waktu, level programmer akan semakin menurun (dibandingkan sekarang). Artinya, dimungkinkan untuk menulis kode miring dan bengkok dalam "bahasa sial". Dan kemudian mesin akan mengoptimalkan, dan akan memungkinkan untuk mendapatkan kode yang dioptimalkan dari programmer assembler profesional (atau bahkan lebih baik).