DeepMind stworzył oprogramowanie rywalizujące z przeciętnym programistą

DeepMind, brytyjska firma zajmująca się Sztuczną Inteligencją, nauczyła niektóre ze swoich maszyn pisać programy komputerowe, które radzą sobie prawie tak dobrze, jak przeciętny programista.
Nowy system AlphaCode, jak twierdzą programiści z zespołu DeepMind, jest w stanie rozwiązać problemy oprogramowania, które wymagają kombinacji logiki, krytycznego myślenia i zdolności do zrozumienia języka naturalnego. Narzędzie wzięło udział w 10 rundach na stronie Codeforces, gdzie uczestnicy testują swoje umiejętności kodowania. W tych 10 rundach AlphaCode uplasował się mniej więcej na poziomie średniego zawodnika.


Programiści z zespołu DeepMind twierdzą, że jest to pierwszy przypadek, kiedy system pisania kodu przez SI osiągnął konkurencyjny poziom wydajności w konkursach dla programistów.
AlphaCode został stworzony poprzez przetestowanie sieci neuronowej na wielu próbkach kodowania pochodzących z hostingowego serwisu internetowego GitHub oraz od uczestników poprzednich konkursów na Codeforces. Kiedy zostaje mu przedstawiony nowy problem, tworzy ogromną liczbę rozwiązań w językach programowania C++ i Python. Następnie filtruje je i szereguje w rankingu 10 najlepszych. Kiedy AlphaCode był testowany w konkursie, użytkownicy oceniali te rozwiązania i zgłaszali najlepsze z nich.


Generowanie kodu jest szczególnie delikatnym problemem dla Sztucznej Inteligencji, ponieważ trudno jest ocenić, jak precyzyjne są informacje wprowadzane przez komputer. Kod, który ulega awarii, a więc nie osiąga celu, może być o jeden znak oddalony od doskonale działającego rozwiązania, a wiele funkcjonujących rozwiązań może wydawać się diametralnie różnych. Rozwiązywanie konkursów z programowania również wymaga od Sztucznej Inteligencji wydobycia znaczenia z opisu problemu napisanego w języku angielskim.


Należący do Microsoftu GitHub stworzył w zeszłym roku podobne, ale bardziej ograniczone narzędzie o nazwie Copilot. Miliony użytkowników korzystają z GitHuba, aby dzielić się kodem źródłowym i organizować projekty programistyczne.
Copilot wykorzystał ten kod i za jego pomocą stworzył sieć neuronową umożliwiającą rozwiązywanie podobnych problemów z zakresu programowania.
Narzędzie to wzbudziło jednak kontrowersje, ponieważ wiele z zainteresowanych osób twierdziło, że może ono bezpośrednio plagiatować dane szkoleniowe. Armin Ronacher z firmy Sentry odkrył, że możliwe było nakłonienie Copilota do zasugerowania kodu chronionego prawem autorskim z gry komputerowej Quake III Arena z 1999 roku wraz z komentarzami oryginalnego programowania. Kod ten nie może być ponownie wykorzystany bez pozwolenia.
Podczas premiery Copilota GitHub poinformował, że około 0,1 procenta propozycji kodu może zawierać „pewne fragmenty” dosłownego kodu źródłowego z zestawu szkoleniowego. Firma ostrzegła również, że Copilot może podawać prawdziwe dane osobowe, takie jak numery telefonów, adresy e-mail lub nazwiska, oraz że podawany kod może oferować „stronnicze, dyskryminujące lub obraźliwe dane wyjściowe” lub zawierać wady bezpieczeństwa. Dlatego też kod powinien być sprawdzony i przetestowany przed użyciem.


AlphaCode, podobnie jak Copilot, został najpierw przetestowany na publicznie dostępnym kodzie umieszczonym na GitHubie. Następnie był dostrajany na kodzie z konkursów programistycznych.
AlphaCode wydaje się być precyzyjnie dostrojony do rozwiązywania złożonych wyzwań, ale poprzedni stan wiedzy w zakresie narzędzi do kodowania może nadal przewyższać go w prostszych zadaniach.