ChatGPT’nin geçen kış OpenAI tarafından halka sunulmasının ilk günleri, programın bilgisayar kodu oluşturma yeteneğinin kanıtını sağladı. Bu geliştiriciler için bir keşifti. ChatGPT’nin kodlamada o kadar iyi olduğu hemen anlaşıldı ki, birdenbire çok az kodlama bilgisine sahip insanlar bile onu güçlü yazılım oluşturmak için kullanabilir hale geldi.

Konuyla ilgili aylarca süren deneyim ve araştırmalar, ChatGPT ve diğer üretken yapay zekaların aslında bu tür programlar geliştiremeyeceğini ortaya çıkardı. Yapabilecekleri en iyi şey, basit kodlama sorunları için küçük adımlar sağlamaktır.

Yapay zeka girişimi MosaicML’in kurucu ortağı ve CEO’su Naveen Rao, “Üretken yapay zekanın gösterdiği şey, bir görevi yerine getirirken bana önerilerde bulunan ve yaratıcı engelleri aşmama izin veren bir ortağa sahip olabileceğimdir” dedi. Ağustos ayında Databricks tarafından satın alındı.

“Yapay zekalar pek iyi kodlar bile yazmıyor. Bu, başlangıç ​​seviyesi kodu.”

Ancak BT gelişimine yönelik bu düzeydeki destek düşüktür.

“Bu size bazı şeylerin tekrarlanabileceği bir iskele sağlıyor ama hepsi bu” dedi. “Çok zor bir problemi çözmeyi istersem bu mümkün olmaz. Yapay zekalar özellikle iyi kodlar bile yazmazlar. Bu başlangıç ​​kodudur.”

Bazı araştırmalar, GPT-4 gibi büyük dil modellerinin genel kod kalitesi açısından insan kodlayıcılardan çok daha düşük olduğunu gösteriyor.

GPT-4’ten üstün geliştiriciler

Yakın zamanda yapılan bir çalışma Sayed Erfan Arefin ve Texas Tech Üniversitesi’ndeki meslektaşları tarafından gerçekleştirilen çalışma, GPT-4’ü ve öncülü GPT-3.5’i çevrimiçi LeetCode platformundan alınan kodlama problemleriyle test etti. Bunlar, örneğin Google’daki adaylara sorulan türden sorunlardır.

Programlar iki teste göre değerlendirildi: “verilerin verimli erişim için düzenlenmesi (uygun veri yapılarının kullanılması)” ve “verilerin işlenmesi için iş akışlarının oluşturulması (etkili algoritmaların kullanılması)”. Ayrıca diğer iki zorlukla örtüşen “dizi manipülasyonu” adı verilen şey konusunda da değerlendirildiler.

Dil modelleri yazarların “tam sorular” dediği şeye tabi tutulduğunda, yani programlara sorulara örnek çözümler verildiğinde, GPT-4 soruların yalnızca %26’sını doğru yanıtlarken, insan katılımcılar için bu oran %45’ti.

Bazı bilgiler kaldırıldığında GPT-4’ün kapasitesi doğru cevaplanan soruların %19’una düştü. GPT-3.5 sırasıyla %12 ve %10 civarındadır.

Yazarlar ayrıca GPT kodunun kalitesini hem başarılar hem de başarısızlıklar açısından incelediler. Her iki durumda da bir sorun buldular: GPT genellikle temel kodlama uygulamasıyla, yani “değişkenleri tutarlı bir şekilde tanımlamakla” mücadele ediyordu.



Eğitim ve test setleri için GPT-3, GPT-4 ve insanlara, örnek çözümlerle birlikte sorunla ilgili tam bilgi verildiğinde veya eksik bilgi verildiğinde sorun düzeltildi. Teksas Teknik Üniversitesi

Temel programlama problemlerinden karmaşık programlama problemlerine geçiş

Ölçeklendirme aynı zamanda AI kod üretimi için de bir sorundur. Kod oluşturma açısından GPT-4’ün şu ana kadar elde ettiği en cesaret verici sonuçlar yalnızca önemsiz sorunlarla ilgilidir.

Bir çalışmaSiber güvenlik firması PeopleTec’ten David Noever tarafından gerçekleştirilen test, GPT-4’ün kod örneklerinde hatalı kodu bulma yeteneğini test etti. Bu genellikle güvenlik açığı test programları tarafından yapılan bir iştir; Snykveya SAST.

Yazarlar, bazı durumlarda GPT-4’ün Snyk’ten daha fazla hata bulduğunu söyledi. Ama aynı zamanda birçok hata da yaptı. Daha da önemlisi, GPT-4 2.000’den fazla satır kod üzerinde test edildi. Birçok bağlantılı dosyaya yayılmış yüzbinlerce, hatta milyonlarca satır kod içerebilen uygulamalarla karşılaştırıldığında çok küçük bir sayı.

Bu nedenle yapay zekaların çocuksu problemler üzerinde elde ettiği başarıların bu kadar karmaşıklığa ulaşıp ulaşamayacağı kesin değil.

Yapay zeka değişkenleri yanlış değerlendiriyor

Zhijie Liu ve ShanghaiTech Üniversitesi’ndeki meslektaşları tarafından geçen ay yapılan bir araştırmada kodun kalitesi, doğruluğu, anlaşılırlığı ve güvenliği açısından incelendi. Çalışma aynı zamanda ChatGPT’yi LeetCode görevlerinde de test etti. Ayrıca kod üretimini, MITRE araştırma firması tarafından sürdürülen bir güvenlik açığı testi olan Ortak Zayıflık Ortamı adı verilen bir ortamda da test ettiler.

ChatGPT’yi 2021’den önce veya sonra formüle edilen görevlerde test ettiler çünkü ChatGPT yalnızca 2021 öncesi donanımlar üzerinde eğitilmişti ve bu nedenle programın hem eski hem de yeni sorunlarda nasıl performans gösterdiğini görmek istediler.

Ve sonuçlar çarpıcı. Kendisi ve ekibi, 2021’den “sonraki” için “Aft.” olarak adlandırılan en son sayılar için çok düşük düzeltme oranları gördü. “ChatGPT’nin işlevsel olarak doğru kod oluşturma yeteneği, sorunun zorluğu arttıkça önemli ölçüde azalıyor” diye yazıyorlar. C dili programlarındaki kodun yalnızca %15,4’ü kabul edilebilirdi ve en zor problemler için hiçbiri kabul edilemezdi. Ek olarak, “Zor ve orta düzey problemler için ChatGPT tarafından oluşturulan kodun derleme ve çalışma zamanı hataları içerme olasılığı daha yüksektir.” Teste katılan insan kodlayıcılar ortalama %66 puan aldı.

“Bef.” etiketli daha eski sayılarda bu oran %31’e yükseliyor ve bu oran hala düşük.

Ekip, ChatGPT’nin sağladığı hatalı yanıt türlerini değerlendirdi. Çoğunlukla bir değişkeni değerlendirmek kadar basit bir şeyi içerir. Acemi bir geliştirici açısından hayal edilmesi zor bir hata.


shanghaitech-u-2023-chatgpt.png ile-kod oluşturma-kalitesini-değerlendirmek için artık parmağınızı bile kaldırmanıza gerek yok


ChatGPT tarafından oluşturulan hatalı kod örneği. Programın kutuları açıklamalarına göre kategorilere ayırması gerekiyor. 12. satırda kod, eğer bir kutu ne “büyük” ne de “ağır” değilse, “her ikisi de” olarak sınıflandırılması gerektiğine karar verir; oysa “ikisi de” olmamalıdır. ŞanghayTek Üniversitesi

ChatGPT, güçlü yazılan dillerde daha iyi performans gösterir

Araştırmacılar büyüleyici sonuçlara ulaşıyor. İlk olarak, ChatGPT’nin yeni sorunlarla karşı karşıya olduğunu belirtiyorlar: “Sorunların bir insan tarafından çözülmesi kolay olsa bile, ChatGPT’nin tanıdık olmayan veya yeni sorunlar için kod üretirken sınırlamaları olabilir.”

Ancak kullanılan programlama dili önemlidir: teknoloji, “kesinlikle yazılan” veya daha “anlamlı” olan belirli programlama dilleriyle en iyi şekilde çalışır. “ChatGPT’nin işlevsel olarak doğru kod üretme olasılığı, ifade gücü daha yüksek diller (örneğin Python3) kullanıldığında daha yüksektir” diye yazıyorlar.

Diğer bir kusur ise ChatGPT’nin karmaşık olabilmesi, dolayısıyla hatalarının düzeltilmesinin daha zor olmasıdır. “ChatGPT’nin kod oluşturma süreci ihmal edilebilir” diye yazıyorlar, “ve oluşturulan kod açıklanan ayrıntılı gereksinimlerin bazılarını karşılamayabilir, bu da başarılı bir şekilde oluşturulmasını veya düzeltilmesini zorlaştırır (böylece işlevsel olur)”.

MITRE’nin Ortak Güvenlik Açıkları testiyle ilgili olarak, “ChatGPT tarafından oluşturulan kodda genellikle güvenlik açıkları bulunur ve bu ciddi bir sorundur” diye yazıyorlar. Neyse ki ChatGPT’nin, MITRE veri kümesinden daha ayrıntılı bilgi aldığında sonraki istemlerde bu güvenlik açıklarının çoğunu düzeltebildiğini belirtiyorlar.

Bu nedenle üç çalışma, üretken yapay zekanın programlama için kullanımının henüz başlangıç ​​aşamasında olduğunu öne sürüyor. Bay Rao’nun söylediği gibi üretken yapay zeka, programcının sorumlu olduğu basit destek görevleri için kullanışlıdır.



genel-15