Code as Policies: ИИ-робот Google AI програмирует сам себя

Написание чистого и рабочего кода – это непростая задача. Даже сравнительно несложные языки программирования требуют от автора чёткого понимания специфики синтаксиса и доступных инструментов. Программирование робота зачастую подразумевает необходимость создания кода с многослойной архитектурой: для обнаружения объектов в пространстве, для задействования актуаторов и движения роботизированных конечностей, выполнения определённых задач и т. п. Если пользователь не знаком с языком, который использовался для программирования конкретного робота, будет весьма сложно заставить устройство выполнить даже простейшие задачи. Робототехники Google AI разработали оригинальный метод решения этой проблемы, создав робота, который самостоятельно себя программирует, следуя командам, заданным на естественном языке. Это возможно благодаря языковой модели CaP – Code as Policies.

Code as Policies: ИИ-робот Google AI програмирует сам себя
Charlotte Hu

Code as Policies представляет собой предназначенную для программирования языковую модель, разработанную на базе представленной весной 2022 фирменной языковой модели Google AI Pathways Language Model (PaLM), способной рассуждать на различные темы и объяснять шутки. CaP умеет распознавать инструкции, предоставленные в виде естественных печатных команд, и конвертировать их в понятный роботу код. Другим словами, Code as Policies избавляет пользователя от необходимости разбираться в файлах конфигурации и менять условный «block_target_color» с «#FF0000» на «#FFFF00», чтобы заставить робота поднять жёлтый кубик вместо красного. Разработчики натренировали модель, предоставив ей набор примеров инструкций в форме комментариев к действующему коду и соответствующие им коды. Таким образом, ИИ научился переводить новые инструкции в автономно сгенерированный код и сопоставлять новые функции с соответствующими компонентами, необходимыми для выполнения задачи.

Pathways Language Model (PaLM) объясняет шутку / Google AI

Чтобы модель Code as Policies могла генерировать код для специфических задач, разработчики предоставили ей «подсказки» в виде готовых API и прочих инструментов. CaP использует методику иерархического программирования, определяя новые функции рекурсивно. Проще говоря, получив однажды определённый набор инструкций, система генерирует код, который она позже сможет использовать для выполнения аналогичных инструкций. Модель постепенно строит собственную динамическую базу кода, формируя библиотеки для различных сценариев. Кроме того, в зависимости от языка программирования, выбранного для тренировки, ИИ может использовать свойственные ему логику и синтаксис, а также обращаться к общественно доступным библиотекам кода для расширения функционала. По словам разработчиков, CaP умеет превращать нечёткие команды вроде «faster» или «to the left» в конкретные числовые значения, необходимые для выполнения задачи. И наконец, поскольку при построении модели используется естественный язык, она понимает различные языки и даже эмоджи.

Code as Policies: ИИ-робот Google AI програмирует сам себя
Google AI

Разработчики Google AI признают, что возможности модели Pathways Language Model, а соответственно, и Code as Policies в понимании естественного языка не безграничны. Если контекст инструкции или указанные в ней параметры ей не знакомы, она не сможет сгенерировать соответствующий код. К тому же пока что CaP не умеет генерировать код для сложных действий с большим количеством параметров. Также стоит отметить, что взаимодействие подобной модели с роботом – рискованное дело: давая роботу «свободу» в генерировании собственного кода, мы создаём Skynet «на минималках». Если робот решит, что лучший способ выполнить заданную инструкцию – вытянуть роботизированную руку вперёд и что есть силы крутиться вокруг собственной оси, то людям поблизости может не поздоровиться.

Впрочем, если заранее позаботиться о безопасности всех причастных, CaP – это невероятно интересный и перспективный инструмент. Когда речь идёт о программировании роботов, одной из самых сложных задач является генерализация навыков. Если научить робо-руку играть в настольный теннис, она не сможет применить выученный навык для игры в большой теннис. Хотя учёным предстоит ещё немало работы по развитию Code as Policies, даже на начальных этапах развития данная модель позволяет роботу выполнять достаточно сложные команды без ориентированного на конкретные задачи обучения. Её создатели верят, что в будущем CaP или подобные языковые модели программирования сделают реальной возможность автономного рекурсивного обучения машин, и, условно говоря, знакомый с настольным теннисом робот сможет использовать имеющиеся «знания», чтобы освоить большой теннис.

Lennart Schneider / Unsplash
Поделиться в соцсетях

Добавить комментарий