Kodlama yarışmalarındaki sorunları çözmede yapay zekayı daha iyi hale getirmek

Kodlama yarışmalarındaki sorunları çözmede yapay zekayı daha iyi hale getirmek

görüşme Ticari büyük dil modellerinin rekabetçi programlama sorunlarını çözme yetenekleri, süreçlerinin akıllı ve hızlı mühendislik yoluyla dikkatli bir şekilde yönlendirilmesiyle önemli ölçüde artırılabilir.

Bunu göstermek için İsrail merkezli Codium AI, AlphaCodium'u inşa etti ve serbest Bu ay GitHub'daki yazılım. AlphaCodium başlı başına büyük bir dil modeli değildir. Bunun yerine, CEO Itamar Friedman'ın "akış mühendisliği" dediği şeyi kullanarak GPT-4 gibi üretken yapay zeka araçlarının problem çözme yeteneklerini geliştiren bir yöntemdir.

İlk olarak, temeldeki geniş dil modeline bir programlama sorusu beslenir ve sorunu tanımlaması ve özetlemesi istenir. Bu bilgi daha sonra sorunu çözmeye nasıl başlaması gerektiğine rehberlik eder. AlphaCodium, bir çözüm bulurken girdilerin ve çıktıların ne olması gerektiği gibi şeyleri tanımlar. Bütün bunlar doğal dilde belirtilmiştir.

Model daha sonra az önce tanımladığı spesifikasyonlara uygun kod üretmeye başlar. Yarışmacılardan spesifikasyona göre kod yazmalarını isteyen programlama yarışmaları, genellikle bir komut dosyasının belirli bir girdi için ne çıktı vermesi gerektiğini gösteren testler sağlar. AlphaCodium bu test senaryolarından daha fazlasını oluşturur ve ardından kodun beklendiği gibi çalışıp çalışmadığını kontrol etmek için olası çözümleri çalıştırır.

Model, testlerden herhangi birinde tanımlanan çıktılardan herhangi birini eşleştirmeyi başaramazsa, tüm testleri geçinceye veya başarısız olana kadar farklı çözümler üretir. Kodu derlenmediğinde veya yanlış olduğunda hatalar ortaya çıkabilir.

Aşağıdaki şemada akış mühendisliği sürecindeki farklı adımları görebilirsiniz. Büyük ölçüde sistemin sorunu doğal dilde analiz ettiği bir ön işleme aşamasına ve olası çözümleri genel ve yapay zeka tarafından oluşturulan testlere karşı çalıştırdığı bir kod yineleme aşamasına bölünmüştür.

alfakodyum

AlphaCodium'u sorunları çözmek için kod oluşturmaya yönlendiren tüm geniş adımlar

Friedman, "Sorunu alıp modele gidip ona 'Hey, lütfen nihai çözümü üret' demiyoruz" dedi. Kayıt. "Modelden lütfen bu sorunu maddeler halinde yeniden tanımlamasını istiyoruz." Bunu basitleştirmek ve parçaları parçalara ayırmak, modelin daha sonra algoritmanın farklı bölümleri için kod üretmesini kolaylaştırır.

Temel olarak akış mühendisliği, modelin problem çözme sürecini iyi tanımlanmış adımlara bölerek yönlendiren bir prosedürdür. Bize "oluşturulan kodu anlamlı adlar ve işlevlerle küçük alt işlevlere bölmesi" yönünde yönlendirmenin daha az hataya yol açtığı ve kodun test edilmesini ve düzeltilmesini kolaylaştırdığı söylendi.

Friedman, "Temel olarak zamanımızın yüzde 95'ini akış mühendisliğine ve yalnızca yüzde 5'ini hızlı mühendisliğe harcadık ve her [adım] için istemleri değiştirmedik" diye ekledi.

Codium mühendisleri, modellerinin performansını, iki yıl önce Google DeepMind tarafından derlenen CodeForces veri setinin doğrulama ve test kısımlarında kullanılan yüzlerce problem üzerinde test etti. AlphaCodium'un kodlama sorunlarını çözmede Google DeepMind'ın AlphaCode ve AlphaCode2 modellerinden daha iyi olduğunu iddia ediyorlar.

arXiv'de bildirilen sonuçlarda kâğıt [PDF], AlphaCodium, AlphaCode'un yüzde 44'üne kıyasla soruların yüzde 24'ünü doğru yanıtlamayı başardı ve AlphaCode'un 107 doğrulama sorunu için seçilen on çözümüne kıyasla yalnızca beş çözüm üretti. İlginç bir şekilde, AlphaCode'un yüzde 165'ine kıyasla AlphaCodium'un yüzde 29'unu çözdüğü 28 test problemine gelindiğinde aradaki fark daraldı.

AlphaCode, ürettiği onbinlerce veya yüzbinlerce olası komut dosyası arasından en umut verici on çözümü seçiyor ve bu da onu çalıştırmayı hesaplama açısından yoğun hale getiriyor.

Friedman, "Test akışının tamamına çok daha fazla odaklandık" dedi. “[Google] için nesil üzerinde çok fazla çalışma yaptılar. Onlar yüzlerce başka seçenek üretmeye çalışıyorlar ve biz çok az çözüm üretiyoruz, ancak kodun geliştirilmesine rehberlik etmek için bunları gerçekten iyi test ediyoruz."

AlphaCodium'un Google DeepMind'ın en yeni AlphaCode2 modelinden biraz daha iyi olduğunu ve önceki AlphaCode'dan 10,000 kat daha verimli olduğunu ekledi.

alfakodyum_2

AlphaCodium'un doğruluk ve verimlilik açısından diğer son teknoloji modellerle karşılaştırılması

Friedman, AlphaCodium'un performansının, temel modelin aynı sorunlar üzerinde eğitilip test edildiği veri sızıntısından kaynaklanmadığından emin olduğunu söyledi. AlphaCodium'u çalıştıran GPT-4 sürümü, Eylül 2021'e kadar internetten alınan metinler üzerinde eğitilirken, sistemini test ettiği sorunlar, daha sonra yayınlanan yukarıda belirtilen CodeForces veri setinden alınmıştı.

Ancak akış mühendisliği sürecini değerlendiren daha iyi bir elma-elma karşılaştırması, GPT-4'ün aynı soruları AlphaCodium uygulayarak ve uygulamadan çözme becerisine bakmaktır. Sıradan eski GPT-4, doğrulama ve test setlerindeki sorunların sırasıyla yalnızca yüzde 19 ve 12'sine doğru yanıt verebilirken, AlphaCodium destekli varyantın yüzde 44 ve 29'u doğruydu.

Kısacası, kodun nasıl oluşturulduğuna rehberlik edecek ve test sürecini iyileştirecek ek veriler üreten dikkatli bir işlem hattının uygulanması, büyük bir dil modelini sıfırdan eğitmeye çalışmaktan daha etkili olabilir gibi görünüyor.

Codium yakın zamanda, IDE'lerindeki bir kodlama sorununu doğrudan çözmek için AlphaCodium'u arayabilen Python geliştiricilerini desteklemek için yeni bir araç yayınladı. Onunla oynayabilirsin Burada. ®

Zaman Damgası:

Den fazla Kayıt