Bbabo NET

Наука & Технології Новини

DeepMind заявляє, що її нейромережа пише програми не гірше від середнього програміста

DeepMind створила систему штучного інтелекту під назвою AlphaCode, яка, за її словами, "пише комп'ютерні програми на конкурентоспроможному рівні". Систему перевірили на відповідність завданням кодування, що використовуються у змаганнях серед людей, і виявила, що програма виявилася серед 54% найкращих.

На думку DeepMind, це значний крок уперед для автономного кодування, хоча навички AlphaCode не обов'язково є репрезентативними для задач програмування, з якими стикається середній кодер.

Оріол Віньялс, головний науковий співробітник DeepMind, зазначає, що дослідження все ще знаходиться на ранній стадії, але його результати наблизили компанію до створення гнучкого ІІ для вирішення складних задач кодування. "Ми надихнуті потенціалом AlphaCode для допомоги програмістам і не-програмістам у написанні коду, підвищенні продуктивності або створенні нових способів створення програмного забезпечення", - сказав Віньялс.

В одному прикладі завдання, де тестувалася AlphaCode, учасників просили знайти спосіб перетворити один рядок випадкових повторюваних літер s і t, використовуючи обмежений набір вхідних даних:

«Вам задані два рядки s і t, кожен з яких складається з малих літер латинського алфавіту. Ви збираєтеся надрукувати рядок s, починаючи з першого символу і закінчуючи останнім.

Коли ви збираєтеся надрукувати якийсь символ, замість того, щоб натиснути кнопку, що друкує цей символ, ви можете натиснути кнопку «Backspace». Натискання цієї кнопки видаляє останній надрукований символ, який ще не був видалений (або нічого не робить, якщо всі надруковані символи вже видалені або ви ще не надрукували жодного символу). Наприклад, якщо рядок s — «abcbd», і ви натискаєте кнопку Backspace замість друку першого і четвертого символу, в результаті вийде рядок «bd» (перше натискання Backspace не видалити жодного символу, а друге натискання цієї кнопки видалити символ «c» ). Інший приклад: якщо s дорівнює "abcaa", і ви натискаєте Backspace замість двох останніх букв, виходить "a".

Ви повинні визначити, чи можна отримати рядок t, якщо ви спробуєте набрати рядок s, натискаючи Backspace замість натискання кнопок, які відповідають деяким (можливо, жодному) буквам рядка s».

AlphaCode згенерував більше можливих відповідей і відсіяв їх, запустивши код і перевіривши висновок, як це зробив би людина-конкурент.

Систему протестували на 10 завданнях, що вирішували 5000 користувачів на сайті Codeforces. У середньому вона входить до числа 54,3% найкращих за відповідями.

DeepMind зазначає, що поточний набір навичок AlphaCode в даний час застосовується тільки в області програмування для змагань, але її можливості відкривають двері для створення майбутніх інструментів, які зроблять програмування більш доступним.

Багато інших компаній працюють над аналогічними програмами. Наприклад, у серпні 2021 року OpenAI випустила Codex — нову систему, яка автоматично перетворює на код прості англійські фрази. Codex базується на GPT-3.

Однак поки що системи далекі від того, щоб просто взяти на себе роботу програмістів-людей. Код, який вони виробляють, часто містить помилки, а оскільки алгоритми зазвичай навчаються на бібліотеках загальнодоступного коду, вони іноді відтворюють матеріали, захищені авторським правом.

Так, у червні 2021 року Microsoft та GitHub представили помічника програміста Copilot на базі нейромережі Codex від Open AI. Система навчена працювати з різними фреймворками та мовами програмування. У серпні вийшла вдосконалена версія Codex, яка переводить англійські фрази у програмний код.

Розробники помітили, що нейромережевий помічник генерує рядки з проектів з відкритим вихідним кодом, не підкоряючись початковій ліцензії. Вони також стали скаржитися, що Copilot замість кількох рядків потрібного коду генерує десятки рядків із цитатами та коментарями з проектів із відкритим вихідним кодом. GitHub уточнила, що Copilot зазвичай не відтворює точні фрагменти коду, а створює похідні роботи із раніше отриманих вхідних даних. Компанія стверджує, що це відбувається лише у 0,1% випадків.

Потім GitHub визнав, що під час навчання Copilot розробники використовували весь доступний у репозиторіях сервісу публічний код без урахування типу ліцензії.

Також з'ясувалося, що код Copilot код приблизно в 40% містить помилки і вразливості.

DeepMind заявляє, що її нейромережа пише програми не гірше від середнього програміста