AlphaCode, generacja kodu AI

DeepMind, znany z osiągnięć w dziedzinie sztucznej inteligencji i budowanie sieci neuronowych zdolnych do grania w gry komputerowe i planszowe na poziomie ludzkim, niedawno zaprezentowane projekt AlphaCode który opisuje jak system uczenia maszynowego do generowania kodu że możesz brać udział w konkursach programistycznych na platformie Codeforces i wykazać się średnim wynikiem.

Wspomniano, że projekt wykorzystuje architekturę sieci neuronowej „Transformer” w połączeniu z innymi metodami próbkowania i filtrowania do generowania różnych nieprzewidywalnych wariantów kodu odpowiadających tekstowi w języku naturalnym.

Sposób, jak to działa Kod alfa opiera się na filtrowaniu, grupowaniu i sortowaniu, po czym przechodzi do wyboru najbardziej optymalnego kodu roboczego z wygenerowanego strumienia opcji, który następnie jest sprawdzany pod kątem uzyskania prawidłowego wyniku (w każdym zadaniu konkursu przykład dane wejściowe i odpowiadający im wynik) do tego przykładu, który należy uzyskać po wykonaniu programu).

Szczegółowo opisujemy AlphaCode, który wykorzystuje modele językowe oparte na transformatorach do generowania kodu na niespotykaną dotąd skalę, a następnie inteligentnie odfiltrowuje mały zestaw obiecujących programów.

Weryfikujemy nasze wyniki, korzystając z konkursów organizowanych na Codeforces, popularnej platformie, na której regularnie odbywają się konkursy, które przyciągają dziesiątki tysięcy uczestników z całego świata, którzy przyjeżdżają, aby sprawdzić swoje umiejętności kodowania. Do oceny wybraliśmy 10 ostatnich konkursów, każdy nowszy niż nasze dane treningowe. AlphaCode był mniej więcej na poziomie przeciętnego konkurenta, co oznacza, że ​​po raz pierwszy system generowania kodu AI osiągnął konkurencyjny poziom wydajności w konkursach programistycznych.

Dla przybliżonego szkolenia systemowego nauczanie maszynowe, podkreślono, że wykorzystano kod bazowy dostępny w publicznych repozytoriach GitHub. Po przygotowaniu wstępnego modelu przeprowadzono fazę optymalizacji w oparciu o zbiór kodu z przykładami problemów i rozwiązań oferowanych uczestnikom konkursów Codeforces, CodeChef, HackerEarth, AtCoder i Aizu.

W sumie za powstanie AlphaCode Użyto 715 GB kodu GitHub oraz ponad milion przykładów rozwiązań typowych problemów konkurencji. Przed przystąpieniem do generowania kodu tekst zadania przeszedł fazę normalizacji, w której wszystko co zbędne zostało wykluczone i pozostały tylko istotne części.

Do przetestowania systemu wybrano 10 nowych konkursów Codeforces, w których wzięło udział ponad 5.000 uczestników, które odbyły się po ukończeniu szkolenia z modelu uczenia maszynowego.

Mogę śmiało powiedzieć, że wyniki AlphaCode przerosły moje oczekiwania. Byłem sceptyczny, ponieważ nawet w prostych problemach konkurencyjnych często wymagane jest nie tylko zaimplementowanie algorytmu, ale także (i to jest najtrudniejsze) wymyślenie go. AlphaCode zdołał osiągnąć poziom obiecującego nowego konkurenta. Nie mogę się doczekać, co nadejdzie!

MIKE MIRZAJANOW

ZAŁOŻYCIEL CODEFORCES

Dozwolone wyniki przydziałów aby system AlphaCode mógł wejść mniej więcej w połowie kwalifikacji tych zawodów (54,3%). Przewidywany ogólny wynik AlphaCode to 1238 punktów, co gwarantuje wejście do Top 28% wśród wszystkich uczestników Codeforces, którzy uczestniczyli w konkursach przynajmniej raz w ciągu ostatnich 6 miesięcy.

Należy zauważyć, że obserwuje się, iż projekt jest jeszcze w początkowej fazie rozwoju i że w przyszłości planuje się poprawę jakości generowanego kodu, a także rozwój AlphaCode w kierunku systemów wspomagających pisanie kodu, lub narzędzia do tworzenia aplikacji, z których mogą korzystać osoby bez umiejętności programowania.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, powinieneś wiedzieć, że kluczową cechą programistyczną jest możliwość generowania kodu w Pythonie lub C++, przyjmując jako tekst wejściowy opis problemu w języku angielskim.

Możesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.