GitHub melancarkan sistem pembelajaran mesin Copilot yang menjana kod

GitHub mengumumkan selesainya ujian pembantu pintar GitHub Copilot, yang mampu menjana binaan standard semasa menulis kod. Sistem ini dibangunkan bersama dengan projek OpenAI dan menggunakan platform pembelajaran mesin OpenAI Codex, dilatih pada pelbagai besar kod sumber yang dihoskan dalam repositori GitHub awam. Perkhidmatan ini adalah percuma untuk penyelenggara projek dan pelajar sumber terbuka yang popular. Untuk kategori pengguna lain, akses kepada GitHub Copilot dibayar ($10 sebulan atau $100 setahun), tetapi akses percubaan percuma disediakan selama 60 hari.

Penjanaan kod disokong dalam bahasa pengaturcaraan Python, JavaScript, TypeScript, Ruby, Go, C# dan C++ menggunakan pelbagai rangka kerja. Modul tersedia untuk menyepadukan GitHub Copilot dengan persekitaran pembangunan Neovim, JetBrains, Visual Studio dan Visual Studio Code. Berdasarkan telemetri yang dikumpul semasa ujian, perkhidmatan ini membolehkan anda menjana kod yang agak berkualiti tinggi - contohnya, 26% daripada cadangan yang dicadangkan dalam GitHub Copilot telah diterima oleh pembangun sebagaimana adanya.

GitHub Copilot berbeza daripada sistem penyiapan kod tradisional dalam keupayaannya menjana blok kod yang agak kompleks, sehingga fungsi siap sedia disintesis dengan mengambil kira konteks semasa. GitHub Copilot menyesuaikan diri dengan cara pembangun menulis kod dan mengambil kira API dan rangka kerja yang digunakan dalam program. Sebagai contoh, jika terdapat contoh struktur JSON dalam ulasan, apabila anda mula menulis fungsi untuk menghuraikan struktur ini, GitHub Copilot akan menawarkan kod sedia dibuat dan apabila menulis penyenaraian rutin perihalan berulang, ia akan menjana baki jawatan.

GitHub melancarkan sistem pembelajaran mesin Copilot yang menjana kod

Keupayaan GitHub Copilot untuk menjana blok kod siap pakai telah membawa kepada kontroversi yang berkaitan dengan kemungkinan pelanggaran lesen copyleft. Semasa membentuk model pembelajaran mesin, teks sumber sebenar daripada repositori projek sumber terbuka yang terletak di GitHub telah digunakan. Kebanyakan projek ini disediakan di bawah lesen copyleft, seperti GPL, yang memerlukan kod karya terbitan untuk diedarkan di bawah lesen yang serasi. Dengan memasukkan kod sedia ada seperti yang dicadangkan oleh Copilot, pembangun mungkin tanpa disedari melanggar lesen projek dari mana kod itu dipinjam.

Masih belum jelas sama ada kerja yang dihasilkan oleh sistem pembelajaran mesin boleh dianggap derivatif. Soalan juga timbul sama ada model pembelajaran mesin tertakluk kepada hak cipta dan, jika ya, siapa yang memiliki hak ini dan cara ia berkaitan dengan hak kepada kod yang menjadi asas model tersebut.

Di satu pihak, blok yang dijana boleh mengulangi petikan teks daripada projek sedia ada, tetapi sebaliknya, sistem mencipta semula struktur kod dan bukannya menyalin kod itu sendiri. Menurut kajian GitHub, hanya 1% daripada masa cadangan Copilot mungkin termasuk coretan kod daripada projek sedia ada yang lebih panjang daripada 150 aksara. Dalam kebanyakan situasi, pengulangan berlaku apabila Copilot tidak dapat menentukan konteks dengan betul atau menawarkan penyelesaian standard kepada masalah.

Untuk mengelakkan penggantian kod sedia ada, penapis khas telah ditambahkan pada Copilot yang tidak membenarkan persimpangan dengan projek sedia ada. Semasa menyediakan, pembangun boleh mengaktifkan atau melumpuhkan penapis ini mengikut budi bicaranya. Antara masalah lain, terdapat kemungkinan kod yang disintesis mungkin mengulangi ralat dan kelemahan yang terdapat dalam kod yang digunakan untuk melatih model.

Sumber: opennet.ru

Tambah komen