Code Llama, model bahasa besar mutakhir untuk coding
(ai.meta.com)- Di tengah meningkatnya permintaan akan asisten coding, Meta merilis Code Llama, sehingga pilihan untuk pembuatan, penyelesaian, dan debugging kode berbasis model terbuka menjadi lebih luas
- Model ini adalah versi Llama 2 yang dilatih lebih lanjut dengan data kode, dan menangani tugas kode baik dari prompt kode maupun bahasa alami
- Tersedia dalam ukuran 7B, 13B, 34B, dan 70B; model 70B dirilis tambahan pada 29 Januari 2024 sebagai model terbesar dan berkinerja terbaik dalam keluarga Code Llama
- Terdiri dari model dasar, model khusus Python, dan varian Instruct untuk instruksi bahasa alami; penggunaannya perlu dipilih sesuai latensi, performa, dan tujuan penggunaan
- Gratis untuk penggunaan riset dan komersial, tetapi harus mematuhi lisensi serta kebijakan penggunaan yang diizinkan, dan tetap melakukan evaluasi keamanan untuk pembuatan kode
Tugas kode yang dibidik Code Llama
- Code Llama adalah model bahasa besar untuk coding yang dapat menghasilkan kode dari prompt teks
- Di antara LLM yang dirilis terbuka, model ini menargetkan performa mutakhir dalam tugas kode, dan berpotensi membuat alur kerja developer lebih cepat dan efisien
- Dapat dimanfaatkan sebagai alat produktivitas dan edukasi yang menurunkan hambatan masuk bagi orang yang belajar coding, sekaligus membantu programmer menulis software yang lebih kokoh dan terdokumentasi
- Meta merilis Code Llama dengan lisensi komunitas yang sama seperti Llama 2
Llama 2 yang dilatih lebih lanjut dengan data kode
- Code Llama adalah versi khusus kode yang dibuat dengan melatih Llama 2 lebih lanjut menggunakan dataset khusus kode
- Model ini dapat menerima kode maupun prompt bahasa alami sebagai input, lalu menghasilkan kode dan bahasa alami yang terkait kode
- Contoh prompt: “Tuliskan fungsi yang mencetak deret Fibonacci”
- Dapat juga digunakan untuk penyelesaian kode dan debugging
- Bahasa yang didukung mencakup Python, C++, Java, PHP, Typescript(JavaScript), C#, Bash
Kriteria pemilihan berdasarkan ukuran dan konteks
- Code Llama tersedia dalam ukuran parameter 7B, 13B, 34B, 70B
- Model 7B, 13B, dan 34B dilatih dengan 500B token kode dan data terkait kode, sedangkan model 70B dilatih dengan 1T token
- Model dasar dan Instruct 7B serta 13B juga dilatih dengan kemampuan fill-in-the-middle(FIM), sehingga dapat menyisipkan kode di tengah kode yang sudah ada
- Ini dapat langsung mendukung tugas seperti penyelesaian kode
- Ukuran model bergantung pada cara penyajian dan kebutuhan latensi
- Model 7B dapat disajikan pada satu GPU
- Model 34B dan 70B memberikan hasil terbaik dan dukungan coding yang lebih baik
- Karena lebih cepat, model 7B dan 13B lebih cocok untuk tugas yang membutuhkan latensi rendah, seperti penyelesaian kode real-time
- Model Code Llama menyediakan generasi yang stabil hingga konteks 100.000 token
- Semua model dilatih dengan sekuens 16.000 token
- Menunjukkan peningkatan pada input hingga 100.000 token
Tiga varian: dasar, Python, dan Instruct
- Keluarga Code Llama terbagi menjadi tiga varian
- Code Llama: model kode dasar
- Code Llama - Python: model khusus Python
- Code Llama - Instruct: model yang di-fine-tune untuk memahami instruksi bahasa alami
- Code Llama - Python di-fine-tune lebih lanjut dengan 100B token kode Python
- Python adalah bahasa yang paling banyak di-benchmark dalam pembuatan kode
- Python dan PyTorch berperan penting dalam komunitas AI
- Code Llama - Instruct adalah varian yang melanjutkan pelatihan dengan input instruksi bahasa alami dan output yang diharapkan
- Dirancang agar lebih memahami apa yang diharapkan manusia dalam prompt
- Di-fine-tune untuk menghasilkan jawaban yang berguna dan aman dalam bahasa alami
- Saat menggunakan Code Llama untuk pembuatan kode, disarankan memakai varian Code Llama - Instruct
- Code Llama dan Code Llama - Python tidak dirancang untuk mengikuti instruksi bahasa alami, sehingga tidak direkomendasikan untuk tugas bahasa alami umum
- Code Llama ditujukan untuk tugas khusus kode, dan tidak cocok sebagai model dasar untuk tugas lain
Rilis tambahan Code Llama 70B
- Melalui pembaruan pada 29 Januari 2024, Code Llama 70B dirilis
- 70B adalah model terbesar dan berkinerja terbaik dalam keluarga Code Llama
- Tersedia dalam tiga versi yang sama seperti Code Llama sebelumnya, dan semuanya gratis untuk penggunaan riset maupun komersial
- CodeLlama - 70B: model kode dasar
- CodeLlama - 70B - Python: model 70B khusus Python
- Code Llama - 70B - Instruct 70B: model yang di-fine-tune untuk memahami instruksi bahasa alami
Benchmark dan evaluasi keamanan
- Evaluasi performa dilakukan dengan dua benchmark coding
- Dalam benchmark, Code Llama menunjukkan performa lebih baik daripada LLM khusus kode open source dan Llama 2
- Code Llama 34B mencatat 53,7% pada HumanEval dan 56,2% pada MBPP
- Angka ini berada di tingkat tertinggi dibandingkan solusi terbuka mutakhir yang dipublikasikan, dan setara dengan ChatGPT
- Meta melakukan beberapa langkah keamanan sebelum rilis, dan dalam proses red team mengevaluasi secara kuantitatif risiko pembuatan kode berbahaya
- Mereka membuat prompt yang meminta kode berbahaya dengan niat yang jelas
- Respons Code Llama dibandingkan dan diberi skor terhadap respons GPT-3.5 Turbo milik ChatGPT
- Hasilnya menunjukkan Code Llama memberikan respons yang lebih aman
- Detail red team dari para pakar di bidang AI yang bertanggung jawab, offensive security engineering, pengembangan malware, dan software engineering disertakan dalam makalah riset
Materi publik dan penggunaan yang bertanggung jawab
- Resep pelatihan Code Llama dipublikasikan di repositori GitHub
- Bobot model juga tersedia
- Makalah riset mencakup pengembangan Code Llama, metode pengujian benchmark, keterbatasan, tantangan yang diketahui, langkah mitigasi, dan topik yang akan diteliti ke depan
- Responsible Use Guide juga diperbarui
- Kebijakan konten dan definisi langkah mitigasi
- Persiapan data
- Fine-tuning model
- Evaluasi dan peningkatan performa
- Penanganan risiko pada level input dan output
- Membangun transparansi dan mekanisme pelaporan dalam interaksi pengguna
- Developer perlu mengevaluasi model dengan benchmark evaluasi khusus kode
- Riset keamanan untuk kasus penggunaan khusus kode seperti pembuatan malware, virus komputer, dan kode berbahaya direkomendasikan
- Penggunaan dataset keamanan untuk evaluasi otomatis dan manusia, serta red team berbasis prompt adversarial juga direkomendasikan
Peran dalam ekosistem model coding terbuka
- Code Llama dirancang untuk mendukung software engineer di berbagai bidang, termasuk riset, industri, proyek open source, NGO, dan perusahaan
- Masih ada lebih banyak kasus penggunaan di luar cakupan yang dapat ditangani model dasar dan model Instruct
- Meta berharap Code Llama dapat mendorong pihak lain memanfaatkan Llama 2 untuk membuat alat baru bagi riset dan produk komersial
- Materi terkait:
1 komentar
Opini Hacker News