Meta telah meluncurkan "artefak" AI, bagaimana model kode open source dan gratis Code Llama dibandingkan dengan ChatGPT?

Sumber asli: Lab Inovasi AGI

Sumber gambar: Dihasilkan oleh AI Tanpa Batas‌

Meta baru-baru ini merilis Code Llama, model bahasa berskala besar berdasarkan Llama 2 untuk penyesuaian, yang dapat menghasilkan kode menggunakan perintah teks dan merupakan sumber terbuka untuk penelitian dan penggunaan komersial.

Code Llama adalah LLM terbuka canggih untuk tugas pengkodean yang berpotensi membuat alur kerja pengembang saat ini lebih cepat dan efisien serta menurunkan hambatan masuk bagi mereka yang belajar kode. Code Llama berpotensi digunakan sebagai alat produktivitas dan pendidikan untuk membantu pemrogram menulis perangkat lunak yang lebih kuat dan terdokumentasi dengan baik.

Cara kerja Kode Llama

Pada bulan Juli tahun ini, Meta (sebelumnya Facebook) merilis Llama 2, model open source yang gratis dan tersedia secara komersial. Rilis terbaru, Code Llama, adalah versi khusus Llama2 khusus untuk pengkodean, dibuat dengan melatih Llama 2 lebih lanjut pada kumpulan data khusus kode, mengambil sampel lebih banyak data dari kumpulan data yang sama untuk jangka waktu yang lebih lama.

Secara keseluruhan, Code Llama memiliki fitur pengkodean yang ditingkatkan, dibangun di atas Llama 2. Ini dapat menghasilkan kode dan bahasa alami tentang kode berdasarkan kode dan isyarat bahasa alami (misalnya, "tuliskan saya fungsi yang mengeluarkan deret Fibonacci.") Ini juga dapat digunakan untuk penyelesaian kode dan debugging.

Code Llama mendukung banyak bahasa terpopuler yang digunakan saat ini, termasuk Python, C++, Java, PHP, Typeface (Java), C#, dan Bash.

Kode Llama saat ini memiliki tiga versi parameter: 7 miliar parameter, 13 miliar parameter, 34 miliar parameter.

Setiap versi dilatih dengan 500 miliar token kode dan data terkait kode. Basis parameter dan model instruksi berjumlah 7 miliar dan 13 miliar juga dilatih dengan kemampuan Fill-in-the-Intermediate (FIM), yang memungkinkan mereka untuk memasukkan kode ke dalam kode yang sudah ada, yang berarti mereka dapat mendukung tugas-tugas seperti penyelesaian kode di luar waktu yang ditentukan. kotak.

Ketiga model ini memenuhi persyaratan layanan dan latensi yang berbeda. Misalnya, 7 miliar model dapat dijalankan pada satu GPU. Model 34 miliar memberikan hasil terbaik dan menawarkan bantuan pengkodean yang lebih baik, namun model 7 miliar dan 13 miliar yang lebih kecil lebih cepat dan lebih cocok untuk tugas-tugas yang memerlukan latensi rendah, seperti penyelesaian kode waktu nyata.

Model Code Llama menyediakan pembangkitan stabil hingga 100.000 token konteks. Semua model dilatih pada urutan 16.000 token dan menunjukkan peningkatan pada masukan hingga 100.000 token.

Selain menjadi prasyarat untuk menghasilkan program yang lebih panjang, memiliki urutan masukan yang lebih panjang dapat membuka kasus penggunaan baru yang menarik untuk Code LLM. Misalnya, pengguna dapat memberikan model dengan lebih banyak konteks dari basis kode mereka untuk membuat generasi menjadi lebih relevan. Ini juga membantu dalam men-debug skenario dalam basis kode yang lebih besar, yang dapat menyulitkan pengembang untuk memahami semua kode yang terkait dengan masalah tertentu. Saat pengembang dihadapkan pada proses debug kode dalam jumlah besar, mereka dapat meneruskan seluruh panjang kode ke dalam model.

Meta juga menyempurnakan dua versi tambahan Code Llama: Code Llama - Python dan Code Llama - Instruct.

  • Kode Llama - Python adalah varian khusus bahasa dari Kode Llama, yang selanjutnya disempurnakan pada token 100B kode Python.
  • Code Llama - Instruct adalah versi instruksi Code Llama yang telah disesuaikan dan diselaraskan. Penyesuaian instruksi melanjutkan proses pelatihan, tetapi dengan tujuan yang berbeda. Model menerima "instruksi bahasa alami" sebagai masukan dan keluaran yang diharapkan. Hal ini memungkinkannya untuk lebih memahami apa yang diharapkan orang dari perintah tersebut. Kami merekomendasikan penggunaan versi Code Llama - Instruct saat menggunakan Code Llama untuk pembuatan kode, karena Code Llama - Instruct telah disempurnakan untuk menghasilkan jawaban yang berguna dan aman dalam bahasa alami.

Namun tidak disarankan menggunakan Kode Llama atau Kode Llama - Python untuk tugas bahasa alami umum karena tidak ada model yang dirancang untuk mengikuti instruksi bahasa alami. Code Llama dirancang untuk tugas khusus kode dan tidak cocok sebagai model dasar untuk tugas lainnya.

Bagaimana kinerja Kode Llama?

Pemrograman Python Manusia dan Sebagian Besar Dasar (MBPP) adalah dua tolok ukur yang umum digunakan untuk kemahiran pengkodean — Manusia menguji kemampuan model untuk menyelesaikan kode dari dokumen, dan MBPP menguji kemampuan model untuk menulis kode dari deskripsi. Menguji Code Llama terhadap dua tolok ukur ini menunjukkan bahwa Code Llama mengungguli Llama open source, khusus kode, dan mengungguli Llama 2 itu sendiri. Misalnya, Kode Llama 34B mendapat skor 53,7% pada Manusia dan 56,2% pada MBPP, melampaui ChatGPT namun masih kalah dengan GPT-4 pada Manusia.

Sumber bagan: Meta

*Model CodeLlama-34B yang disempurnakan telah melampaui GPT-4? *

Meskipun Code Llama tidak memenangkan tes, ini belum semuanya Code Llama, sorotan lainnya adalah penyempurnaan lagi. Pengguna dapat menyempurnakan kembali Kode Llama sumber terbuka untuk membangun versi terbaik yang memenuhi kebutuhan mereka.

Phind baru-baru ini menyempurnakan CodeLlama-34B dan CodeLlama-34B-Python berdasarkan kumpulan datanya sendiri, dan versi yang disempurnakan mencapai 67,6% dan 69,5% pada Manusia, melampaui GPT-4 yang diumumkan oleh OpenAI pada bulan Maret 67% dari jumlah seluruhnya.

Tautan yang berhubungan:

Perbandingan penggunaan aktual ChatGPT vs. Kode Llama

Pertama-tama, ChatGPT versi GPT-3.5 dan Code Llama yang didukung oleh platform Perplexity digunakan dalam perbandingan ini. Kami akan mengajukan 8 pertanyaan untuk membandingkan apakah keduanya berhasil menghasilkan kode.

Pertanyaan 1:

"Menggunakan Python. Diberikan dua string kata1 dan kata2. Gabungkan string dengan menambahkan huruf secara bergantian, dimulai dengan kata1. Jika satu string lebih panjang dari yang lain, tambahkan huruf tambahan ke string yang digabungkan. akhir.

Kembalikan string yang digabungkan.

Contoh 1: • Masukan: kata1="abc", kata2="pqr" • Keluaran: "apbqcr"

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Api:成功+1

Pertanyaan 2:

"Menggunakan Python. Diberikan string s, balikkan saja semua vokal dalam string dan kembalikan.

Vokalnya adalah "a", "e", "i", "o", dan "u", yang dapat muncul berkali-kali baik dalam huruf kecil maupun huruf besar.

Contoh 1:

Masukan: s = "halo" Keluaran: "Aula"

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Llama: Gagal +0

Pertanyaan 3:

"Menggunakan Python. Mengingat nomor array bilangan bulat, geser semua angka 0 ke akhir sambil mempertahankan urutan relatif elemen bukan nol. Perhatikan bahwa Anda harus melakukan ini di tempat, tanpa membuat salinan array.

Contoh 1:

Masukan: angka = [0,1,0,3,12] Keluaran: [1,3,12,0,0]"

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Llama: Gagal +0

Pertanyaan 4:

“Menggunakan Python. Anda memiliki petak bunga yang panjang, ada petak yang ditanami dan ada yang tidak. Namun petak yang berdekatan tidak dapat ditanami bunga. Diberikan array bilangan bulat 0 dan 1 untuk petak bunga, dimana 0 berarti kosong dan 1 berarti tidak kosong, dan bilangan bulat n, menghasilkan nilai true jika n bunga baru dapat ditanam di petak bunga tanpa melanggar aturan tidak ada bunga yang berdekatan, Jika tidak, kembalikan salah.

Contoh 1: Masukan: petak bunga = [1,0,0,0,1], n = 1 Keluaran: benar Contoh 2: Masukan: petak bunga = [1,0,0,0,1], n = 2 keluaran: salah

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Api:成功+1

Pertanyaan 5:

"Menggunakan Python. Diberikan string input s, balikkan urutan kata-katanya.

Sebuah kata didefinisikan sebagai rangkaian karakter non-spasi. Kata-kata dalam huruf s akan dipisahkan oleh setidaknya satu spasi.

Mengembalikan serangkaian kata yang digabungkan dengan spasi tunggal dalam urutan terbalik.

Perhatikan bahwa s mungkin berisi spasi di awal atau akhir, atau beberapa spasi di antara dua kata. String yang dikembalikan seharusnya hanya memiliki satu spasi untuk memisahkan kata. Jangan sertakan spasi tambahan.

Contoh 1: Input: s = “Langit berwarna biru” Keluaran: "Biru adalah langit""

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Api:成功+1

Pertanyaan 6:

"Menggunakan Python. Diberikan string s dan bilangan bulat k, kembalikan jumlah vokal maksimum dalam substring apa pun dengan panjang k dalam s. Huruf vokal dalam bahasa Inggris adalah “a”, “e”, “i”, “o” dan “u”.

Contoh 1: Masukan: s = "leetcode", k = 3 Keluaran: 2 Penjelasan: "lee", "eet" dan "ode" mengandung 2 huruf vokal.

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Api:成功+1

Pertanyaan 7:

"Menggunakan Python. Diberikan string s yang berisi tanda bintang *.

Dengan satu operasi, Anda dapat:

Pilih bintang di s.

Menghapus karakter non-tanda bintang terdekat di sebelah kirinya, dan menghapus tanda bintang itu sendiri.

Mengembalikan string setelah menghapus semua bintang.

Contoh 1: Masukan: s="leet**cod*e" Keluaran: "lecoe""

🟢 ObrolanGPT: +1 untuk sukses 🔵 Kode Llama: Gagal +0

Pertanyaan 8:

"Menggunakan Python. Mengingat serangkaian suhu bilangan bulat yang mewakili suhu harian, kembalikan serangkaian jawaban di mana jawabannya [i] adalah jumlah hari demi hari saya harus menunggu suhu hangat. Jika tidak ada hari di masa depan untuk melakukan hal ini, simpanlah jawabannya [i] == 0。

Contoh 1: Masukan: Suhu = [73,74,75,71,69,72,76,73] Keluaran: [1,1,4,2,1,1,0,0]"

🟢 Obrolan GPT: +1 🔵 Kode Unta: +1

Hasil Akhir:

🟢 ObrolanGPT: 8/8 🔵 KodeLlama: 5/8

Singkatnya, Code Llama tidak menunjukkan keunggulan nyata dibandingkan ChatGPT dalam efek penggunaan sebenarnya, namun pengujian di atas tidak dapat sepenuhnya digunakan sebagai dasar penilaian. Selain itu, Kode sumber terbuka Llama lebih mudah disesuaikan daripada ChatGPT bagi pengguna sesuai kebutuhan mereka, yang mungkin membawa lebih banyak kemungkinan.

Referensi:

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)