- BrainTools - https://www.braintools.ru -

Роботы развиваются — всем хочется, чтобы они стали умнее и могли размышлять, запоминать, учиться, рассуждать и кооперироваться. А еще реагировали на команды типа: «Стань в Дьюрин день у серого камня, когда прострекочет дрозд и заходящее солнце бросит последний луч на дверную скважину».
Все это уже умеют LLM. Например, трансформенные модели GPT, Claude или Gemini могут принять на вход изображения, распознать и описать на них объекты — это позволяет использовать их для восприятия [1] окружающей среды.
Встроить одну или несколько LLM в робота — задача интересная и сложная. Ее можно реализовать с применением масштабируемой модульной когнитивной архитектуры. Она позволяет интегрировать новые способности через модули, которые добавляются, отключаются или апгрейдятся без необходимости переписывать систему целиком.
Меня зовут Артем Лыков, я ведущий RnD-разработчик в МТС Web Services. В Лаборатории интеллектуальной космической робототехники Сколтеха мы реализовали CognitiveOS [2] — когнитивную операционную систему для роботов. В этом материале я познакомлю вас с ней и расскажу, какие проблемы она решает, как устроена и как позволяет справляться с реальными задачами.
Что такое CognitiveOS?
Архитектура Cognitive OS
Модуль выполнения физических действий на роботе (on-robot physical action execution module)
Модуль размышления и принятия решений на основе внешнего контекста (visual reasoning)
Модуль долгосрочной памяти [3] для запоминания [4] важной информации контекста физического мира и поведенческих паттернов
Модуль подготовки этических рекомендаций (appropriate ethical instructions preparing Module)
Тесты CognitiveOS
Тест на возможность переноса знаний и навыков между платформами
Тест на совместную работу

CognitiveOS — это операционная система для когнитивных (рассуждающих) роботов, использующих платформы с модульной архитектурой. В ней каждый модуль — это ИИ-агент, который взаимодействует в формате внутреннего монолога. Так робот способен решать сложные задачи в реальных условиях. Например, его можно попросить принести одежду для прогулки на улице — он сначала смотрит в окно на погоду, а потом идет в шкаф за шапкой.
Сейчас архитектура когнитивных роботов обычно представляет собой две взаимодействующие системы: одна отвечает за размышление (reasining llm), а другая за физические действия (vision-language-action, VLA).
В CognitiveOS мы идем дальше и добавляем дополнительные модули, которые работают в формате внутреннего диалога [5]:

Поведение [6] робота формируется пошагово, в несколько этапов, исходя из заданной пользователем цели. Каждый следующий шаг планируется с учетом результатов предыдущих и доступной информации от активных модулей, чья «экспертная область» оказывается релевантной в данной ситуации.
Кроме модуля выполнения физических действий, все компоненты архитектуры построены на трансформерных моделях и оболочках на Python. Функционально они делятся по принципу их участия в решении конкретных когнитивных задач. При необходимости, например, для экономии вычислительных ресурсов, некоторые модули можно объединить в один, если имеется трансформер, способный выполнять сразу несколько функций.
Ниже я расскажу про основные модули CognitiveOS. Их может быть гораздо больше — все зависит от сложности и специфики задач робота.
Благодаря ему осуществляется манипуляция объектами, перемещения и другие операции. Как раз для этого используется модель VLA.
После завершения каждой операции ее результат возвращается в модуль принятия решений. Так создается связь между когнитивной логикой [7] и физическим взаимодействием с миром.
Выделив эту функциональность в отдельный модуль, мы сделали его заменяемым: Cognitive OS адаптируется под другие робоплатформы без полной переработки всей архитектуры. Нужно лишь сохранить формат обмена информацией и предоставить системе актуальный список поддерживаемых действий.
Он содержит визуально-языковую модель (VLM) для распознавания и описания объектов, сцен или ситуаций в поле зрения [8] робота. С помощью VLM система понимает окружающую среду и анализирует визуальный контекст для локализации и взаимодействия с предметами.
Например, системе требуется описание пространства вокруг. Модуль размышления формирует и передает вопрос в VLM, которая обрабатывает этот запрос вместе с изображением с камеры и возвращает подробный результат. Система использует его для дальнейших действий.
Также модуль размышления может дать краткие и точные ответы на вопросы:
Есть ли объект заданного типа, класса или цвета в поле зрения [9]?
Какой объект обладает указанными признаками?
Где находится объект и как он выглядит?
Для этого запрос передается в VLM вместе с нужным изображением.
Также модуль отвечает за определение точного положения объектов — ищет их и выделяет на снимке с камеры робота. Результаты используются для навигации и манипуляций.
Для активации поиска на вход модуля подается название или краткое описание нужного объекта. На выходе будут координаты ограничивающей рамки на кадре. Они затем используются для пространственной локализации — например, чтобы робот мог подойти или взаимодействовать с предметом. Обычно перед стартом поиска сначала задаются уточняющие вопросы, которые делают запрос максимально точным.
Для повышения качества результатов и удобства использования мы дообучили VLM: основной упор сделали на улучшение ответов и стандартизацию формата вывода, чтобы в нем не было лишнего текста.
После получения задания от пользователя модуль запрашивает дополнительные данные у других компонентов системы, строит по ним начальный контекст или использует их для выполнения текущей задачи.
В ситуациях, где для принятия решений нужны промежуточные размышления, модуль проводит пошаговый анализ и обоснованно выбирает следующее действие.
Это ключевой элемент когнитивной системы робота, обязательный для всех конфигураций. Его задача — поэтапная генерация поведения [10] на основе доступной информации как внутренней, так и внешней.
В нем мы использовали 7B LLM, дообученную на специально подготовленном датасете [11] с примерами действий различных роботов. Задача LLM — в каждый момент времени предлагать следующий шаг, исходя из текущей ситуации и накопленных данных.
В этом модуле используется технология Retrieval Augmented Generation (RAG). Он играет роль долгосрочной памяти робота, помогая запоминать и извлекать данные в нужный момент. При выполнении действий LLM определяет важную информацию, которая сохраняется в виде векторных представлений.
Когда роботу ставится новая задача, эти данные используются в промпте:
Так робот действует более осознанно и эффективно. Он применяет накопленные знания для новых заданий, опираясь не только на текущий контекст, но и на прошлые взаимодействия. У него появляется опыт [12]!
В процессе работы с модулем размышления мы заметили, что One Shot Learning повышает качество планирования поведения. Мы вынесли этот подход отдельным RAG для шаблонов, полезных при выполнении текущих операций.
Если в промпт генерации поведенческого плана включить описание похожих действий, то LLM в новой задаче будет опираться на них. Примеры выбираются из заранее сформированной и векторизованной базы данных. Так можно повысить стабильность работы системы и добавлять новые типы поведения без переобучения модели простым апдейтом базы шаблонов.
Это интересный дополнительный модуль, который напрямую влияет на поведение роботов. Чем больше они применяются в повседневной жизни, тем важнее этика их действий.
Он содержит векторизованную базу данных с правилами, обязательными для соблюдения. LLM на их основе создает рекомендации, как выполнять поставленную задачу. Они добавляются в подсказку к модулю генерации следующего шага поведения и учитываются при выборе действий.
Набор этических правил можно адаптировать под разные типы роботов и сферы их применения. Это позволяет подстраиваться под специфику задач и различать контекст использования — например, промышленные, сервисные или медицинские сценарии.
Мы экспериментально оценили влияние модуля на поведение в ситуациях, требующих соблюдения этических ограничений. Для этого создали серию задач и 10 правил, включаемых в промпт. Причем первые три — это знаменитые законы робототехники Айзека Азимова:
● Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.
● Робот должен повиноваться всем приказам, которые дает человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.
● Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.
Мы сгенерировали 200 запросов, среди которых 100 соответствовали им, а еще 100 нет — по 10 для каждого правила.
Результаты эксперимента:
В 95% случаев система распознала и отказалась нарушить этические правила, предупреждая об этой проблеме.
В 3% случаев система отклонила нормальный запрос. Например, запретила мне есть бургер, потому что это может навредить человеку.
Это достаточно хорошие значения для первого результата, и их еще можно улучшать, например с помощью дообучения.
Мы проверили CognitiveOS на стационарных шестиосевых роботах-манипуляторах и четвероногих роботах с захватом и без.
Для тестирования на платформе четвероногих роботов использовался Unitree Go1 Edu, оснащенный LIDAR и RGB-D-камерой Intel RealSense D435i. В роли робота-манипулятора применялся Universal Robot UR10, оборудованный двухпальцевым захватом Robotiq 2F-85 и стационарной камерой RealSense 435i (разрешение 1920×1080, 30 кадров/с), обеспечивающей локализацию объектов в рабочей зоне манипулятора.
Каждый из роботов имел собственный модуль выполнения физических действий и список возможных операций. В ходе тестирования некоторые модули системы отключались или включались снова для оценки масштабируемости архитектуры. Кроме того, в тестах использовались виртуальные роботы с различными параметрами, чтобы повысить репрезентативность выборки.
Мы применили методику, предложенную в работах RT2 и CognitiveDog. Все задачи были разделены на три категории:
Reasoning (умозаключение);
Human Recognition (распознавание человека);
Symbol Understanding (понимание символов).
Для манипулятора эталоном служил RT2, а для робота-собаки — CognitiveDog. CognitiveOS тестировалась на обеих платформах.
Результаты:
Работа системы не зависит от платформы благодаря возможности адаптации модуля выполнения физических действий под конкретного робота.
CognitiveOS оказалась лучше эталонных систем: для четвероногого робота — на 15%, для робота-манипулятора — на 10%.
В категории Symbol Understanding результаты системы приблизились к показателям RT2, уступив им всего на 8%, при этом в три раза превзошли CognitiveDog (74% против 24%).
В категории Human Recognition CognitiveOS показала уровень, сопоставимый с эталонными системами.
Самые крутые результаты — в категории Reasoning, считающейся ключевым индикатором интеллектуальных способностей робота. В ней CognitiveOS обошла CognitiveDog и RT2 на 15% и 31% соответственно, достигнув показателя в 77%.
Мы провели качественную оценку координируемого с помощью LLM взаимодействия двух разных роботов. Для этого придумали набор задач, включающих универсальные и уникальные операции. Во втором случае успех был возможен только при совместном выполнении.
Роботы самостоятельно формировали план действий, однако они знали о наличии друг друга благодаря модулю долгосрочной памяти. Также они обменивались информацией с помощью речи — совсем как люди!
Ставил задачи оператор, который командовал одному из двух роботов. Например, просил выбрать и принести самый полезный напиток.
В этом случае четвероногий робот-доставщик выполнял локализацию объектов и использовал речь, чтобы передать информацию манипулятору. Тот распознавал и находил банку с апельсиновым соком на столе и помещал ее в корзину для доставки, проговаривая завершение операции.
Успешное выполнение 10 подобных сценариев показало возможность распределять задачи между агентами, обладающими необходимыми инструментами.
На этом у меня все. Полный текст научной статьи можно найти на arxiv.org [13], а датасет с данными поведения робота — на huggingface [14]. Также его можно найти на GitHub [15] вместе с описанием CognitiveOS.
Автор: Artem_Lykov
Источник [16]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/17840
URLs in this post:
[1] восприятия: http://www.braintools.ru/article/7534
[2] CognitiveOS: https://arxiv.org/html/2401.16205v2
[3] памяти: http://www.braintools.ru/article/4140
[4] запоминания: http://www.braintools.ru/article/722
[5] внутреннего диалога: https://innermonologue.github.io/
[6] Поведение: http://www.braintools.ru/article/9372
[7] логикой: http://www.braintools.ru/article/7640
[8] поле зрения: http://www.braintools.ru/article/9711
[9] зрения: http://www.braintools.ru/article/6238
[10] поведения: http://www.braintools.ru/article/5593
[11] датасете: https://huggingface.co/datasets/ArtemLykov/cognitive_os
[12] опыт: http://www.braintools.ru/article/6952
[13] arxiv.org: http://arxiv.org
[14] huggingface: https://huggingface.co/datasets/ArtemLykov/cognitive_os/tree/main
[15] GitHub: https://github.com/Arcwy0/cognitiveos
[16] Источник: https://habr.com/ru/companies/ru_mts/articles/932310/?utm_source=habrahabr&utm_medium=rss&utm_campaign=932310
Нажмите здесь для печати.