Исследователи из Google Robotics и Everyday Robots разработали технологию SayCan, призванную объединить возможности больших языковых моделей и реальных роботов. Популярный ИИ-исследователь Янник Кильхер подробно разобрал архитектуру этой системы, объяснив, как заземлить абстрактные знания нейросетей в физические ограничения робототехники. Предложенный подход позволяет машинам строить реалистичные планы действий, исходя из того, что они действительно способны выполнить в текущий момент.
🤖 Восстание машин откладывается: когда робот заставляет человека убирать 0:00
Демонстрация работы робота под управлением новой системы начинается с забавного, но показательного сценария. На столе разлита газировка, и оператор просит машину: «Я пролил колу на стол. Как бы ты выбросил банку и принес мне что-нибудь для уборки?». Робот начинает последовательно выстраивать и выполнять план: находит банку, поднимает её и везет к мусорному ведру. Примечательно, что робот аккуратно ставит банку рядом с ведром, а не бросает внутрь — Янник Кильхер в шутку отмечает, что робот заботится об экологии и сохраняет жесткую тару для специализированной переработки.
Затем машина находит губку, берет её и... вместо того чтобы вытереть стол самостоятельно, просто отдает её человеку. По ироничному замечанию ведущего, именно так и выглядит наше технологическое будущее: вопреки ожиданиям, что роботы заберут себе всю грязную работу, они, скорее, заставят людей убирать за собой самостоятельно.
За этим шутливым примером скрывается серьезное научное исследование под названием «Do As I Can, Not As I Say: Grounding Language in Robotic Affordances» (SayCan), подготовленное специалистами из Google Robotics и Everyday Robots. Проект решает фундаментальную задачу — связывает колоссальный объем знаний, заложенный в больших языковых моделях (LLM), с практическими навыками роботов, действующих в реальном физическом мире. В робототехнике этот подход называют воплощенным интеллектом (embodied intelligence).
🔍 Проблема «оторванности» ИИ от реальности и спонсорский инсайт 3:17
Прежде чем углубиться в архитектуру SayCan, Янник Кильхер делится личным опытом поиска качественной научной литературы. В условиях, когда каждый месяц выходят тысячи новых публикаций по машинному обучению, неоценимую помощь оказывает платформа Zetta Alpha — поисковый и рекомендательный движок для ученых. Система использует нейросетевой поиск для подбора семантически близких статей, агрегирует упоминания в соцсетях и предлагает удобный PDF-ридер с возможностью искать другие публикации на основе выделенных заметок. Для студентов и академических исследователей Pro-версия платформы бесплатна, а остальные пользователи могут получить скидку 20% по промокоду Yannick.
Возвращаясь к теме исследования, Янник Кильхер объясняет, почему стандартные языковые модели не подходят для прямого управления роботами. Если попросить современную текстовую нейросеть (например, GPT-3, Lambda или Flan) составить план для ликвидации последствий пролитого напитка, она выдаст абсолютно логичный и красивый текст. Модель может, к примеру, авторитетно предложить использовать пылесос. Однако текстовый ИИ действует в отрыве от реальности:
- Он не знает, присутствует ли пылесос в данной комнате в текущий момент.
- Он не учитывает, способен ли конкретный робот физически управлять этим прибором, включать его в розетку и перемещать.
Обычный промпт-инжиниринг (попытки прописать все ограничения словами в запросе) решает проблему лишь частично. По мнению авторов статьи, необходимо физическое заземление (real-world grounding) через набор заранее натренированных базовых навыков. Система должна рассматривать только те действия, которые одновременно уместны по смыслу и физически выполнимы в текущих условиях. Языковая модель здесь отвечает за общую семантическую логику, а сам робот — за оценку технической реализуемости задачи.
🧠 Архитектура SayCan: разделение труда между логикой и возможностями 7:56
В основе подхода SayCan лежит разделение системы на высокоуровневый планировщик и банк низкоуровневых навыков робота. Робот оснащен репертуаром базовых «атомарных действий» (atomic behaviors), отвечающих за простейшее восприятие и контроль среды.
К таким действиям относятся простые изолированные операции:
- Найти конкретный предмет (например, яблоко или банку).
- Поднять объект с поверхности.
- Переместиться к определенной точке (к столу, прилавку или мусору).
Янник Кильхер подчеркивает, что происхождение этих навыков не имеет значения: они могут быть натренированы с помощью обучения с подкреплением (RL), обучения по демонстрациям (imitation learning) или даже жестко закодированы вручную. Главное — они обучаются изолированно и могут гибко сцепляться в длинные цепочки.
Основное инновационное решение SayCan заключается в том, как именно используется языковая модель. Вместо того чтобы заставлять LLM генерировать произвольный текст, который затем сложно сопоставить с командами робота, разработчики заставили её оценивать вероятность (likelihood) готовых фраз. Модели подается вводный текст (например: «Я пролил напиток. Я собираюсь...»), и ИИ вычисляет вероятность для каждой из доступных роботу атомарных команд. Сравнивая эти показатели, система определяет, какое именно действие из репертуара робота кажется языковой модели наиболее контекстуально оправданным и полезным для достижения цели.
👁️ Функция аффорданса: как робот видит свои шансы на успех 13:23
Знаний языковой модели о мире недостаточно, ведь она «слепа» к текущему состоянию комнаты. Чтобы сбалансировать её абстрактную логику, каждому атомарному навыку робота сопоставляется так называемая функция аффорданса (affordance function), которая чаще всего реализуется через функцию ценности (value function) в алгоритмах обучения с подкреплением.
В отличие от языковой модели, алгоритм низкоуровневого управления роботом непрерывно получает на вход реальное изображение с камер. Функция ценности способна мгновенно оценить картинку и выдать числовой балл — вероятность того, что конкретный навык завершится успехом в текущей конфигурации пространства.
Ведущий приводит наглядный пример: если на столе лежат яблоко и банка энергетика Red Bull, функции ценности для команд «поднять яблоко» или «поднять банку» выдадут высокие баллы. Но если в поле зрения нет бутылки с водой, функция ценности для команды «поднять бутылку» выдаст нулевой или крайне низкий результат, сигнализируя о невозможности выполнения операции.
В итоге SayCan просто перемножает два полученных числовых значения: вероятность от языковой модели (насколько шаг приближает к цели) и вероятность от функции ценности (насколько этот шаг физически выполним прямо сейчас). Робот выбирает то атомарное действие, которое представляет собой идеальный компромисс между теоретической пользой и практической реализуемости.
🔄 Пошаговый баланс: пример с яблоком 17:46
Чтобы продемонстрировать этот математический компромисс в действии, Янник Кильхер разбирает пример с запросом: «Как бы ты положил яблоко на стол?».
При анализе этой фразы языковая модель выдает наивысший балл команде «взять яблоко». Логика ИИ понятна: чтобы положить яблоко, его сначала нужно взять. Однако на исходном изобрачении с камеры робота никакого яблока не видно. В этот момент вмешивается функция ценности, которая оценивает команду «взять яблоко» как невыполнимую и сильно занижает её итоговый рейтинг. Одновременно с этим команда «найти яблоко» получает высокий балл от функции ценности (поскольку робот всегда может начать поиск) и умеренно высокий балл от LLM.
В результате перемножения скоров побеждает промежуточное действие — «найти яблоко». Робот запускает соответствующий физический алгоритм, перемещается, находит объект, и картинка с камеры обновляется. Процесс запускается заново: выполненный шаг дописывается в текстовый промпт для LLM, а обновленное изображение подается на вход функциям ценности. Теперь, когда яблоко находится прямо перед роботом, команда «взять яблоко» получает максимальные оценки от обеих систем и уходит на исполнение. Цикл повторяется до полного завершения комплексной задачи.
⚖️ Критика, ограничения и скрытая сила модульности 20:26
Янник Кильхер отмечает колоссальный масштаб инженерной работы, проделанной Google и Everyday Robots при сборе данных с участием людей-операторов и тестировании системы на реальных кухнях. Тем не менее, ведущий выделяет несколько серьезных уязвимостей текущей архитектуры, которые он лично обсудил с авторами статьи:
- Текстовая зависимость: Поскольку LLM ранжирует текстовые формулировки, итоговый результат сильно зависит от конкретных слов. Более длинные описания команд автоматически получают меньшую вероятность из-за большего числа токенов. Если у робота появятся близкие по смыслу или написанию команды, модель может легко запутаться.
- Отсутствие обратной связи при сбоях: Модель изначально предполагает, что запущенное низкоуровневое действие обязательно завершится успехом. Если робот попытается поднять яблоко, но выронит его, текстовый промпт уже зафиксирует выполнение этого шага. Система может продолжить выполнять план, несмотря на фактическую неудачу (хотя теоретически функция ценности снова укажет на наличие яблока на полу, языковая модель неохотно повторяет уже «сделанные» шаги).
- Аппаратные ограничения: Продемонстрированные видеоролики ускорены в 10 раз. В реальности роботы передвигаются и принимают решения крайне медленно, а их манипуляторы не способны на сложные физические действия вроде полноценного протирания стола губкой.
Несмотря на критику, Янник Кильхер выражает искреннее восхищение ключевым преимуществом SayCan — его абсолютной модульностью. Языковая модель полностью «заморожена» (frozen), её не нужно переобучать под физические параметры робота. В то же время каждый навык из репертуара робота тренируется изолированно от остальных.
Чтобы добавить роботу новое умение, разработчикам достаточно загрузить для него алгоритм управления и функцию ценности. Никакие другие элементы перестраивать не придется. Это позволяет, например, отправлять клиентам готовых роботов, а затем удаленно обновлять саму языковую модель для улучшения планирования или просто догружать новые изолированные навыки, созданные программистами. Ведущий уверен, что идея объединения высокоуровневых знаний ИИ с изолированными модулями внешних инструментов окажется невероятно мощной далеко за пределами одной лишь робототехники.
В практических тестах SayCan продеманстрировал впечатляющие для реального мира результаты: роботы смогли успешно выстраивать и удерживать цепочки из рекордных 17 атомарных действий подряд. Средний показатель успешности планирования составил порядка 70%, а показатель успешного физического выполнения задуманного плана — около 61%.