1 poin oleh GN⁺ 2023-08-25 | 1 komentar | Bagikan ke WhatsApp
  • 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
    • HumanEval: evaluasi kemampuan penyelesaian kode berbasis docstring
    • MBPP: evaluasi kemampuan menulis kode berbasis deskripsi
  • 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

1 komentar

 
GN⁺ 2023-08-25
Opini Hacker News