В DeepMind научили ИИ решать сложные задачи по программированию
Инженеры DeepMind — исследовательского подразделения Alphabet — рассказали о новых успехах ИИ-системы AlphaCode: она умеет генерировать код и решать задачи с конкурсов по программированию, где требуется применить критическое мышление и знание естественного языка.
Недостаток аналогичных существующих систем в том, что их решения к поставленным задачам не носят универсального характера, и система, обученная одному типу задач, с большой вероятностью не справится с задачей, если сильно изменить условия. Разработчики DeepMind применили иной подход: описание задачи является выражением того, что должен делать алгоритм, а решение — то же самое, изложенное на другом языке. Проблему разложили на две части: во-первых, ИИ должен понять суть задачи, а во-вторых, на основе своего внутреннего представления создать код.
Система обучалась на архиве кода GitHub размером более 700 Гб с комментариями на естественном языке, поясняющими его работу. После этого в DeepMind организовали внутренний чемпионат по программированию, материалы которого тоже «скормили» искусственному интеллекту. В них содержалась постановка задачи, работающий и неработающий код, а также тестовые примеры для его проверки.
В ходе корректировки системы разработчикам удалось добиться от неё отличной скорости и эффективности. AlphaCode смогла выступать в онлайн-чемпионатах с количеством участников от 5 тысяч на уровне программистов с опытом работы от нескольких месяцев до года, превзойдя в среднем 45,7% конкурсантов.
Такого результата удалось достичь благодаря автоматизированной проверке по 100 тысячам предлагаемых системой решений — при увеличении этого числа пропорционально росла доля правильных ответов. Но пропорционально же росла и ресурсоёмкость вычислительной системы: изначально для её обучения требовался объём энергии, в 16 раз превышающий годовую потребность средней американской семьи. Тем не менее учёные сделали вывод, что система действительно научилась работать, как было задумано, и предлагать корректные решения, а не случайные фрагменты кода «в надежде», что какой-то из них сработает.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.