DeepMind przedstawił system uczenia maszynowego do generowania kodu na podstawie opisów tekstowych zadań

Firma DeepMind, znana z rozwoju sztucznej inteligencji oraz budowy sieci neuronowych zdolnych do grania w gry komputerowe i planszowe na poziomie ludzkim, przedstawiła projekt AlphaCode, rozwijający system uczenia maszynowego do generowania kodu, który może brać udział w konkursach programistycznych na platformie Codeforces i osiągać średnie wyniki. Kluczową cechą tego rozwiązania jest zdolność generowania kodu w językach Python lub C++, przyjmując tekst z zadaniem w języku angielskim jako wejście.

Do testowania systemu wybrano 10 nowych zawodów Codeforces z ponad 5000 uczestników, które odbyły się po zakończeniu szkolenia modelu uczenia maszynowego. Wyniki wykonania zadań pozwoliły systemowi AlphaCode zajść do około połowy rankingu tych zawodów (54,3%). Prognozowany łączny ranking AlphaCode wyniósł 1238 punktów, co zapewnia miejsce w Top 28% wszystkich uczestników Codeforces, którzy brali udział w zawodach przynajmniej raz w ciągu ostatnich 6 miesięcy. Należy zauważyć, że projekt jest na wczesnym etapie rozwoju, a w przyszłości planowane jest zwiększenie jakości generowanego kodu, a także rozwijanie AlphaCode w kierunku systemów wspierających pisanie kodu lub narzędzi do tworzenia aplikacji, które mogliby wykorzystywać ludzie bez umiejętności programowania.

W projekcie wykorzystuje się architekturę sieci neuronowej „Transformer” w połączeniu z metodami próbkowania i filtracji, które pozwalają generować różnorodne, nieprzewidywalne warianty kodu odpowiadające tekstowi w naturalnym języku. Po filtracji, klasteryzacji i rankingowaniu z powstającego strumienia wariantów odrzucany jest najbardziej optymalny, działający kod, który następnie jest sprawdzany pod kątem uzyskania prawidłowego wyniku (w każdym zadaniu zawodów podano przykład danych wejściowych oraz odpowiadający mu wynik, który powinien zostać uzyskany po wykonaniu programu).

DeepMind przedstawił system uczenia maszynowego do generowania kodu na podstawie opisów tekstowych zadań

Do treningu systemu uczenia maszynowego wykorzystano kod źródłowy dostępny w publicznych repozytoriach GitHub. Po przygotowaniu początkowego modelu przeprowadzono fazę optymalizacji, realizowaną na podstawie kolekcji kodu z przykładami zadań i rozwiązań, proponowanych uczestnikom zawodów Codeforces, CodeChef, HackerEarth, AtCoder i Aizu. W sumie do treningu wykorzystano 715 GB kodu z GitHub i ponad milion przykładów rozwiązań standardowych problemów zawodów. Przed przejściem do generowania kodu tekst zadania przeszedł fazę normalizacji, w której usunięto wszystko zbędne, pozostawiając jedynie istotne części.

DeepMind przedstawił system uczenia maszynowego do generowania kodu na podstawie opisów tekstowych zadań


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster