DeepMind stworzył oprogramowanie rywalizujące z przeciętnym programistą
![](https://www.hornet.org.pl/wp-content/uploads/2022/02/programming-man-2021-08-27-09-28-35-utc.jpg)
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.