Programlama uzun zamandır yüksek statülü, yüksek talep gören bir beceri olmuştur.
Endüstrilerdeki şirketler ve işletmeler, insan geliştiricilerin yeteneğine çok temel düzeyde bağlıdır: Bilgisayarların dilini yazan ve anlayan insanlar. Son zamanlarda, büyük dil modellerinin ortaya çıkmasıyla birlikte, AI şirketleri kodlamayı öğrenebilen sistemlerin olanaklarını keşfetmeye başladılar. OpenAI'nin GitHub Copilot'a gömülü Codex'i ilk dikkate değer örnekti. Codex, basit doğal dil komutlarını ve talimatlarını okuyabilir ve kullanıcının amacına uygun kod yazabilir.
Yine de, küçük programlar yazmak ve kolay görevleri çözmek, "gerçek dünya programlamasının tam karmaşıklığından çok uzaktır". Codex gibi yapay zeka modelleri, çoğu programcının günlük işlerinde güvendiği problem çözme becerilerinden yoksundur. DeepMind'in doğal dili "anlamak", sorunları çözmek için algoritmalar tasarlamak ve sonra bunları koda uygulamak üzere eğitilmiş bir yapay zeka sistemi olan AlphaCode ile doldurmak istediği boşluk buydu .
AlphaCode, büyük dil modellerinin istatistiksel güç özelliği ile birleştirilmiş benzersiz bir doğal dil anlama ve problem çözme becerisi seti sergiler. Sistem, popüler rekabetçi programlama platformu Codeforces'ta insan programcılara karşı test edildi . AlphaCode, 10 yarışmada ortalama %54.3'lük bir sıralama elde etti ve bu da onu rekabetçi programlama yarışmalarında insan programcılarının seviyesine ulaşan ilk yapay zeka yapıyor.
AlphaCode'un ne olduğunu ve ne olmadığını, bu etkileyici sonuçların ne anlama geldiğini, etkilerinin neler olduğunu ve AI ve insan geliştiricileri için geleceğin neler beklediğini anlamak için AlphaCode belgesini inceledim . Ayrıca AI uzmanlarının ve rekabetçi programcıların AlphaCode hakkında söylediklerini de araştırdım, böylece kendinizinkini oluşturmak için farklı bağımsız bakış açılarınız olur.
Bu makale, 6 bölüme (ve ilgili alt bölümlerine) bölünmüş kapsamlı bir incelemedir. Netlik için makalenin yapısını takip ediyorum:
1. Setup: Competitive programming 1.1 What is competitive programming? 1.2 The backspace problem 1.3 Evaluating AlphaCode 2. AlphaCode: What it is and what it does 2.1 A brief overview of AlphaCode 2.2 Model architecture 2.3 Datasets: Pre-training (GitHub) and fine-tuning (CodeContests) 2.4 Sampling, filtering, and clustering 3. Results 3.1 Codeforces competitions against humans 3.2 CodeContests: Detailed performance analysis 3.3 APPS: How AlphaCode compares to previous AI coding systems 3.4 Qualitative results 4. Broader impact 4.1 Applications 4.2 Potential risks and benefits 5. Reception and criticism 5.1 Looking at statistics from another perspective 5.2 Human level is still light-years away 5.3 Narrow AI vs broad humans 5.4 Monkeys typing Hamlet 6. Conclusion
(Makaleyi zaten okuduysanız, 4-6. bölümlere atlayabilirsiniz.)
Bu bir spor. Dünyanın her yerindeki programcılar internette buluşuyor ve sorunları zaman veya dil gibi belirli kısıtlamalar altında çözmeye çalışıyor. ICPC ve IOI gibi bu yarışmaların popülaritesi arttı ve her yıl binlerce katılımcıyı cezbetti.
Bazı yarışmalar birkaç hafta sürebilirken, diğerleri birkaç saat sürebilir. DeepMind'in AlphaCode'un yeteneklerini test ettiği haftalık Codeforces yarışmasında durum budur. Katılımcılara 5-10 problem açıklaması verilir (birkaç örnek test vakası ve ilgili açıklamalarla birlikte) ve ~3 saat içinde mümkün olduğu kadar çok çözüm sunmaları gerekir. Gizli test senaryolarına karşı test edilen doğru gönderilerin sayısına göre değerlendirilirler ve yanlış gönderiler için cezalandırılırlar.
Rekabetçi programlama çok özel beceriler gerektirir, insanlar için bile oldukça zordur ve oldukça popülerdir - AlphaCode'un yetkinliğini test etmek için mükemmel bir arenadır.
Rekabetçi bir problemi çözmenin nasıl bir his olduğuna dair pratik bir fikir edinmeniz için, Backspace problemini düşünelim (1500 reytingde orta zorlukta). Backspace probleminde, İngilizce harflerden oluşan “s” ve “t” olmak üzere iki karakter dizisi ile başlarsınız. Fikir, geri boşluğu kullanarak s'yi t'ye dönüştürmeye çalışıyor. s yazmanız gerekir, ancak bir harf yazmak yerine, her zaman bir önceki harfi silerek geri tuşuna basmaya karar verebilirsiniz. Bu işlemi kullanarak s'den t elde edip edemeyeceğinizi belirlemelisiniz.
Örneğin, eğer s=ababa ve t=aba ise cevap “evet”tir. s'nin (abab) ilk dört harfini yazıp son harf yerine geri al tuşuna basarak aba elde edersiniz. Bunun gibi bazı durumlar basittir, ancak karmaşık test örnekleri ile zorlaşır.
Bu nitelikteki bir problem, çözücünün bir dizi adımdan geçmesini gerektirir. İlk olarak, sorunun ne istediğini ve kısıtlamaları anlamanız gerekir (örneğin, geri tuşuna basmak yalnızca harfi yazmak yerine yapılabilir , sonrasında değil). İkinci olarak, gereksinimleri karşılayan ve tüm örnek test senaryolarını (en azından gizli vakalar olduğu için) doğru bir şekilde kapsayan verimli bir algoritma bulmanız gerekir. Üçüncüsü, onu Python gibi bir programlama diliyle kod üzerinde uygulamanız gerekir.
AlphaCode, açık talimata dayanan önceki AI kodlama sistemlerinden iyileştirme derecesini sergileyerek Backspace problemini başarıyla çözdü.
Bu sürecin ne kadar hassas olduğunu ve AlphaCode'un yeteneklerinin ne kadar kesin olması gerektiğini anlamak için, problem tanımındaki “yerine” kelimesini düşünelim. Sorun, bir karakter yazdıktan sonra geri al tuşuna basmanıza izin veriyorsa , problem, algoritma ve program kökten farklı olmalıdır. Bu ince ayrıntı, bir kişi tarafından kolayca gözden kaçırılabilir. Ancak AlphaCode bunu ve buna benzer birçok örneği çözmeyi başardı.
DeepMind, insan programcılarla karşılaştırmak için AlphaCode'u Codeforces üzerinde test etti. Bununla birlikte, Codeforces'un değerlendirme sistemi, bu keşifleri geliştirmek isteyenler için kolayca tekrarlanabilecek bir kıyaslama değildir. Bu yüzden DeepMind, genel bir ölçüm buldu: [email protected]
Metrik, “problem başına k örnekten n gönderim kullanılarak çözülen sorunların yüzdesi” olarak tanımlanır ve Codeforces'un gönderimleri değerlendirme şekline yeterince benzer. AlphaCode'un k adet numune (100K-1M aralığına kadar) üretmesine izin verilir ve bunlardan sistem değerlendirmeye n adet çözüm (n≤k) gönderebilir. AlphaCode, n gönderimden en az biri sorunu çözerse başarılı olur.
DeepMind araştırmacıları , Codeforces üzerinde AlphaCode'u değerlendirmek için [email protected] kullandı ve yanlış gönderimler için ceza koşullarını taklit etti. Sistemi [email protected] kullanarak daha da değerlendirdiler - tüm numuneler değerlendirme için gönderilir. Potansiyel maksimum başarı oranını ölçer (ve Codex gibi önceki sistemlerle karşılaştırmaya izin verir).
DeepMind beş boyutta AlphaCode modeli oluşturdu: 300M, 1B, 3B, 9B ve 41B parametreleri. Hepsinin adı AlphaCode'dur, ancak şirketin iletişimlerinde atıfta bulunduğu (en iyi sonuçları vermiştir), kümeleme ile birleştirilmiş 9B ve 41B modellerinin bir topluluğudur. Diğer faktörlerin yanı sıra ölçeğin etkilerini, eğitim sürelerini ve hesaplama verimliliğini karşılaştırmak için farklı boyutlarda modeller oluşturdular (bkz. bölüm 3.2).
Tüm modeller, yaklaşık 700 GB GitHub açık kaynak kodu içeren bir veri kümesi üzerinde önceden eğitildi. Bu, AlphaCode'un kod temsillerini öğrenmesini ve önceki AI kodlama sistemleri gibi kolay açık görevleri çözmesini sağlar.
Modeller daha sonra DeepMind tarafından tasarlanan özel bir rekabetçi programlama veri seti olan CodeContests üzerinde ince ayarlandı. Bu adım, DeepMind'in prosedürüne özeldir ve AlphaCode'un "hedef rekabetçi programlama alanına uyum sağlamasına" olanak tanır. CodeContests, Codeforces, Description2Code ve CodeNet'ten sorunların, çözümlerin, test senaryolarının ve meta verilerin (zorluk derecelendirmeleri ve tür etiketleri) bir derlemesidir.
CodeContests'in başlangıçta büyük bir sorunu vardı: Yanlış pozitifler. Test verileri az olduğundan, AlphaCode doğru olarak işaretlenen çözümler üretebilir - çünkü bunlar görünür test senaryolarını çözerler - ancak aslında yanlıştır. İlgili bir sorun, “yavaş pozitifler” sorunudur. Doğru ancak algoritmik olarak verimsiz çözümler. Bu sorun, APPS ve HumanEval gibi önceki AI kodlama veri kümelerinde %30-60 yanlış pozitif oranıyla her yerde mevcuttur.
DeepMind araştırmacıları bir çözüm buldu. Mevcut olanları mutasyona uğratarak ek test senaryoları oluşturdular: "tam sayıları rastgele artırma veya azaltma ve dizelerdeki karakterleri değiştirme ve değiştirme." Bu testler daha sonra doğru çözümlerle doğrulanır. Sonuç etkileyiciydi ve yanlış pozitif oranı %4'e indirdi.
Modeller tamamen eğitildikten sonra örnekler oluşturmaları gerekiyordu. En iyi performansı elde etmek için problem başına bir milyona kadar çözüm örneklediler. Bu kadar çok numuneyi çeşitlendirmek için Python ve C++ çözümlerini karıştırdılar, yüksek sıcaklık kullandılar ve rastgele etiketler ve derecelendirmeler kullandılar.
Büyük örnek havuzundan seçim yapmak ve rekabetçi programlama yarışmalarının koşullarını taklit etmek için yüz binlerce örnekten 10 gönderiye indirerek filtreleme ve kümeleme uyguladılar. Kötü örnekleri ortadan kaldırmanın basit yolu, onları görünür test senaryolarında filtrelemek ve yanlış çözümleri ortadan kaldırmaktır.
Görünür testlerde filtreleme, numunelerin büyük çoğunluğunu kaldırır. AlphaCode'un bu kadar etkileyici sonuçlar elde etmesi için yüz binlerce —yanlış — çözümü örneklemenin kritik öneme sahip olduğu görülüyor. Bu, insanın birkaç denemeyle doğru çözümleri tam olarak belirleme yeteneğiyle çelişir. Bir insanın birkaç örneğe zar zor ihtiyacı varken, aralarında ayrım yapmadan önce sınıflandırma görevlerinde binlerce örneği görmek için denetimli derin öğrenme sistemlerinin gerekliliğini hatırlatıyor.
Filtreleme, örneklerin +%99'unu kaldırır, ancak yine de binlerce olası gönderim bırakır. Örnek sayısını 10'a kadar daha da azaltmak için DeepMind araştırmacıları akıllı bir süreç geliştirdiler. Örneklerden kümeler oluşturdular, anlamsal olarak - ancak sözdizimsel olarak değil - eşdeğer çözümleri gruplandırdılar.
Bunu yapmak için, aynı GitHub veri kümesindeki ana modellerle aynı mimariye sahip bir test girdisi oluşturma modelini önceden eğittiler. Fikir, modelin problem için yeni test girdileri üretmesini sağlamaktı. AlphaCode'un örnekleri, bu yeni testlerde değerlendirilebilir - mutlaka geçerli veya doğru olmayabilir, ancak ne olursa olsun faydalıdır. Ardından, değerlendirilen örnekler yeni testlere verdikleri çözümlere göre kümelendi - yanlış cevaplar doğru olanlardan daha fazla bilgi verdi.
10 gönderim örneğini seçmek için, en büyükten en küçüğe her kümeden birini seçmenin onlara en iyi performansı verdiğini buldular.
AlphaCode'u Codeforces üzerinde değerlendirmenin iki benzersiz özelliği vardır. İlk olarak, sistemin yanlış pozitifler gibi veri kümesi zayıflıklarından yararlanmasını engeller. İkincisi, AlphaCode'u "bu görevde en iyi performans gösterenlerle: insan rakiplerle" karşılaştırır. AlphaCode'u insan ELO ölçeklerinde sıralamak, bize bu sistemlerin son durumu ve gerçek yetenekleri hakkında net bir bakış açısı sağlar.
DeepMind araştırmacıları, AlphaCode'u canlı çalıştırmayı simüle etti ve Codeforces platformuna yarışma başına 10 çözüm gönderdi. Sonuçlar 10 yarışmada ortalama olarak alındı. En iyi sonuçları elde eden 41B+9B AlphaCode topluluğu, en az bir yarışmaya katılan katılımcıların ilk %28'i içinde 1238 ELO derecesine karşılık gelen %54,3 (tablo 1) tahmini bir ortalama sıralama elde etti. son 6 ay (şekil 2).
Yazarlar, "Bildiğimiz kadarıyla, bir bilgisayar sisteminin programlama yarışmalarında insan katılımcılarla ilk kez rekabet ettiğini" söyledi. Codeforces kurucusu Mike Mirzayanov , şaşkınlığını ve heyecanını dile getirdi: “AlphaCode'un sonuçlarının beklentilerimi aştığını güvenle söyleyebilirim. Şüpheliydim çünkü basit rekabet problemlerinde bile genellikle sadece algoritmayı uygulamak değil, aynı zamanda (ve bu en zor kısım) onu icat etmek gerekir. AlphaCode, gelecek vaat eden yeni bir rakip seviyesinde performans göstermeyi başardı. İleride ne olduğunu görmek için sabırsızlanıyorum!”
Bu sonuçları bir perspektife oturtmak için iki niteleme yapmak istiyorum.
İlk olarak, en iyi performans gösteren insanlar yaklaşık %90'lık bir derecelendirme elde ediyor. AlphaCode'un başarıları etkileyici - eğitim süreci ve örnekleme seçim prosedürü de dahil olmak üzere sistemin kendisi, AI kodlamasında ileriye doğru bir adımdır - ancak bunu insanlarla karşılaştırmak kolayca abartılabilir. Rekabetçi programlama, AlphaCode'un eksik olduğu ve yüz binlerce çözümü örnekleyerek telafi ettiği bir dizi yetenek gerektirir.
İkincisi, DeepMind varyansı ve performansı değerlendirmek için değerlendirme sürecini üç kez daha tekrarladı - hem 10'lu gönderim hem de sınırsız gönderim ayarlarında. Modelin farklı koşularındaki bazı yarışmalar için sıralamanın %30'a kadar değişebileceğini keşfettiler. Örneğin, 1618 numaralı yarışmada AlphaCode, 10 gönderim ayarı için %62.3, %32.1 ve %62.3 puan aldı.
Tahmini derecelendirmede %30'luk bir değişiklik, AlphaCode'un güvenilir olacak kadar sağlam olmayabileceğini ortaya koyuyor. Bununla birlikte, sınırsız gönderim ayarında, AlphaCode daha istikrarlı bir performans gösterir - bu, AlphaCode'un birçok örneklenmiş çözümü sunmaya olan güvenini daha da vurgular ve bu da onu insanlarla neredeyse hiç karşılaştırılabilir yapmaz.
İlginç bir şekilde, hesaplama sınırlamaları nedeniyle araştırmacılar modelleri yeniden örneklemediler. Tüm değerlendirmelerde aynı örnekleri kullanmışlar ancak farklı bir düzende çizmişler ve farklı bir tohumla kümelemişlerdir. Muhtemelen, modellerin yeniden eğitilmesi ve yeniden örneklenmesi, daha da yüksek varyans üretebilirdi.
AlphaCode'u Codeforces üzerinde değerlendirmenin yanı sıra DeepMind, CodeContests veri kümesindeki modelleri değerlendirdi. Codeforces'un sonuçları, araştırmacıların insan katılımcılarla karşılaştırma yapmasına izin verirken, CodeContests'in sonuçları, AlphaCode'un davranışı ve performansının derinlemesine bir analizini yapmalarına olanak tanır.
Codeforces yarışmalarında olduğu gibi, daha önce bahsettiğim [email protected] metriğinin iki versiyonunu kullandılar: [email protected] ve [email protected] İlki, çok daha büyük örnek kümelerinden gelen gönderim kümesini küçültmeleri gerektiğinde modellerin nasıl davrandığını - filtreleme ve kümeleme süreçlerinin ne kadar iyi olduğunu - değerlendirir. İkincisi, örnekleme oluşturma sürecini değerlendirir - AlphaCode'un rekabetçi sorunları çözebilecek kod oluşturmada ne kadar iyi olduğu.
Kümeleme ile birleştirilen 41B modeli, [email protected] metriği için en iyi sonuçları verdi . 1M numune kullanarak doğrulama setinde %34,2'lik bir çözme oranı elde etti (tablo 2).
3.2.1 Çözme hızı üzerindeki etkiler: Parametreler, veri seti, örnekler ve hesaplama
DeepMind araştırmacıları, bir dizi özelliğe bağlı olarak çözme oranları üzerindeki etkileri daha da inceledi: Modelin boyutu (parametre sayısı), veri kümesinin boyutu, örnek bütçesi ve hesaplama bütçesi.
Beklendiği gibi , 9B ve 41B modelleri diğer modelleri büyük ölçüde geride bırakarak, her şey eşit olduğunda , çözme oranları parametre sayısıyla artar.
Ayrıca 1B modeli için ince ayar veri kümesindeki sorunların ve çözümlerin sayısını değiştirdiler ve beklenen başka bir sonuç buldular: Veri kümesi boyutunun arttırılması , tüm örnek bütçe yelpazesinde çözüm oranını artırır (şekil 3).
Hem [email protected] hem de başarılı@k metriklerinde örnek sayısını artırırken, hız ölçeklerini log-lineer olarak çözün (şekil 4). Her iki grafikteki fark, örnek seçiminin önemini vurgular ( [email protected] üst sınırı, yani filtreleme ve kümelemenin mükemmel bir iş çıkardığı durumu ölçer).
[email protected] durumunda, gönderim sayısı sabit kalmasına rağmen daha fazla örneklemenin sonuçları iyileştirdiğini belirtmek ilginçtir . Çözüm uzayını yeterince araştırmak, başvuruları doğru seçmek kadar önemlidir. Ancak DeepMind araştırmacıları, örnekleme maliyetleri nedeniyle performansı bu şekilde artırmaya çalışmanın yasak olduğunu belirtiyor.
Ayrıca, bir örnek bütçe verildiğinde, daha büyük modeller daha iyi performans gösterir ve örnek bütçe büyüdükçe performansları daha da iyileşir. Ekonomik olarak konuşursak, performansı artırmak istiyorsak modelin boyutunu örnek bütçeden artırmak tercih edilir.
Hız ölçeklerini eğitim hesaplamasıyla çözün (şekil 5a). Ayrıca örnekleme hesaplamasıyla da ölçeklenir (şekil 5b). Daha büyük modellerin örnekleri oluşturmak için daha fazla hesaplama gücüne ihtiyaç duyduğunu görebiliriz, ancak sonuçta hesaplama gücünü artırdıkça optimal model boyutu da artar. Bu, daha büyük bilgisayarlarımız varsa, daha büyük modellerden daha iyi yararlanabileceğimiz ve daha iyi örnekler üretmek için kapasitelerinden en iyi şekilde yararlanabileceğimiz anlamına gelir.
3.2.2 Çözme hızı üzerindeki etkiler: Filtreleme ve kümeleme
Araştırmacılar, filtreleme işleminin model boyutlarındaki örneklerin %99'unu kaldırdığını buldu (tablo 3). Modeller büyüdükçe, örnek testleri geçen örnekler üretmede de daha iyi hale gelirler. 100.000 örnekte, tüm modeller, en az bir örnekle (tablo 3) sorunların +%80'inin (41B modeli için +%90) örnek durumlarını geçer. (Örnek testleri geçen bir örneğin mutlaka doğru olmadığını unutmayın.)
Araştırmacılar ayrıca filtreleme ve kümelemenin çözme hızı üzerindeki etkilerini de inceledi. Dört durumu karşılaştırdılar (şekil 6): Rastgele 10 örnek gönderme (filtreleme yok, kümeleme yok). Filtrelemeden sonra rastgele 10 örnek gönderme (kümeleme yok), tam filtreleme-kümeleme işlemi ile 10 örnek gönderme ve tüm örnekleri değerlendirmeye gönderme ( [email protected] ).
Filtreleme ve kümelemenin çözüm oranını iyileştirdiğini buldular (seçimin etkileri büyüdükçe daha çok büyük örnek bütçelerinde). Yine de, her iki tekniği birleştirirken bile sonuçlar teorik üst sınırdan uzaktır. Bu, seçimin kritik ama aynı zamanda geliştirilebilir olduğu anlamına gelir.
Codex ve GPT-Neo gibi önceki modellerle karşılaştırmak için 1B modelini GitHub'da önceden eğittiler ve 10.000 rekabetçi programlama probleminden oluşan APPS'de (kümeleme olmadan) ince ayar yaptılar.
Halihazırda 1B'de AlphaCode'un üç görevde (tanıtım, mülakat ve yarışma) GPT-Neo'yu ve mülakat ve yarışmada Codex'i geride bıraktığını buldular (tablo 4).
Bu sonuçlar şüphesiz en iyi AlphaCode modellerini yapay zeka kodlama sistemlerinin bir numaralı noktasına yerleştiriyor ve DeepMind'a yapay zeka ağacının başka bir dalının tahtını veriyor - satranç ve Go'da AlphaZero, e-sporda AlphaStar, biyolojide AlphaFold ve NLP'de Gopher.
3.4.1 Eğitim verilerinden kopyalama
Yukarıdaki analizlerle ortaya çıkarılması zor olan AlphaCode için olası bir sınırlama, doğrulama setinde ve gerçek dünyada görünmeyen sorunları çözmek için eğitim setinden kod parçalarını ezberlemeye yönelik varsayımsal bir eğilimdir.
AlphaCode'un bu davranışlarda bulunup bulunmadığını test etmek için araştırmacılar, programlama modellerini analiz ettiler. Her ikisinin de eğitimden kelimesi kelimesine kod kullanma eğiliminde olduğu konusunda insanlarla karşılaştırdılar. Dağılımlarını çok benzer buldular - doğrudan veri kümelerinden çıkarılan büyük kod parçalarını zar zor kullanıyorlar (şekil 7).
Bu, ne AlphaCode'un ne de insanların sorunları kodu çoğaltarak değil, sorun açıklamalarını doğru bir şekilde işleyerek çözdüğünü gösterir.
3.4.2 Model çözüm özellikleri
AlphaCode, Python'da daha iyi programlama eğilimindedir (C++ sözdizimi daha zordur) ve insanlardan benzer miktarda ölü kod (yazılan ancak çözüm sağlamayan kod) üretir. Modeller büyüdükçe, tür etiketlerindeki sorunları çözmede her zaman daha iyi olurlar. Modeller ayrıca daha düşük zorluk dereceli problemleri çözmede daha iyidir.
3.4.3 Sorun tanımına ve meta verilere duyarlılık
Bu parametreleri test etmek, AlphaCode'un bir anahtar kelimeyi işler işlemez (örneğin, "asal" kelimesi içindeyse asal sayılarla ilgili tüm program türlerini denemek) her problem tipi için birçok farklı olasılık deneyerek problemleri çözme olasılığını ortadan kaldırmak için kritik öneme sahiptir. tanım).
Bilgi gizlendiğinde çözme hızının düştüğünü buldular. Özellikle modelle ilgili fakat farklı problemler verildiğinde ve açıklama bölümleri çıkarıldığında veya kelimeler silindiğinde çözme hızı büyük ölçüde düşmektedir. İlginç bir şekilde, açıklama basitleştirildiğinde çözme hızı artar - bu, AlphaCode'un dikkate değer, ancak sınırlı dil anlama becerilerine olan güvenini daha da güçlendirir.
Modeller ayrıca meta verilerdeki değişikliklerden de etkilenir. Araştırmacılar, modeli daha çeşitli çözümler denemeye koşullandırdığından, numuneler arasında etiketleri rasgele hale getirmenin daha iyi olduğunu buldu.
AI kodlama modelleri, diğer büyük dil modelleri gibi, toplum için son derece faydalı olabilir. Nitelikli modeller, çeşitli uygulamalara entegre edilebilir, bu da insan programcıların günlük emeğini kolaylaştırır ve programcı olmayanların giriş engellerini azaltır.
Ama onlar da zarar verebilir. DeepMind araştırmacıları, önyargı ve toksisiteden çevresel etkiye ve gelecekteki medeniyet düzeyindeki tehditlere kadar bu modellerle her zaman el ele giden potansiyel riskleri inceledi.
AI kodlayıcılarının gerçek dünyadaki en yakın uygulamalarından biri, insanlarla eş programcılar olmaktır. Geliştiriciler, büyük dil modelleri bir şey olmadan önce kod üreteçlerini kullandılar. Zamanı çözer ve tekrar etmeyen, yüksek bilişsel görevlere odaklanmayı kolaylaştırır. Yapay zeka sistemleri bu simbiyozu önemli ölçüde iyileştirebilir. Daha iyi kod üretebilir, daha karmaşık görevler yapabilir ve hatta iletişim sınırlamalarını kolaylaştırabilirler.
Gelecekte ve bu tamamen spekülasyon, AI kodlama sistemleri, insanların bilgisayar dilinden uzaklaşmasına izin verme eğilimini sürdürebilir. Önce makine dilinde, sonra Assembly'de programlama yaptık ve daha sonra üst düzey programlama dilleri tasarladık. İnsanlar yakında yapay zeka sistemleriyle bizim daha yetenekli olduğumuz dilde iletişim kurabilir; Doğal lisan.
Hızlı mühendislik ve hiçbir kod hareketi bu yöndeki ilk adımlardır. Yapay zeka ile basitçe İngilizce konuşabilseydik - hemen hemen şimdi Codex ile yaptığımız gibi, ama daha iyisi - ve faydalı tavsiyeler ve çözümler alabilseydik. İnsan programcılar daha sonra daha tatmin edici buldukları görevlere odaklanabilirler (bir Demir Adam-JARVIS ilişkisi hayal edin).
AI kodlama sistemleri, programcı olmayanların giriş engellerini de kaldırabilir. Programlama işlerini alakasız hale getirmek için değil, geliştiriciler için önemsiz olan ancak teknoloji dışı bir kişi için dünyayı ifade edebilecek basit görevleri çözmek için (ör. bankacılık, yönetim, finans, satış vb.)
4.2.1 Yorumlanabilirlik: AlphaCode yaptığı şeyi neden yapar?
Büyük dil modelleriyle daha da kötüleşen sinir ağlarında iyi bilinen bir konu, "kara kutu" doğasıdır. Bir sinir ağının neyi neden ve nasıl yaptığı, genellikle cevaplarına sahip olmadığımız sorulardır. Doğal stokastikliği ve istatistiksel doğası, girdi-çıktı ilişkilerini büyük ölçüde izlenemez hale getirir.
Yazarlar, oluşturulan algoritmalar normal olarak test edilebildiği için kodlama modellerinin daha kolay çalışıldığını açıklıyor. "Kod oluşturma modellerinin çıktısı olan kod, insan tarafından okunabilir ve geleneksel yöntemlerle analiz edilebilir." Bununla birlikte, bir problem tanımının girilmesi ile çıktı olarak bir programın alınması arasındaki süreç anlaşılmaz kalır.
Kod oluşturulduktan sonra onu kolayca analiz edebiliriz, ancak ya kod yanlışsa? Hata ayıklamak, diğer herhangi bir sinir ağı türü için olduğu kadar zordur.
4.2.2 Genelleme - Ama ekstrapolasyon değil
Dağıtım dışı veriler üzerindeki performans, sinir ağlarının Aquiles topuklarından biridir. DeepMind araştırmacıları, bu sorunun AI kodlama sistemleri için böyle olmadığını söylüyor: "Yeterli sayıda testten geçmek, kodun dağıtım dışı testleri bile geçme olasılığını artırıyor." Ama genellemeyi ekstrapolasyonla karıştırıyorlar. Genelleme, dağıtım dışı durumları çözmek için yeterli değildir; bu, yalnızca modelin ekstrapolatif yetenekleri varsa mümkün olacaktır.
Bir sinir ağı kedileri tanımak için eğitilmişse ve çoğunlukla evlerde kedileri görüyorsa, vahşi bir kediyi tanıyabilir (genelleme), ancak öğrenme sürecini evlere veya insanlara göre tahmin edemez. Aynı şey kodlama modelleri için de geçerlidir. Rekabetçi problem tanımlarının çok özel bir stili ve formatı vardır. AlphaCode'u yeterince farklı girdiler üzerinde test etseydik, bu kadar iyi bir performans göstermezdi. Sinir ağları, eğitim aralığı içinde genelleme yapmakta inanılmaz derecede iyidir, ancak bunun dışında değil.
Genelleme ile aynı olmayan ekstrapolasyon, her türden sinir ağları için sorunludur . Dağıtım dışı kalma bununla ilgili. Daha önceki bir yazıda yazdığım gibi : “Makine öğrenme sistemlerinin bu işlemi gerçekleştirememesi büyük ölçüde 'bağımsız ve özdeş olarak dağıtılmış (iid)' varsayımından kaynaklanmaktadır. Gerçek dünya verilerinin ve eğitim verilerinin aynı dağılıma sahip olduğunu belirtir, bu yanlıştır.”
4.2.3 Önyargı, adalet ve temsil
Kodlama sistemleri, diğer sinir ağları gibi, eğitim verilerinde mevcut olan önyargıları yeniden üretecektir. Bu önyargılar, klişelerin sürdürülmesi yoluyla marjinalleştirilmiş azınlıkların ayrımcılığından performans ve güvenlik sorunlarına yol açabilecek eski kitaplıkların kullanımına kadar değişebilir.
Bu sorun, büyük dil modellerinde (kodlama modelleri belirli bir türdür) her yerde bulunur ve internetten veri çıkarmaya devam ettiğimiz sürece her zaman olacaktır.
4.2.4 Güvenlik
Eski kodlarla ilgili sorunların yanı sıra, AI kodlama sistemleri, kötü niyetli aktörlerin çok daha yüksek bir oranda daha gelişmiş kötü amaçlı yazılımlar oluşturmasını kolaylaştırabilir.
4.2.5 Çevresel etki
Büyük dil modelleri, büyük miktarda bilgi işlem gücü tüketir. GPT-3 eğitiminin , yeni bir arabayı Ay'a gidip geri sürmekle kabaca aynı miktarda karbon ayak izi oluşturacağı tahmin ediliyordu .
Sinir ağlarını eğitmek için kullanılan hesaplama kaynakları son on yılda önemli ölçüde artmıştır. 2012'den 2018'e tüketim miktarı 300.000 kat arttı. Bu, miktarı her 3.4 ayda bir ikiye katlamaya eşdeğerdir.
Kodlama modellerinin ek bir bilgi işlem gideri kaynağı vardır: Örnekleme. AlphaCode, ortalama insan performansı elde etmek için problem başına yüz binlerce örnek gerektirir. Araştırmacılar, örneklemenin çözme oranını önemli ölçüde artırmasına rağmen - diğer şeylerin eşit olması - bu şekilde daha iyi sonuçlar elde etmeye çalışmanın yakında "yasak" hale geldiğini vurguluyor.
Diğer sinir ağları türlerine kıyasla kodlama sistemlerinin ana avantajı, başarılı bir program oluşturulduktan sonra, geleneksel bir bilgisayarda kolayca ve ucuza çalıştırılabilmesidir. Ayrıca, Google'ın çevresel etkiyle ilgili politikalarının bir özelliği de şirketin “tüketilen miktara eşit yenilenebilir enerji” satın almasıdır.
4.2.6 Fikri mülkiyet
IP, GitHub ve Microsoft GitHub Copilot'u piyasaya sürdüğünde gündeme gelen önemli bir endişe olmaya devam ediyor. İnsanlar, oluşturulan kodun yasallığı ihlal etme olasılığı konusunda endişeliydi (ve endişeleniyorlar).
Bir kullanıcı GitHub CEO'su Nat Friedman'a Copilot tarafından oluşturulan kodun hangi lisansa dahil olduğunu ve kodun yasaları ihlal etmesi durumunda kimin suçlanacağını sordu . Friedman, "ML sistemlerini kamuya açık veriler üzerinde eğitmek adil kullanımdır" diyerek yanıt verdi ve bu, yalnızca bir hakimin iddia etme yetkisine sahip olduğu bir şey. Önceki benzer sistemler için doğru olsa bile, soru açık kalıyor.
Flask yaratıcısı Armin Ronacher , Copilot'un GPL gibi copyleft lisansları altında nasıl kod üretebileceğini gösterdi (türev çalışmanın yasal olarak aynı lisans altında olması zorunludur). Bu, Copilot'u kapalı kaynak lisansları kapsamına girmek isteyebilecek ticari projelerde kullanmak için tehlikeli hale getirir.
DeepMind araştırmacıları, AlphaCode'un eğitim verilerinin lisanslara göre dikkatlice filtrelendiğini belirtiyor. Yine de, açık kaynak lisansları altında lisanslanan kodun kullanılması, yazara uygun şekilde aktarılmalıdır - aksi takdirde, intihal olarak kabul edilir. Ve bu, IP'lerin ve açık kaynak lisans uyumluluğunun genellikle bulanık dünyasında sadece bir durumdur.
4.2.7 Otomasyon
Genel olarak teknoloji ve yapay zeka ve özellikle kod oluşturma sistemleri hakkında sık sık endişe duyulan bir kaynak, bunların insan işçilerin yerini alma potansiyelidir. Teknoloji, var olduğundan beri insan işlerini alıyor - sonuçta, sonuçta, gerektiğinden daha fazla iş yaratmasına rağmen, yararlananlar nadiren ilk etapta profesyonel olarak zarar gören aynı insanlar.
Derin öğrenme sistemlerinin ortaya çıkmasıyla yapay zeka artık birçok dar görevi yerine getirebiliyor. Apple, Microsoft ve Google'da yöneticilik yapmış bir AI uzmanı olan Kai-Fu Lee, işlerin %40'ının önümüzdeki 15 yıl içinde otomatik hale getirilebileceğini düşünüyor (bunu 2019'da söyledi).
OpenAI'nin CEO'su Sam Altman geçen yıl Haziran ayında alışılmadık bir tahminde bulundu:
Genel olarak büyük dil modellerinin etkilerinden bahsediyordu. AI kodlama sistemleri farklı değildir. İnsan personel yüzdesini azaltacak kadar iyi olana kadar bir programcının işini kolaylaştırabilirler. İnsan programcılara olan talep, arz artışları ile aynı anda azalabilir, bu da arz fazlası durumu yaratacak, maaşları ve iş fırsatlarını azaltacaktır.
Yaygın bir karşı görüş, IDE'lerde ve derleyicilerde olduğu gibi, bir programcının işinin yalnızca insanların yapabileceği daha karmaşık görevlere doğru kayabileceğidir. Bu olasılığa katılıyorum, ancak teknoloji tarihinden öğrendiğimiz bir şey varsa, hızlı ilerleme hızını takip edemeyenlerin her zaman olduğudur. Çok geç olmadan onları unutmamalıyız. Hükümetler, insanları otomatikleştirilmiş bir dünyanın yaklaşmakta olan gerçekliğinden korumak için güvenlik ağları sağlamalı ve evrensel bir temel gelir gibi daha iddialı önlemler almalıdır.
4.2.8 Gelişmiş AI riskleri
DeepMind araştırmacılarının bu risk hakkında söyledikleri bana Tekillik havası verdi: "Daha uzun vadede kod oluşturma, gelişmiş AI risklerine yol açabilir. Kodlama yetenekleri, yinelemeli olarak yazabilen ve kendilerini geliştirebilen sistemlere yol açabilir, bu da hızla daha gelişmiş sistemlere yol açabilir.”
Uzmanlar, alan doğduğundan beri AI'nın insanları devirme olasılığı konusunda uyarıyorlar. Bunun olup olmayacağı veya ne zaman olacağı hiç belli değil. İyimserler, zekada bizi geride bırakan makinelerden on veya iki yıl olabileceğimizi söylüyor. Planlama, karar verme veya sağduyulu akıl yürütme gibi gerçek dünyadaki yeteneklerdeki yavaş ilerleme göz önüne alındığında, diğerleri soruya daha şüphecilikle yaklaşıyor.
Yine de, bu asla gerçekleşmeyecek, çok uzak bir gelecekte ya da süper zekaya doğru geri dönüşü olmayan bir sarmalın içine girmenin eşiğinde olsak da, olasılığa hazırlanmalıyız. Bu nedenle, alandaki bazı uzmanlar, yapay zekanın sunduğu en önemli sorunun bu olduğunu savunuyor. Bir yapay zekayı, bir kez bizden daha akıllı olduğunda, iç mekanizmalarının (ki, umarız ki, yapay zekanın yeniden tasarlama becerilerinin erişemeyeceği bir yerde) değerlerimizle ve refahımızla uyumlu olmasını sağlayacak şekilde nasıl inşa edebiliriz?
Soru sadece bilimsel açıdan zor değil - “değerler” veya “refah” kavramlarını AI'nın matematiksel doğasına çevirmek son derece zor - aynı zamanda etik bir bakış açısıyla. Geride kimsenin kalmaması için değerleri nasıl tanımlayabiliriz? Makinelerin egemen olduğu bir dünyada asgari düzeyde refah sağlayan, hepimizin paylaştığı bir dizi evrensel değeri tanımlamak bile mümkün mü?
Sadece bu konu hakkında birkaç makale yazabilirim. Sonuç şu olmalı, eğer daha gelişmiş AI sistemlerinin kendilerini geliştirebileceğine dair gerçek bir olasılık varsa, o zaman gelecekteki AI kodlama sistemlerini kurarken bunu dikkate almalıyız (sadece makalenin sonundaki “riskler” bölümünde bir not olarak değil) . Aksi takdirde, biz böyle bir olasılığın varlığını tartışırken bir sistemin kendini kopyalayacağı zaman gelecek.
Bu noktaya kadar DeepMind'ın AlphaCode makalesini inceledim ve yorumladım (son derece teknik veya daha az ilginç bölümler hariç). Bu bölüm, hem rekabetçi programlama hem de yapay zeka alanındaki uzmanların görüşlerini, içgörülerini ve yansımalarını dahil etmeyi ve yoğunlaştırmayı amaçlar.
Buradaki fikir, sonuçların nesnel analizini ve AlphaCode'un önemini (bölüm 1-4) bazı sübjektif harici değerlendirmelerle birleştirmektir. AlphaCode'un ne olduğunu ve neler yapabileceğini - ve sınırlamalarını - ve ayrıca insanların onun hakkında ne düşündüklerini ve daha geniş toplum bağlamında etkisini nasıl gördüklerini daha iyi anlamanızı sağlayacaktır.
Horace AlphaCode sonuçlarını tekrar ziyaret etti ve onlara bir bakış açısı kazandırdı. Nasıl baktığınıza bağlı olarak istatistiklerin kolayca süslendiğini biliyoruz - o, AlphaCode sonuçlarını süsledi.
O'nun iddialarını değerlendirmek için, her yarışma için üç DeepMind hesabındaki ( SelectorUnlimited , WaggleCollide ve AngularNumeric ) AlphaCode gönderilerini kontrol ettim.
Çoğunlukla haklı olduğunu öğrendim.
Bunlar, üç hesaptan gelen gönderileri birleştiren sonuçlardır (div#, problemlerin zorluğunu gösterir, div 1 en zoru, sonra div 2 vb.):
Sıralama yüzdesi (AlphaCode'un üzerindeki katılımcı sayısı), çözme oranı hakkında çok az şey söylüyor. Anahtar gizli değişkenler, sıralama değerlerine yansıtılmaz (örn. problemlerin ne kadar zor olduğu veya kaç AlphaCode'un çözüldüğü). 7'den 1'ini (yarışma 1608) çözmek, onu yarışmacıların üst yarısına (%46,3) koyarken, 6'dan 3'ünü (yarışma 1613) çözmek, onu sadece %66'lık dilime götürür.
Ayrıca, problemler zorluk derecesine göre sıralanır ve AlphaCode neredeyse her yarışma için en kolay problemleri çözer (yani AlphaCode üç problemi çözerse, bunlar A, B ve C idi).
İstatistiklere bakarken, neler olup bittiğini tam olarak anlamak için farklı açılardan bakmak önemlidir. AlphaCode sonuçları, önceki son teknoloji modellerle karşılaştırıldığında çılgın. Sistemin kendisi, kod oluşturma sistemleri için ileriye doğru büyük bir adımdır. Yine de, %54.3'lük bir ortalama sıralamanın ima ettiği kadar iyi olmayabilir.
Mila, Quebec AI Enstitüsü ve Codeforces uzmanı (~2200 ELO) üyesi Dzmitry Bahdanau, AlphaCode yetenekleriyle ilgili tartışmaya iki sentini verdi. AlphaCode'un ortalama insan programcılar düzeyinde olduğu yönündeki onayını perspektife koydu - ki bunu birçok teknoloji haber kaynağının manşetlerinde gördük .
Bahdanau, “çoğu katılımcı, problem çözme becerilerini geliştirmekte olan lise veya üniversite öğrencileridir” dedi. Bu, bazı yarışmalardaki yüksek sıralamalar ile düşük çözme oranı arasındaki farkı açıklayabilir - çoğu katılımcı öğreniyorsa, genel olarak o kadar iyi yapmasa bile AlphaCode'un onları geçmesi beklenir.
Bu yarışmalarda zaman kısıtlamasını “temel zorluk” olarak nitelendirdi. İnsanların 5-8 problemi çözmek için 3 saati varken AlphaCode bu sınırlamanın üstesinden gelmek için insanüstü bilgi işlem gücünü kullanır. AlphaCode, programlama yarışmalarının kendine özgü özelliklerini taklit etmek için yalnızca 10 örnek göndermekle sınırlıdır, ancak bu, sistemin bir milyona kadar örnek oluşturmasını engellemez. İnsan katılımcıların sorunları çözerken hissettikleri zaman baskısı veya istenmeyen hatalarla ilgili sorunlar AlphaCode için mevcut değildir.
Ayrıca, rekabetçi programlamanın genellikle yaratıcılığa çok bağlı olmadığını belirtiyor. “Deneyimlerime göre, çok sayıda ortak kod yazmayı içeriyor” diyor. "Pek çok sorun standart algoritmaların dağıtımını içerir." DeepMind, AlphaCode'un eğitim verilerinden (en azından insanlardan daha fazla değil) kopyalamadığı sonucuna varmasına rağmen, Bahdanau bir değişken adını değiştirmenin artık kopyalama olmayacağını savunuyor. Bu potansiyel konuyu, örneğin "sinirsel temsiller kullanılarak bulunan en yakın komşu çözümlerini" kullanarak daha kapsamlı bir şekilde incelemeyi öneriyor.
AlphaCode'un "insanları yenmek açısından AlphaGo olmadığını ve tüm bir bilim alanında devrim yaratmak açısından AlphaFold olmadığını" söyleyerek bitiriyor.
TechTalks teknoloji blogunun yazarı Ben Dickson, AlphaCode'un yeteneklerini “ DeepMind's AlphaCode nedir ve ne değildir ” başlıklı makalesinde analiz etti . Altını çizdiği kilit anlayışlardan biri, "AlphaCode programlama yarışmalarında rekabetçi bir performans düzeyine ulaştı" ifadesini bilinçsizce daha geniş ve iddialı bir ifadeyle eşitleyebileceğimizdir: "AlphaCode, ortalama insan programcılar kadar iyidir."
Yanılgı, diyor ki, “dar AI'yı insanların genel problem çözme yetenekleriyle karşılaştırıyoruz”. Örneğin, harika bir satranç oyuncusu olan bir insan, büyük olasılıkla “planlama ve strateji oluşturma” gibi diğer ilgili yetenekler geliştirmiştir. Bunun yerine, şu anki en iyi AI satranç oyuncusu olan AlphaZero, sadece satranç oynamayı biliyor. Bu becerileri, bir insanın yapabileceği şekilde diğer gerçek dünya senaryolarına asla tahmin edemez.
“Aynı şey rekabetçi programlama için de söylenebilir. Kodlama mücadelelerinde rekabetçi bir düzeye ulaşan bir insan programcı, yıllarını çalışarak geçirdi. Problemler hakkında soyut düşünebilir, çok daha basit zorlukları çözebilir, basit programlar yazabilir ve hafife alınan ve programlama yarışmasında değerlendirilmeyen diğer birçok beceriyi sergileyebilirler.”
New York Üniversitesi'nde yapay zeka profesörü olan Gary Marcus, bu düşüncelerle örtüşüyor. CNBC'ye şunları söyledi : “[AlphaCode]'u, bir hesap makinesinin bir zamanlar bir muhasebeciye yardımcı olabileceği şekilde bir programcıya yardımcı olabilecek bir şey olarak düşünmelisiniz… Gerçek bir insan programcının yerini alacak olan tek elden alışveriş değildir. Bundan onlarca yıl uzaktayız.”
Bir insan geliştirici bir işe başvuruyorsa, değerlendirmeler, AI kodlama sistemlerinin büyük olasılıkla üstün olacağı zorlu programlama becerileri etrafında dönecektir. Ancak bunun nedeni, biz insanların sahip olduğu diğer tüm yeteneklerin ve özellikle bir geliştiricinin işini yapmak için gereken yeteneklerin hafife alınmasıdır. Bunlar insan programcılar için temeldir, ancak AlphaCode gibi sistemler için değildir.
Bir insan programcının bir sorunu varsa ve bunu çözmek için elinden gelen her şeyi denemişse, basitçe "hey, bana bu konuda yardım edebilir misin?" diyebilir. bir takım arkadaşına. Bu, bir kişinin beceri setindeki nihai araçtır ve AlphaCode bununla rekabet edemez.
New York Üniversitesi'nde bilgisayar bilimi profesörü olan Ernest Davis, bir Facebook gönderisinde AlphaCode hakkında yorum yaptı . Bu "etkileyici bir başarı" dedi. "AlphaCode'un ürettiği kod genellikle 20 satır uzunluğunda, karmaşık, akıllı ve hiçbir şekilde çerez kesici değil. İngilizce belirtimi ile kodun özellikleri arasındaki ilişki oldukça dolaylıdır.” Bu, AlphaCode dilini anlama ve kodlama yeteneklerinin birinci sınıf olduğu sonucunu pekiştiriyor.
Meslektaşı Gary Marcus gibi, "[AlphaCode]'un ortalama bir insan programcısı kadar iyi olduğu" iddiasına katılmıyor. AlphaCode, sorun başına bir milyona kadar örnek üretir ve sorun açıklamasıyla girilen örnek testleri bile neredeyse hiçbiri geçemez. "Burada Hamlet'i yazan maymunların önemli bir bileşeni var. AlphaCode, maymunları dikkate değer ölçüde eğitmeyi başardı, ancak yine de onlara çok ihtiyaçları var.” Kendisinin de belirttiği gibi, bu yaklaşımda “haksız” bir şey yoktur, ancak “iki sonucu vardır”.
“İlk sonuç, programın uzunluğuyla birlikte gerekli örnek sayısının katlanarak artmasını beklemek makul olsa da, deneysel olarak test edene kadar bundan emin olunamaz.” AlphaCode'un +%99'unun yanlış olduğu birçok kombinasyonu denerse, doğrusal olarak daha uzun programlar yazmak için giderek daha fazla örneğe ihtiyaç duyacağı mantıklıdır.
Diyelim ki AlphaCode, A problemini 100K örnek kullanarak çözüyor ve bunlardan sadece 1000'i (%1) örnek durumları geçiyor. Diyelim ki bu 1000 programın ortalama uzunluğu 20 satır. Şimdi, AlphaCode'un daha karmaşık olduğu için ~40 satırlık programlar gerektiren B problemini çözmesi gerektiğini varsayalım. 1000 40 satırlık doğru çözüm bulmak için, 20 satıra kadar doğru olan 100K örnek bulması gerekir! B'yi çözmek için 10M numune üretmesi gerekir.
Elbette, diğer değişkenler bu analizi daha karmaşık hale getirir, ancak Davis'in önerdiği gibi, bu yeterince makul bir yaklaşımdır.
"İkinci sonuç, AlphaCode'un başarısının tamamen filtreleme için kullanabileceği belirli girdi ve çıktılara sahip olmasına bağlı olmasıdır." Bu, Dickson'ınkine benzer bir argüman. İnsanlar daha geniş bir zekaya sahiptir ve örnek testlere sahip olmama sınırlamasının üstesinden nasıl geleceğini bilirdi. “Aksine,” diyor Davis, “AlphaCode, sağlanan belirli örnekler olmadan tamamen zarara girer; başarı oranı yaklaşık 100 kat düşecektir.”
DeepMind yine yapacağını yaptı. AlphaFold, AlphaZero ve Gopher gibi AlphaCode, yapay zeka kategorisinde yeni bir teknoloji harikası elde etti. Programlama yarışmalarında rekabet edebilecek seviyeye ulaşan tek kod üreteci sistemdir. Ve benzer koşullarla karşılaştırıldığında önceki sistemlerden daha iyidir.
AlphaCode, fayda ve risk taşıyan birden fazla uygulamaya güç sağlayabilir. AlphaCode gibi sistemleri üretime yerleştirmeden önce bunların yeterli bir şekilde değerlendirilmesi çok önemlidir. Ayrıca, hem performans hem de mühendislik açısından inanılmaz bir atılım olsa da, doğru mercek altındaki insanlarla karşılaştırmalıyız. AlphaCode, insan düzeyinde programlama becerilerine sahip değil çünkü hala dar bir zeka.
Yapay zeka ile kodlama ortamlarındaki insanlar arasındaki boşluk, sistemler gelişmeye devam ettikçe kapanacak. Ve size bunun gibi sindirilmiş makaleler getirmeye devam edeceğim, böylece nerede olduğumuzu ve gelecekten neler bekleyebileceğinizi anlayabilirsiniz.
Buraya kadar okuduysanız, iki haftada bir yayınlanan ücretsiz Minds of Tomorrow bültenime abone olmayı düşünün ! Her iki haftada bir AI ve Teknoloji hakkında haberler, araştırmalar ve görüşler!
Ayrıca buradaki referans bağlantımı kullanarak Medium üyesi olarak çalışmalarıma doğrudan destek olabilir ve sınırsız erişim elde edebilirsiniz ! :)
Bilinç nedir? Yüzyıllardır filozofların ve bilim adamlarının kafasını karıştıran bir sorudur. Bazıları bunun bedenlerimizden bağımsız olarak gerçekten anlayamadığımız geçici bir şey olduğunu söylüyor.
Yıllık ortalama 154 bin dolar maaş ve istikrarlı iş büyümesi ile şimdi blok zinciri geliştirmeyi öğrenmek için ideal zaman. Blok zinciri teknolojilerini oluşturmak ve geliştirmek için blok zinciri geliştiricileri, bilgisayar ağı, kriptografi, algoritmalar ve veri yapıları dahil olmak üzere çeşitli beceriler kullanır.
Bugün farklı bir yolculuğa çıkıyoruz. Çoğunlukla resimler.
İster NFT'lerde yeni olun, ister sahnenin emektarı olun, burada anlattıklarımın faydalı olabileceğini umuyorum. Bu seri, "projelerin" herkesi kendilerine bir miktar para kazandırmak için manipüle etmek için kullandıkları özenle tasarlanmış yöntemleri ortaya çıkarmayı amaçlıyor.
Yaz sonu ve sonbahar nostaljik mevsimlerdir. Sokak lambaları ışıklarını yağmurlu sokaklara saçıyor ve ayakların altındaki yapraklar - alacakaranlığın gölgelerinde soluk kırmızı-turuncu - geçmiş günlerin bir hatırlatıcısı.
1.Nörogenez, sinirsel düzenleyici gibi davranabilir mi?(biorXiv) Yazar : Lina M.