AI, BİLGİSAYAR KODU YAZMAYI "ÇARPICI" İLERLEMEYLE ÖĞRENİYOR.
DeepMind'ın AlphaCode'u zorlu yazılım problemleri çözümünde, birçok insan programcıdan daha iyi performans gösteriyor.
Yazılım dünyayı yönetir. Akıllı telefonları, nükleer silahları ve
araba motorlarını kontrol eder.
Ancak küresel bir programcı kıtlığı var. Birisi bir programın ne yapmasını istediğini açıklasa ve bir bilgisayar
bunu kod satırlarına çevirebilse hoş olmaz mıydı ?
Yeni bir araştırmaya göre AlphaCode adlı yeni bir yapay zeka (AI) sistemi, insanlığı bu vizyona bir adım daha yaklaştırıyor. Araştırmacılar,
Alphabet'in (Google'ın ana şirketi) bir yan kuruluşu olan DeepMind araştırma
laboratuvarından alınan sistemin bir gün deneyimli kodlayıcılara yardımcı
olabileceğini, ancak muhtemelen onların yerini alamayacağını söylüyor.
AlphaCode, AI kod yazımında önceki standart taşıyıcının ötesine geçiyor:
Kar amacı gütmeyen araştırma laboratuvarı OpenAI tarafından 2021'de piyasaya
sürülen bir sistem olan Codex, laboratuvar, dijital kitaplardan, Wikipedia
makalelerinden ve diğer internet metin sayfalarından alınan milyarlarca
kelime üzerinde eğitim aldıktan sonra insan metnini taklit etme ve yorumlama
konusunda usta bir "büyük dil modeli" olan GPT-3'ü zaten geliştirmişti.
Çevrimiçi bir yazılım deposu olan Github'dan 100 gigabayttan fazla kod
üzerinde GPT-3'ün ince ayarını yapan OpenAI, Codex'i buldu. Yazılım,
yapması gereken şeyin günlük bir açıklaması istendiğinde kod yazabilir;
örneğin, bir metin dizisindeki sesli harfleri saymak. Ancak zor
problemlerle görevlendirildiğinde kötü performans gösteriyor. AlphaCode'un yaratıcıları, bu zor sorunları çözmeye odaklandı. Codex
araştırmacıları gibi, büyük bir dil modelini kodlama sözdizimi ve
kurallarına alıştırmak için GitHub'dan birçok gigabaytlık kod besleyerek
başladılar. Ardından, programlama yarışmalarından toplanan binlerce
sorunu kullanarak problem tanımlarını koda çevirmesi için onu
eğittiler. Örneğin, bir problem, bir programın ardışık sıfırları
olmayan n uzunluğundaki ikili dizilerin (sıfır ve bir dizileri) sayısını
belirlemesini isteyebilir.
Yeni bir sorunla karşılaştığında, AlphaCode aday kod çözümleri üretir
(Python veya C++'da) ve kötü olanları filtreler. Ancak araştırmacılar
daha önce onlarca veya yüzlerce aday oluşturmak için Codex gibi modeller
kullanırken, DeepMind AlphaCode'un 1 milyondan fazla üretmesini
sağladı. Bunları filtrelemek için, AlphaCode öncelikle programların yalnızca %1'ini
tutar ve sorunlara eşlik eden test durumlarını geçer. Alanı daha da
daraltmak için, AlphaCode tutucuları çıktılarının hazırlanmış girdilere benzerliğine göre
gruplandırır. Daha sonra, en büyük kümeden başlayarak, başarılı bir
küme bulana veya 10 başvuruya ulaşana kadar (yarışmalarda insanların sunduğu
maksimum sayıya yakın) her kümeden programları birer birer
sunar. Farklı kümelerden gönderme, çok çeşitli programlama taktiklerini
test etmesine olanak tanır. Cornell Üniversitesi'nde yapay zeka
kodlaması yapan bir bilgisayar bilimcisi olan Kevin Ellis, AlphaCode
sürecindeki en yenilikçi adımın bu olduğunu söylüyor.
DeepMind'in Science dergisinde bu hafta yayınlanan rapora göre AlphaCode, eğitimden
sonra atanan sorunların yaklaşık %34'ünü çözdü . (Benzer kıyaslamalarda, Codex tek haneli yüzde başarısı elde
etti.)
"Makine öğrenimi yöntemlerinin ölçeğini büyüttüğünüzde ne kadar başarılı
olduğu konusu etkileyici olmaya devam ediyor" diyor, OpenAI'nin kurucu
ortaklarından ve Codex makalelerinin ortak yazarlarından Wojciech Zaremba. Sonuçların "şaşırtıcı" olduğunu da ekliyor.
DeepMind'da bilgisayar bilimcisi ve makalenin ortak yazarı Yujia Li, AI
kodlamanın yarışmaları kazanmanın ötesinde uygulamalarının da olabileceğini
söylüyor. Geliştiricilerin daha yüksek veya daha soyut bir düzeyde
çalışmasına olanak tanıyarak yazılımın hareketini sağlayabilir veya
kodlayıcı olmayanların basit programlar oluşturmasına yardımcı olabilir.
DeepMind'da başka bir çalışma yazarı olan David Choi, modeli tersten
çalıştırmayı hayal ediyor: Kodu başkalarının kodlarıni anlamaya çalışan programcılara fayda sağlayacak şekilde ne yaptığına dair açıklamalara çevirmek. "Genel olarak kodu anlayan modellerle yapabileceğiniz daha
birçok şey var" diyor David Choi.
DeepMind şimdilik sistemin hatalarını azaltmak istiyor. Li, AlphaCode
işlevsel bir program oluştursa bile bazen değişken oluşturup kullanmamak
gibi basit hatalar yaptığını söylüyor.
Bunların dışında başka problemler de var. AlphaCode, sorun başına on milyarlarca
trilyonlarca işlem gerektirir; yalnızca en büyük teknoloji şirketlerinin
sahip olduğu bilgi işlem gücü. Ve çevrimiçi programlama yarışmalarından
çözdüğü problemler dar ve kendi kendine yeterliydi. Ancak Solar-Lezama,
gerçek dünyadaki programlamanın genellikle birden çok yerde büyük kod
paketlerini yönetmeyi gerektirdiğini ve bunun da yazılımın daha bütünsel
olarak anlaşılmasını gerektirdiğini söylüyor.
Çalışma aynı zamanda kendini yinelemeli olarak geliştiren yazılımın uzun
vadeli riskine de dikkat çekiyor. Bazı uzmanlar, böyle bir kendini
geliştirmenin dünyayı ele geçirecek süper zeki bir yapay zekaya yol
açabileceğini söylüyor. Bu senaryo uzak görünse de, araştırmacılar hala
yapay zeka kodlama alanının bariyerler oluşturmasını, kontrol ve dengeleri
sağlamasını istiyor.
Solar-Lezama, "Bu tür bir teknoloji süper başarılı olsa bile, ona bir
kuruluştaki bir programcıya davrandığınız gibi davranmak istersiniz"
diyor. "Tek bir programcının tüm organizasyonu çökertebileceği bir
organizasyonu asla istemezsiniz." diye ekliyor.
Kaynak:
https://www.science.org/content/article/ai-learns-write-computer-code-stunning-advance?utm_medium=ownedSocial&utm_source=Twitter&utm_campaign=NewsfromScience&cookieSet=1
Yorumlar
Yorum Gönder