Можно надеяться, что со временем компьютеры будут соревноваться с людьми
во всех чисто интеллектуальных областях.
- Алан Тьюринг, «Вычислительные машины и интеллект»
(
Computing Machinery and Intelligence, 1950)
В блоге
DeepMind сообщается, что
алгоритм AlphaCode научился решать конкурсные задачи по программированию на уровне среднего участника-человека, см. исследовательскую статью разработчиков:
Competition-Level Code Generation with AlphaCode.
После обучения на историческом конкурсном материале машине были предложены задания десяти новых для нее программистских конкурсов с популярного соревновательного сайта
Codeforces. На входе алгоритм получал задание на английском языке примерно в том же формате, в каком его видят на сайте участники-люди. Алгоритм генерировал решение задачи (на С++ и Python), и оно проверялось на том же самом наборе тестовых данных, на котором оценивались конкурсные программы, написанные людьми. Гипотетическое место, которое алгоритм занял бы в конкурсе, если бы принял в нем участие, моделировалось исходя из результатов тестирования решений и затраченного на их генерацию времени в сравнении с соответствующими результатами людей. Оказалось, что в среднем по всем конкурсам около 54% участников продемонстрировали лучший или такой же результат, как алгоритм. Иными словами, AlphaCode
решает конкурсные задания по программированию примерно на уровне среднего программиста-человека, соревнующегося в таких конкурсах.
Вероятно, в сообщении DeepMind и в материалах разработки, на которых оно основано, можно идентифицировать какие-то натяжки и благоприятные для алгоритма условности. Но я не думаю, что осмысление этой новости следует начинать с упражнений в искусстве оговорок и мудрого скепсиса. Лучше порефлексировать над путём, пройденным с публикации канонической статьи Тьюринга о вычислимых числах, написанной в 1936 году.
Машина Тьюринга с 4 состояниями, вычисляющая бесконечную последовательность 01010101...
Источник: A.M.Turing, On Computable Numbers, with an Application to the Entscheidungsproblem, 1936
(
doi:10.1112/plms/s2-42.1.230)
UPD: Подтянулась тяжелая артиллерия: Скотт Ааронсон,
AlphaCode as a dog speaking mediocre English («AlphaCode как пес, разговаривающий на заурядном английском»):
Вечером нашел время на то, чтобы прочитать статью DeepMind об AlphaCode, изучить приведенные примеры конкурсных задач и понять, как я сам стал бы их решать, и как их решил AlphaCode.
Это совершенно поразительно.
[...]
По сравнению с ИИ образца 20-25-летней давности, когда я был студентом, этот пес теперь поддерживает осмысленный разговор на английском. И люди еще жалуются, что собака, дескать, - не слишком красноречивый оратор, что она часто допускает грамматические ошибки и начинает заново, что ее обучение потребовало героических усилий и что неясно, в какой степени собака на самом деле все это понимает.
[...]
+1. Йо, чуваки, оно уже болтает на нашем языке и даже пытается вставлять цитаты из классиков. Плевать на акцент, протираем глаза!