В мире автоматизации осталось решить бесчисленное множество больших проблем, и обучение роботов находится где-то далеко впереди. Хотя это правда, что люди довольно хорошо научились программировать системы для конкретных задач, остается большой и открытый вопрос: а что потом?
Новое исследование, продемонстрированное сегодня утром на мероприятии Google по искусственному интеллекту в Нью-Йорке, предлагает идею позволить роботизированным системам эффективно писать свой собственный код. Концепция предполагает избавить разработчиков-людей от необходимости входить и перепрограммировать вещи каждый раз по мере появления новой информации.
В компании отмечают, что уже существующие исследования и обученные модели могут быть эффективными при реализации концепции. Вся эта работа может оказаться основополагающей для разработки систем, способных продолжать генерировать собственный код на основе объектов и сценариев, встречающихся в реальном мире. Новая работа, представленная сегодня — «Код как политика» (CaP).
Оказывается, языковые модели последнего поколения, такие как PaLM, способны к сложным рассуждениям и были обучены на миллионах строк кода. Учитывая инструкции на естественном языке, современные языковые модели хорошо справляются с написанием не только общего кода, но, как мы обнаружили, кода, который также может управлять действиями робота. При наличии нескольких примеров инструкций (отформатированных как комментарии) в сочетании с соответствующим кодом (через контекстное обучение) языковые модели могут принимать новые инструкции и автономно генерировать новый код, который перекомпонует вызовы API, синтезирует новые функции и выражает циклы обратной связи для сборки новых моделей поведения во время выполнения.
Стажер-исследователь Google Джеки Лян и научный сотрудник по робототехнике Энди Цзэн отмечают в своем блоге: «В CaP мы предлагаем использовать языковые модели для непосредственного написания кода робота с помощью нескольких подсказок. Наши эксперименты показывают, что такой подход приводит к улучшению обобщения и производительности задач по сравнению с непосредственным изучением задач робота и выводом действий на естественном языке. CaP позволяет одной системе выполнять множество сложных и разнообразных роботизированных задач без специального обучения».
Система также использует сторонние библиотеки и API для наилучшего создания кода, подходящего для конкретного сценария, а также поддерживает языки и эмодзи. Информация, доступная в этих API, является одним из существующих ограничений в настоящее время. Исследователи отмечают: «Эти ограничения указывают на возможности для будущей работы, включая расширение моделей визуального языка для описания низкоуровневого поведения роботов (например, траекторий) или объединение CaP с алгоритмами исследования, которые могут автономно добавляться к набору управляющих примитивов».
В рамках сегодняшнего объявления Google выпустил открытую версию кода на GitHub, чтобы дальше опираться в нее в исследованиях.