마이크로소프트, ChatGPT를 드론과 로봇 제어로 확장한다.

마이크로소프트의 자율 시스템 로보틱스 그룹은 ChatGPT의 기능을 로보틱스로 확장하여 여러 플랫폼을 언어로 직관적으로 제어할 수 있게 되었다고 발표

언어가 가장 직관적인 의사표현 방법임에도 불구하고, 로봇을 제어하기 위해 손으로 쓴 코드에 크게 의존하고 있다. 마이크로소프트의 자율시스템 로보틱스 그룹 팀은 OpenAI의 새로운 AI 언어 모델 ‘ChatGPT’를 통해 이러한 현실을 바꾸고 인간과 로봇이 자연스럽게 대화할 수 있는 방법을 모색해왔다고 한다.

ChatGPT는 방대한 텍스트와 인간과의 대화 코퍼스로 훈련된 언어 모델로, 다양한 프롬프트와 질문에 대해 일관되고 문법적으로 올바른 응답을 생성할 수 있다. 이 연구의 목표는 ChatGPT가 텍스트 너머로 생각하고 물리적 세계에 대해 추론하여 로봇의 작업에 도움이 될 수 있는지 확인하는 것이다.

복잡한 프로그래밍 언어나 로봇 시스템의 세부 사항을 배울 필요 없이 사람들이 보다 쉽게 로봇과 상호작용할 수 있도록 하겠다는 것이다. 여기서 중요한 것은 물리 법칙과 동작 환경의 맥락, 로봇의 물리적 동작이 세상의 상태를 어떻게 변화시키는지를 고려해 문제를 푸는 방법을 ChatGPT에 가르치는 것이라고 한다.

ChatGPT는 그 자체로 많은 일을 할 수 있는 것으로 밝혀졌지만, 여전히 약간의 도움이 필요하다. 이 팀의 기술 논문은 언어 모델을 로봇 공학 문제를 해결하는 데 사용할 수 있는 일련의 설계 원칙을 설명한다. 여기에는 특별한 프롬프트 구조, 높은 수준의 API, 텍스트를 통한 인간 피드백 등이 포함되지만 이에 국한되지는 않는다고 한다. 연구팀은 이번 연구가 로봇 시스템 개발 방법의 변화의 시작일 뿐이라고 생각하며, 다른 연구자들이 이 흥미로운 분야에 뛰어들 수 있는 계기가 되길 바란다고 말했다.

오늘날 로봇공학의 과제와 ChatGPT의 가능성
현재의 로봇공학 파이프라인은 엔지니어와 기술 사용자가 작업의 요구사항을 시스템의 코드로 변환하는 것으로 시작된다. 엔지니어는 로봇의 동작을 수정하기 위해 새로운 코드와 사양을 작성해야 하고, 이 과정에서 반복적으로 반복되는 과정을 거치게 된다. 이 프로세스는 시간이 오래 걸리고(사용자가 낮은 수준의 코드를 작성해야 함), 비용이 많이 들고(로봇 공학에 대한 깊은 지식을 가진 숙련된 사용자가 필요함), 비효율적이다(사물을 올바르게 작동시키기 위해 여러 번의 상호 작용이 필요함).


ChatGPT를 이용한 로봇 공학: 설계 원리
LLM의 프롬프트는 매우 경험적인 과학이다. 연구팀은 시행착오 끝에 로봇 작업의 프롬프트를 작성하기 위한 방법론과 설계 원칙을 구축했다.

먼저, 높은 수준의 로봇 API 또는 함수 라이브러리 세트를 정의한다. 이 라이브러리는 특정 로봇에 특화된 것으로, 로봇의 제어 스택이나 인식 라이브러리에서 얻은 기존 저수준 구현에 매핑해야 하며, ChatGPT가 동작을 추론할 수 있도록 고수준 API에 설명적인 이름을 사용하는 것이 매우 중요하다고 한다.

다음으로 ChatGPT의 프롬프트를 만들어 태스크의 목표를 설명하고, 고수준 라이브러리의 어떤 함수를 사용할 수 있는지를 명시한다. 프롬프트에는 태스크의 제약 조건이나 ChatGPT가 응답을 형성하는 방법(특정 코딩 언어, 보조 구문 분석 요소의 사용)에 대한 정보도 포함될 수 있다.

사용자는 ChatGPT의 코드 출력을 평가하기 위해 직접 검사하거나 시뮬레이터를 사용하여 루프에 머물러 있다. 필요한 경우, 사용자는 자연어를 사용하여 답변의 품질과 안전성에 대해 ChatGPT에 피드백을 제공한다. 사용자가 만족할 만한 답을 얻으면 최종 코드를 로봇에 배포할 수 있다.

그렇다면 ChatGPT로 무엇을 할 수 있을까?
마이크로소프트 팀이 보유한 코드 Repository에서 몇 가지 예시를 소개한다.

제로샷 작업 계획
ChatGPT에 실제 드론을 제어하는 기능을 부여한 결과, 기술자가 아닌 사용자와 로봇 간의 언어 기반 인터페이스로서 매우 직관적이라는 것을 알 수 있었고, ChatGPT는 사용자의 지시가 모호한 경우 설명을 요구하거나, 선반을 육안으로 확인하기 위한 지그재그 패턴 등 복잡한 코드 구조를 드론에게 설명하기도 했다. 심지어 셀카 찍는 방법까지 생각해주었다고 한다.

또한 마이크로소프트 에어심(Microsoft AirSim) 시뮬레이터로 산업 검사 시나리오를 시뮬레이션하는 데도 ChatGPT를 사용했다. 이 모델은 사용자의 높은 수준의 의도와 기하학적 단서를 효과적으로 분석하여 드론을 정확하게 제어할 수 있었다고 한다.

루프 상의 사용자 : 복잡한 작업을 위해 대화가 필요한 경우
다음으로 로봇 팔을 이용한 조작 시나리오에서 ChatGPT를 사용했다. 대화형 피드백을 통해 원래 제공된 API를 ChatGPT가 자체적으로 코딩한 더 복잡한 고수준의 함수로 합성하는 방법을 모델에게 가르쳤다. 커리큘럼에 기반한 전략을 통해 모델은 학습한 기술을 논리적으로 연결해 블록을 쌓는 등의 조작을 할 수 있게 됐다.

또한, ‘마이크로소프트 로고를 블록으로 만들기’ 과제에서는 문자와 물리학의 영역을 연결하는 사례를 보여주었다. 이 모델은 내부 지식 기반에서 로고를 불러올 수 있었을 뿐만 아니라, 로고를 (SVG 코드로) ‘그릴 수 있었고, 나아가 위의 학습 기술을 통해 기존의 로봇 동작이 그 물리적 형태를 구성할 수 있다는 것을 이해할 수 있었다고 한다.

그런 다음 ChatGPT에게 드론이 장애물에 부딪히지 않고 공간상의 목표에 도달할 수 있는 알고리즘을 작성하라고 지시했다. 이 드론에 전방에 거리 센서가 있다는 것을 모델에게 알려주자, ChatGPT는 곧바로 알고리즘의 주요 구성 요소 대부분을 코딩했다. 이 작업은 인간과의 대화가 필요했지만, ChatGPT는 언어적 피드백만으로 코드를 국부적으로 개선하는 능력을 보여주었다.

지각과 행동의 루프 : 세상을 느끼고 행동하는 로봇
무언가를 하기(액션) 전에 세상을 느끼는(퍼셉션) 능력은 모든 로보틱스 시스템의 기본이다. 그래서 ChatGPT에게 이 개념을 이해시키고, 사용자가 지정한 물체를 찾을 때까지 환경을 탐색하도록 했다. 그리고 물체 감지, 물체 거리 등의 API에 접근하게 하여 생성된 코드가 인식과 행동의 루프를 잘 구현하고 있는지 확인했다.

실험적 특징으로는 ChatGPT가 센서의 피드백을 기반으로 로봇이 나아가야 할 위치를 실시간으로 결정할 수 있는지를 평가하기 위해 추가 실험을 진행했다고 한다(ChatGPT가 이러한 결정을 내리는 코드 루프를 생성하는 것과는 대조적이다). 흥미롭게도, 각 단계의 카메라 이미지에 대한 텍스트 설명을 채팅에 공급할 수 있다는 것을 검증하여, 모델이 로봇이 특정 물체에 도달할 때까지 어떻게 제어할 수 있는지 파악할 수 있었다고 한다.

LLM+Robotics 연구를 위한 공동 오픈소스 도구 ‘PromptCraft’
마이크로소프트에 따르면, 로봇 작업을 위한 ChatGPT와 같은 LLM의 성공에는 좋은 프롬프트 엔지니어링이 필수적이다. 안타깝게도 프롬프트는 경험과학이며, 이 분야의 연구자와 애호가들에게 도움이 되는 좋은 예시(및 나쁜 예시)를 가진 포괄적이고 접근 가능한 리소스가 부족하다고 한다. 이 격차를 해소하기 위해 연구팀은 누구나 다른 로봇공학 카테고리의 프롬프트 전략 사례를 공유할 수 있는 공동 오픈소스 플랫폼인 프롬프트 크래프트(PromptCraft)를 소개했다. 이 연구에서 사용한 프롬프트와 대화는 모두 공개한다고 밝혔다.

프롬프트 디자인뿐만 아니라 사용자가 ChatGPT에서 생성한 알고리즘을 테스트할 수 있도록 여러 로봇 시뮬레이터와 인터페이스도 제공할 방침이다. 그 시작으로 ChatGPT를 통합한 AirSim 환경도 공개해 누구나 이러한 아이디어를 시작할 수 있도록 하고 있다. 새로운 시뮬레이터나 인터페이스 제공도 환영한다고 밝혔다.

로봇공학을 실험실에서 세상으로
이 팀은 로봇공학을 더 많은 사람들의 손에 닿게 하기 위해 이러한 기술을 출시하게 되어 기쁘다고 한다. 언어 기반 로봇 제어가 로봇공학을 과학 연구소에서 일상적인 사용자의 손에 닿을 수 있도록 하는 기초가 될 것이라고 믿고 있다고 한다.

다만, ChatGPT의 결과물은 면밀한 분석 없이 로봇에 직접 도입할 의도가 아니라는 점을 강조했다. 실생활에 도입하기 전에 시뮬레이션을 통해 알고리즘을 평가하고, 항상 필요한 안전 조치를 취할 것을 권장하고 있다. 연구팀은 이번 연구가 로봇 공학 영역에서 작동하는 대규모 언어 모델의 교차점에서 가능한 일의 일부에 불과하다며, 향후 많은 연구에 자극을 줄 것으로 기대한다고 밝혔다.