Geliştiriciler, GitHub Copilot ve Amazon CodeWhisperer gibi hizmetlerin yanı sıra Meta’nın CodeLlama gibi açık erişim modellerinden oluşan yapay zeka destekli kod oluşturucuları şaşırtıcı bir hızla benimsiyor. Ancak araçlar ideal olmaktan uzaktır. Birçoğu ücretsiz değil. Diğerleri ise ortak ticari bağlamlarda kullanılmalarını engelleyen lisanslar altındadır.
Alternatiflere yönelik talebi algılayan yapay zeka girişimi Hugging Face, birkaç yıl önce iş akışı otomasyon platformu ServiceNow ile birlikte çalışarak diğerlerinden daha az kısıtlayıcı bir lisansa sahip bir açık kaynak kod oluşturucu olan StarCoder’ı yarattı. Orijinali geçen yılın başlarında yayına girdi ve o zamandan beri devamı olan StarCoder 2 üzerinde çalışmalar sürüyor.
StarCoder 2 tek bir kod üreten model değil, bir ailedir. Bugün piyasaya sürülen bu ürünün üç çeşidi bulunuyor ve bunlardan ilk ikisi çoğu modern tüketici GPU’sunda çalışabiliyor:
- ServiceNow tarafından eğitilen 3 milyar parametreli (3B) model
- Hugging Face tarafından eğitilen 7 milyar parametreli (7B) bir model
- StarCoder projesinin en yeni destekçisi Nvidia tarafından eğitilmiş 15 milyar parametreli (15B) bir model.
(“Parametrelerin” eğitim verilerinden öğrenilen bir modelin parçaları olduğunu ve esas olarak modelin bir problem üzerindeki becerisini (bu durumda kod üretme) tanımladığını unutmayın.)
Diğer kod oluşturucuların çoğu gibi, StarCoder 2 de tamamlanmamış kod satırlarını tamamlamanın yollarını önerebilir ve doğal dilde istendiğinde kod parçacıklarını özetleyip geri alabilir. Orijinal StarCoder’dan 4 kat daha fazla veriyle eğitilen StarCoder 2, Hugging Face, ServiceNow ve Nvidia’nın daha düşük işletme maliyetleriyle “önemli ölçüde” gelişmiş performans olarak nitelendirdiği şeyi sunuyor.
StarCoder 2’de, sohbet robotları ve kişisel kodlama asistanları gibi uygulamalar oluşturmak için birinci veya üçüncü taraf verileri üzerinde Nvidia A100 gibi bir GPU kullanılarak “birkaç saat içinde” ince ayar yapılabilir. Ve orijinal StarCoder’dan (~619 programlama dili) daha büyük ve daha çeşitli bir veri seti üzerinde eğitildiği için StarCoder 2, en azından varsayımsal olarak daha doğru, bağlama duyarlı tahminler yapabilir.
ServiceNow’un StarCoder 2 geliştirme ekibinin başkanı Harm de Vries, bir röportajda TechCrunch’a “StarCoder 2 özellikle uygulamaları hızlı bir şekilde oluşturması gereken geliştiriciler için yaratıldı” dedi. “StarCoder2 ile geliştiriciler, hız veya kaliteden ödün vermeden kodlamayı daha verimli hale getirmek için onun yeteneklerini kullanabilirler.”
Hız ve kalite konularında her geliştiricinin De Vries ile aynı fikirde olmayacağını söylemek isterim. Kod oluşturucular belirli kodlama görevlerini kolaylaştırmayı vaat ediyor ancak bunun bir bedeli var.
Yakın zamanda yapılan bir Stanford araştırması, kod üreten sistemleri kullanan mühendislerin, geliştirdikleri uygulamalarda güvenlik açıkları yaratma olasılığının daha yüksek olduğunu buldu. Başka bir yerde, siber güvenlik firması Sonatype tarafından yapılan bir anket, geliştiricilerin çoğunluğunun, kod oluşturuculardan gelen kodun nasıl üretildiğine ve yönetilemeyecek kadar fazla kod üreten oluşturucuların “kod yayılmasına” ilişkin anlayış eksikliğinden endişe duyduğunu gösteriyor.
StarCoder 2’nin lisansı da bazıları için engel teşkil edebilir.
StarCoder 2, hem model lisansı sahiplerine hem de alt kullanıcılara “hafif dokunma” kısıtlamaları getirerek sorumlu kullanımı teşvik etmeyi amaçlayan Hugging Face’in RAIL-M kapsamında lisanslıdır. Diğer birçok lisanstan daha az kısıtlayıcı olmasına rağmen RAIL-M, geliştiricilerin StarCoder 2’yi Her akla gelebilecek bir uygulama (örneğin, tıbbi tavsiye veren uygulamalar kesinlikle yasaktır). Bazı yorumcular, RAIL-M’nin gerekliliklerinin her durumda uyulamayacak kadar belirsiz olabileceğini ve RAIL-M’nin AB Yapay Zeka Yasası gibi yapay zeka ile ilgili düzenlemelerle çelişebileceğini söylüyor.
Tüm bunları bir an için bir kenara bırakalım, StarCoder 2 gerçekten de diğer kod oluşturuculardan daha üstün mü; ücretli mi, ücretsiz mi?
Karşılaştırmaya bağlı olarak CodeLlama’nın versiyonlarından biri olan CodeLlama 33B’den daha verimli olduğu görülüyor. Hugging Face, StarCoder 2 15B’nin kod tamamlama görevlerinin bir alt kümesinde CodeLlama 33B ile iki kat daha hızlı eşleştiğini söylüyor. Hangi görevlerin olduğu belli değil; Sarılma Yüzü belirtmedi.
Açık kaynaklı bir model koleksiyonu olan StarCoder 2, aynı zamanda yerel olarak dağıtılma ve geliştiricinin kaynak kodunu veya kod tabanını “öğrenebilme” avantajına da sahiptir; bu, kodu bulutta barındırılan bir yapay zekaya ifşa etmekten çekinen geliştiriciler ve şirketler için cazip bir olasılıktır. Portal26 ve CensusWide tarafından 2023 yılında yapılan bir ankette işletmelerin %85’i, çalışanların hassas bilgileri paylaşması veya satıcıların özel veriler konusunda eğitimi alması gibi gizlilik ve güvenlik riskleri nedeniyle kod oluşturucular gibi GenAI’yi benimsemekten çekindiklerini söyledi.
Hugging Face, ServiceNow ve Nvidia da StarCoder 2’nin rakiplerinden daha etik ve yasal açıdan daha az endişe verici olduğunu öne sürüyor.
Tüm GenAI modelleri yeniden ortaya çıkar; başka bir deyişle, eğitildikleri verilerin ayna kopyasını çıkarırlar. Bunun bir geliştiricinin başını neden belaya sokabileceğini anlamak için aktif bir hayal gücü gerektirmez. Telif hakkıyla korunan kod konusunda eğitilmiş kod oluşturucularla, filtreler ve ek güvenlik önlemleri uygulansa bile, oluşturucuların farkında olmadan telif hakkıyla korunan kodu tavsiye etmesi ve onu bu şekilde etiketlememesi tamamen mümkündür.
GitHub, Microsoft (GitHub’un ana şirketi) ve Amazon’un da aralarında bulunduğu birkaç satıcı, kod oluşturucu müşterisinin telif hakkını ihlal etmekle suçlandığı durumlarda yasal kapsam sağlama sözü verdi. Ancak kapsam satıcıdan satıcıya değişir ve genellikle kurumsal müşterilerle sınırlıdır.
Telif hakkıyla korunan kod kullanılarak eğitilen kod oluşturucuların (diğerlerinin yanı sıra GitHub Copilot) aksine StarCoder 2, yalnızca kod için arşiv hizmetleri sağlayan kar amacı gütmeyen kuruluş olan Software Heritage’ın lisansı altındaki verilerle eğitildi. StarCoder 2’nin eğitimi öncesinde, StarCoder 2’nin yol haritasının büyük bir kısmının arkasındaki organizasyonlar arası ekip olan BigCode, kod sahiplerine isterlerse eğitim setinden çıkma şansı verdi.
Orijinal StarCoder’da olduğu gibi, StarCoder 2’nin eğitim verileri de geliştiricilerin diledikleri gibi çatallamaları, çoğaltmaları veya denetlemeleri için mevcuttur.
Hugging Face makine öğrenimi mühendisi ve BigCode’un eşbaşkanı Leandro von Werra, son zamanlarda açık kod oluşturucuların çoğalmasına rağmen, çok azına onları eğitmek için kullanılan veriler ve aslında nasıl çalıştığı hakkında bilgilerin eşlik ettiğini belirtti. eğitildiler.
Von Werra, “Bilimsel açıdan bakıldığında, sorun şu ki, eğitim tekrarlanamaz, ancak aynı zamanda bir veri üreticisi olarak (yani kodunu GitHub’a yükleyen biri olarak), verilerinizin kullanılıp kullanılmadığını ve nasıl kullanıldığını bilmiyorsunuz” dedi. röportaj. “StarCoder 2, eğitim öncesi verilerinin kazınmasından eğitimin kendisine kadar tüm eğitim hattında tamamen şeffaf olarak bu sorunu çözüyor.”
StarCoder 2’nin mükemmel olmadığı söyleniyor. Diğer kod oluşturucular gibi, önyargıya karşı hassastır. De Vries, cinsiyet ve ırkla ilgili stereotipleri yansıtan öğeler içeren kodlar oluşturabildiğini belirtiyor. StarCoder 2 ağırlıklı olarak İngilizce yorumlar, Python ve Java kodu üzerine eğitildiğinden, İngilizce dışındaki dillerde ve Fortran ve Haksell gibi “düşük kaynak” kodlarında daha zayıf performans gösterir.
Yine de Von Werra bunun doğru yönde atılmış bir adım olduğunu ileri sürüyor.
“Yapay zeka modelleriyle güven ve hesap verebilirlik oluşturmanın, eğitim verileri ve eğitim tarifi de dahil olmak üzere tüm model hattının şeffaflığını ve denetlenebilirliğini gerektirdiğine kesinlikle inanıyoruz” dedi. “Yıldız Kodlayıcı 2 [showcases] Tamamen açık modellerin rekabetçi performansı nasıl sağlayabileceğini.”
Bu yazar gibi Hugging Face, ServiceNow ve Nvidia’nın StarCoder 2 gibi bir projeye yatırım yapmak için nasıl bir teşvike sahip olduğunu merak ediyor olabilirsiniz. Sonuçta bunlar birer işletme ve eğitim modelleri ucuz değil.
Anlayabildiğim kadarıyla bu denenmiş ve doğrulanmış bir strateji: iyi niyeti teşvik edin ve açık kaynak sürümlerinin üzerine ücretli hizmetler oluşturun.
ServiceNow, ServiceNow iş akışı kalıpları, kullanım senaryoları ve süreçleri için ince ayarlı kod oluşturmaya yönelik bir ürün olan Now LLM’yi oluşturmak için StarCoder’ı zaten kullandı. Model uygulama danışmanlık planları sunan Hugging Face, platformunda StarCoder 2 modellerinin barındırılan versiyonlarını sunuyor. StarCoder 2’yi bir API ve web ön ucu aracılığıyla kullanılabilir hale getiren Nvidia da öyle.
Ücretsiz çevrimdışı deneyimle açıkça ilgilenen geliştiriciler için StarCoder 2 (modeller, kaynak kodu ve daha fazlası) projenin GitHub sayfasından indirilebilir.
Kaynak: https://techcrunch.com/2024/02/28/starcoder-2-is-a-code-generating-ai-that-runs-on-most-gpus/