DeepMind створив систему штучного інтелекту під назвою AlphaCode, яка, за словами дослідників, «пише комп’ютерні програми на конкурентному рівні». Дочірня компанія Alphabet перевірила свою систему під час розв’язання задач кодування, які використовуються в змаганнях з людьми, і виявила, що її ШІ потрапив у 54% найкращих учасників змагань з програмування. Цей результат є значним кроком вперед для автономного кодування, кажуть в DeepMind, хоча навички AlphaCode не обов’язково відповідають типу завдань програмування, з якими стикається пересічний кодер.

Оріол Віньялс, головний науковець DeepMind, повідомив The Verge, що дослідження все ще знаходиться на ранній стадії, але результати наблизили компанію до створення ШІ — програми, що може самостійно розв’язувати задачі кодування, які зараз є прерогативою людей. «У довгостроковій перспективі ми в захваті від потенціалу AlphaCode та його можливостей допомогти програмістам та не програмістам писати код, підвищити продуктивність або створити нові способи створення програмного забезпечення», — сказав Віньялс.

AlphaCode було перевірено в змаганні розробників, які курує Codeforces, платформа змагань зі спортивного програмування, яка щотижня ділиться задачами та видає рейтинги для кодерів, подібні до системи оцінювання Elo, яка використовується в шахах. Ці задачі відрізняються від завдань, з якими може зіткнутися кодер, створюючи, скажімо, комерційний додаток. Вони більш самодостатні й вимагають ширшого знання як алгоритмів, так і теоретичних концепцій інформатики. Думайте про них як про дуже спеціалізовані головоломки, які поєднують логіку, математику та знання кодування.

В одному прикладі завдання, на якому було перевірено AlphaCode, конкурентів просять знайти спосіб перетворити один рядок випадкових, повторюваних букв s і t в інший рядок тих самих літер, використовуючи обмежений набір введених даних. Конкуренти не могли, наприклад, просто вводити нові літери, а замість цього повинні були використовувати команду «backspace», яка видаляє кілька літер у вихідному рядку. Повний опис завдання та його вирішення можна прочитати нижче:

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

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

AlphaCode було перевірено на 10 задачах, які вирішували 5000 користувачів на сайті Codeforces. У середньому він потрапив до 54,3% найкращих відповідей, і DeepMind оцінює, що це дає системі Codeforces Elo 1238, що поміщає її у 28% найкращих користувачів, які конкурували на сайті протягом останніх шести місяців.

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

Приклад інтерфейсу AlphaCode для розв’язання задачі кодування. Зліва представлені вхідні дані, вихідні дані генеруються праворуч.

«Я можу з упевненістю сказати, що результати AlphaCode перевершили мої очікування, — сказав засновник Codeforces Майк Мірзаянов у заяві, опублікованій DeepMind. – Я був налаштований скептично, тому що навіть у простих змагальних задачах часто потрібно не лише реалізувати алгоритм, а й (і це найскладніше) його винайти. AlphaCode зумів виступити на рівні нового перспективного конкурента».

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