DeepMind zaprezentował system uczenia maszynowego umożliwiający generowanie kodu na podstawie tekstowego opisu zadania

Firma DeepMind, znana z osiągnięć w dziedzinie sztucznej inteligencji i budowy sieci neuronowych zdolnych do grania w gry komputerowe i planszowe na poziomie człowieka, przedstawiła projekt AlphaCode, polegający na opracowaniu systemu uczenia maszynowego do generowania kodu, który może uczestniczyć w konkursach programistycznych na platformie Codeforces i wykaż się średnim wynikiem. Kluczową cechą rozwoju jest możliwość generowania kodu w Pythonie lub C++, przyjmując jako dane wejściowe tekst z opisem problemu w języku angielskim.

Do testów systemu wybrano 10 nowych konkursów Codeforces, w których wzięło udział ponad 5000 uczestników, odbywających się po zakończeniu szkolenia z modelu uczenia maszynowego. Wyniki realizacji zadań pozwoliły systemowi AlphaCode znaleźć się mniej więcej w połowie rankingów tych konkursów (54.3%). Przewidywana ogólna ocena AlphaСode wyniosła 1238 punktów, co zapewnia wejście do Top 28% wszystkich uczestników Codeforces, którzy brali udział w konkursach przynajmniej raz w ciągu ostatnich 6 miesięcy. Zaznacza się, że projekt jest jeszcze w początkowej fazie rozwoju i w przyszłości planowana jest poprawa jakości generowanego kodu, a także rozwój AlphaCode w kierunku systemów pomagających w pisaniu kodu, czy narzędzi do tworzenia aplikacji, które można używane przez osoby nie posiadające umiejętności programowania.

W projekcie wykorzystano architekturę sieci neuronowej Transformer w połączeniu z technikami próbkowania i filtrowania w celu wygenerowania różnych nieprzewidywalnych wariantów kodu odpowiadających tekstowi w języku naturalnym. Po przefiltrowaniu, grupowaniu i rankingu, z wygenerowanego strumienia opcji eliminowany jest najbardziej optymalnie działający kod, który następnie jest sprawdzany pod kątem uzyskania prawidłowego wyniku (każde zadanie konkursowe wskazuje przykład danych wejściowych i odpowiadający temu przykładowi wynik , który należy uzyskać po uruchomieniu programu).

DeepMind zaprezentował system uczenia maszynowego umożliwiający generowanie kodu na podstawie tekstowego opisu zadania

Aby z grubsza przeszkolić system uczenia maszynowego, wykorzystaliśmy bazę kodu dostępną w publicznych repozytoriach GitHub. Po przygotowaniu wstępnego modelu przeprowadzono fazę optymalizacji, opartą na zbiorze kodu z przykładowymi problemami i rozwiązaniami zaproponowanymi przez uczestników konkursów Codeforces, CodeChef, HackerEarth, AtCoder i Aizu. Łącznie do szkoleń wykorzystano 715 GB kodu z GitHuba oraz ponad milion przykładów rozwiązań typowych problemów konkursowych. Tekst zadania przed przystąpieniem do generowania kodu przeszedł fazę normalizacji, podczas której wyeliminowano wszystko, co niepotrzebne, pozostawiając jedynie istotne fragmenty.

DeepMind zaprezentował system uczenia maszynowego umożliwiający generowanie kodu na podstawie tekstowego opisu zadania


Źródło: opennet.ru

Dodaj komentarz