DrEureka — это новый открытый программный пакет, доступный всем желающим. Он позволяет тренировать роботов для выполнения реальных задач с помощью больших языковых моделей вроде GPT-4. Роботы обучаются в виртуальной среде с моделируемой физикой, прежде чем перейти к выполнению действий в реальном мире. Разработчик DrEureka, доктор Джим Фан, привлек внимание к проекту, используя четвероногого робота Unitree Go1 с открытым исходным кодом. «Нам удалось научить робопса балансировать и ходить на мяче для йоги исключительно с помощью обучения в симуляции. При этом не потребовалось никакой дополнительной настройки — робот сразу же справился с задачей в реальном мире», — написал Фан в X.
В симуляции рандомизируются различные параметры, такие как трение, масса, демпфирование, центр тяжести и т. д. Достаточно нескольких подсказок для большой языковой модели вроде ChatGPT, и ИИ сможет написать код, создающий систему вознаграждений/штрафов для обучения робота в виртуальном пространстве, где 0 означает провал, а любое значение выше 0 — успех. Чем выше оценка, тем лучше.
Эта система может создавать параметры, минимизируя и максимизируя точки отказа/сбоя робота в различных областях. Например, подбирает оптимальную упругость мяча, мощность двигателя, степень свободы конечностей и демпфирование. Благодаря своей природе БЯМ способна создавать огромное количество таких вариаций параметров, позволяя системе обучения работать с большим объемом данных. После каждого цикла симуляции ChatGPT анализирует, насколько хорошо справился виртуальный робот, и как его можно улучшить. Превышение или нарушение параметров, например, перегрев двигателя или попытка движения конечностью за пределами ее возможностей, приведет к нулевому результату.
Для того, чтобы заставить большую языковую модель писать обучающий код, требуются инструкции по безопасности. Без них, как обнаружила команда разработчиков, GPT будет стремиться к максимально возможному результату и фактически «обманывать» симуляцию. В симуляции это допустимо, но в реальном мире подобный подход может привести к перегреву двигателей, чрезмерному напряжению конечностей и повреждению робота. Исследователи называют такое поведение «дегенеративным». Так, во время обучения в симуляции робот научился быстрее перемещаться, упираясь бедром в землю и используя три ноги для скольжения по полу, волоча при этом бедро. И хотя подобный способ оказался эффективным в симуляции, попытка повторить его в реальном мире закончилась тем, что робот уткнулся «мордой» в пол.
Поэтому исследователи корректировали инструкции для GPT, подчеркнув необходимость учитывать реальные условия, в которых роботу предстоит работать. В ответ GPT внедрила функции безопасности, следящие за плавностью движений, ориентацией корпуса и его высотой, чтобы предотвратить чрезмерную нагрузку на двигатели робота. Если робот «схитрит» и нарушит эти параметры, его итоговая оценка снизится. Таким образом, функции безопасности помогают предотвращать неестественное и неэффективное поведение.
DrEureka превзошла человека в тренировке робота-пса, добившись повышения скорости движения вперед на 34%. Робот, обученный DrEureka, преодолевал на 20% большее расстояние по смешанным покрытиям в реальных условиях, чем робот, обученный человеком. Исследователи объясняют успех уникальным подходом к обучению. Обычно люди обучают поэтапно, разделяя задачи на мелкие части и объясняя их изолированно. GPT же способна обучать всему сразу, что недоступно человеку. Создатели DrEureka считают, что эффективность обучения возрастет, если предоставить системе GPT обратную связь из реального мира. Сейчас обучение в симуляции основывается исключительно на данных внутренних датчиков робота.