Kodlama için son teknoloji büyük dil modeli Code Llama
(ai.meta.com)- Kodlama yardımcısı talebi artarken Meta, Code Llama'yı tanıttı; böylece açık model tabanlı kod üretimi, tamamlama ve hata ayıklama seçenekleri genişledi
- Bu model, Llama 2'nin kod verileriyle ek eğitim almış bir sürümü ve hem kod hem de doğal dil istemleriyle kod görevlerini yerine getiriyor
- 7B·13B·34B·70B boyutlarında sunuluyor; 70B model ise 29 Ocak 2024'te Code Llama ailesinin en büyük ve en yüksek performanslı modeli olarak ayrıca yayımlandı
- Temel model, Python'a özelleşmiş model ve doğal dil talimatları için Instruct varyantı olarak ayrılıyor; seçim yapılırken gecikme, performans ve kullanım amacı dikkate alınmalı
- Araştırma ve ticari kullanım ücretsiz, ancak lisansa ve izin verilen kullanım politikasına uyulmalı ve kod üretiminin güvenliği ayrıca değerlendirilmelidir
Code Llama'nın hedeflediği kod görevleri
- Code Llama, metin istemleriyle kod üretebilen, kodlamaya yönelik bir büyük dil modelidir
- Açık olarak yayımlanmış LLM'ler arasında kod görevlerinde son teknoloji performansı hedefler ve geliştirici iş akışlarını daha hızlı ve verimli hâle getirme potansiyeline sahiptir
- Kodlama öğrenenlerin giriş bariyerini düşüren ve programcıların daha sağlam ve daha iyi dokümante edilmiş yazılımlar yazmasına yardımcı olan bir üretkenlik ve eğitim aracı olarak kullanılabilir
- Meta, Code Llama'yı Llama 2 ile aynı topluluk lisansı ile yayımlıyor
Llama 2'nin kod verileriyle ek eğitilmesi
- Code Llama, Llama 2'nin yalnızca koda odaklı bir veri kümesiyle daha fazla eğitilmesiyle oluşturulmuş, koda özelleşmiş bir sürümdür
- Hem kodu hem de doğal dil istemlerini girdi olarak alıp kod ve kodla ilgili doğal dil çıktıları üretebilir
- Örnek istem: “Fibonacci dizisini yazdıran bir fonksiyon yaz”
- Kod tamamlama ve hata ayıklama için de kullanılabilir
- Desteklenen diller arasında Python, C++, Java, PHP, Typescript(JavaScript), C#, Bash bulunur
Boyuta göre seçim ölçütleri ve bağlam
- Code Llama, 7B, 13B, 34B, 70B parametre boyutlarında sunulur
- 7B, 13B ve 34B modelleri kod ve kodla ilgili verilerden oluşan 500B token ile eğitildi, 70B model ise 1T token ile eğitildi
- 7B ve 13B'nin temel ve Instruct modelleri, mevcut kodun ortasına kod eklemeye imkân veren fill-in-the-middle(FIM) özelliğiyle de eğitildi
- Kod tamamlama gibi görevleri doğrudan destekleyebilir
- Model boyutu, sunum şekline ve gecikme gereksinimlerine göre değişir
- 7B model tek bir GPU üzerinde sunulabilir
- 34B ve 70B modeller en iyi sonuçları ve daha güçlü kodlama desteğini sağlar
- 7B ve 13B modeller daha hızlı olduğu için gerçek zamanlı kod tamamlama gibi düşük gecikme gerektiren işler için daha uygundur
- Code Llama modelleri, en fazla 100,000 token bağlamda istikrarlı üretim sağlar
- Tüm modeller 16,000 token dizileriyle eğitildi
- En fazla 100,000 token girdide iyileşme gösterir
Temel·Python·Instruct olmak üzere üç varyant
- Code Llama ailesi üç varyanta ayrılır
- Code Llama: temel kod modeli
- Code Llama - Python: Python'a özelleşmiş model
- Code Llama - Instruct: doğal dil talimatlarını anlamaya göre ince ayarlanmış model
- Code Llama - Python, 100B token Python kodu ile ek olarak ince ayarlandı
- Python, kod üretiminde en çok benchmark yapılan dildir
- Python ve PyTorch, yapay zeka topluluğunda önemli bir rol oynar
- Code Llama - Instruct, doğal dil talimat girdileri ve beklenen çıktılarla eğitime devam edilen varyanttır
- İnsanların bir istemden ne beklediğini daha iyi anlaması için tasarlandı
- Doğal dilde yararlı ve güvenli yanıtlar üretmesi için ince ayarlandı
- Kod üretiminde Code Llama kullanılırken Code Llama - Instruct varyantının kullanılması önerilir
- Code Llama ve Code Llama - Python, doğal dil talimatlarını izlemek üzere tasarlanmadığı için genel doğal dil görevlerinde önerilmez
- Code Llama, koda özelleşmiş görevler içindir; diğer görevler için temel model olarak uygun değildir
Code Llama 70B'nin ek olarak yayımlanması
- 29 Ocak 2024 güncellemesiyle Code Llama 70B yayımlandı
- 70B, Code Llama ailesinin en büyük ve en yüksek performanslı modelidir
- Mevcut Code Llama ile aynı üç sürümde sunulur ve hepsi araştırma ile ticari kullanım için ücretsizdir
- CodeLlama - 70B: temel kod modeli
- CodeLlama - 70B - Python: Python'a özelleşmiş 70B model
- Code Llama - 70B - Instruct 70B: doğal dil talimatlarını anlamaya göre ince ayarlanmış model
Benchmark'lar ve güvenlik değerlendirmesi
- Performans değerlendirmesi iki kodlama benchmark'ı ile yapıldı
- Benchmark'larda Code Llama, açık kaynak koda özelleşmiş LLM'lerden ve Llama 2'den daha iyi performans gösterdi
- Code Llama 34B, HumanEval'de %53.7, MBPP'de %56.2 elde etti
- Açık olarak yayımlanmış son teknoloji çözümlerle karşılaştırıldığında en üst düzeydeydi ve ChatGPT'ye benzer seviyedeydi
- Meta, yayımlamadan önce çeşitli güvenlik önlemleri uyguladı ve red team sürecinde kötü amaçlı kod üretimi riskini nicel olarak değerlendirdi
- Kötü amaçlı kodu açık niyetle isteyen istemler oluşturdu
- Code Llama yanıtlarını ChatGPT'nin GPT-3.5 Turbo yanıtlarıyla karşılaştırarak puanladı
- Sonuçlarda Code Llama daha güvenli yanıtlar verdi
- Sorumlu yapay zeka, saldırı güvenlik mühendisliği, kötü amaçlı yazılım geliştirme ve yazılım mühendisliği alanlarındaki uzmanların yer aldığı red team ayrıntıları araştırma makalesinde bulunuyor
Açık materyaller ve sorumlu kullanım
- Code Llama'nın eğitim reçetesi GitHub deposunda yayımlanıyor
- Model ağırlıkları da sağlanıyor
- Araştırma makalesi, Code Llama'nın geliştirilmesini, benchmark test yöntemlerini, sınırlamalarını, bilinen zorlukları, azaltma önlemlerini ve gelecekte incelenecek konuları içeriyor
- Responsible Use Guide da güncellendi
- İçerik politikaları ve azaltma önlemlerinin tanımı
- Veri hazırlığı
- Model ince ayarı
- Performans değerlendirmesi ve iyileştirme
- Girdi ve çıktı düzeyindeki risklere karşı önlemler
- Kullanıcı etkileşimlerinde şeffaflık ve raporlama mekanizmalarının kurulması
- Geliştiriciler modeli, koda özelleşmiş değerlendirme benchmark'larıyla test etmelidir
- Kötü amaçlı yazılım, bilgisayar virüsü ve kötü niyetli kod üretimi gibi koda özelleşmiş kullanım senaryoları için güvenlik araştırması önerilir
- Otomatik ve insan değerlendirmesi için güvenlik veri kümelerinin kullanılması ve adversarial prompt tabanlı red team çalışmaları da önerilir
Açık kodlama modeli ekosistemindeki rolü
- Code Llama; araştırma, sanayi, açık kaynak projeleri, STK'lar ve şirketler gibi farklı alanlardaki yazılım mühendislerini desteklemek için tasarlandı
- Temel modelin ve Instruct modelinin kapsayabildiğinden daha fazla kullanım senaryosu hâlâ mevcut
- Meta, Code Llama'nın başkalarını Llama 2'yi kullanarak araştırma ve ticari ürünler için yeni araçlar oluşturmaya teşvik etmesini umuyor
- İlgili kaynaklar:
1 yorum
Hacker News yorumları