책 커버 표지
니케이로보틱스_2022/10_구글의 놀라운 로봇 기술
  • 저자 : 日経BP社
  • 발행일 : 20220910
  • 페이지수/크기 : 45page/28cm

요약

Nikkei Robotics_22.10 Sexy Technology (p3-12)

구글의 놀라운 로봇 기술
대규모 언어 모델을 로봇 신체를 통해 그라운딩

미국 구글에서 눈여겨볼 만한 ‘대단한’ 로봇 기술이 등장했다. 구글이 자랑하는 로봇 전용 기계학습 기술 영역에서 이룬 성과지만, 지금까지 점진적으로 진화해 온 강화학습이나 모방학습과 같은 범주의 기술이 아니다. 기존 틀에 그치는 것이 아니라 가정이나 오피스에서 사용할 수 있는 범용 서비스 로봇의 실현을 위해 크게 발전한 기술이다. 

극미한 미크로한 요소 기술이라기 보다 이러한 범용 로봇을 실현하기 위한 매크로한 소프트웨어 아키텍처 면에서 향후 혁신의 맹아가 될 성과를 이번에 선보였다. 로봇 기술자라면 결코 무시할 수 없는 성과이다.

구글의 로봇연구부문 및 ‘Everyday Robots’이라는 조직이 개발했다. Everyday Robots는 미국 알파벳(구글의 모회사) 산하의 기초연구조직 X Development에서 발족한 프로젝트로, 구글이 오랫동안 전개해 온 로봇 전용 기계학습 기술 등을 실제 사회에서 응용할 수 있도록 하드웨어와 소프트웨어 양면에서 계속해서 모색해 왔다. 

2021년 11월에는 독립적인 도메인 웹사이트를 개설하면서 ‘프로젝트’에서 벗어났다. 스핀아웃을 위해 100대 이상의 시작 로봇을 구글의 여러 캠퍼스에 전개하고, 오피스 안, 사원 식당 등 실제 환경에서 테스트를 했다.

X Development의 로봇 프로젝트에서는 산업용 로봇 전용 AI를 전개하는 미국 Intrinsic이 21년에 먼저 스핀아웃해 독립한 사업회사로서 이미 활동을 시작했지만 Everyday Robots은 아직 그 단계는 아니다. 지금도 X Development 사내 조직에 가깝다. 

그 활동은 지금까지 베일에 싸여 있었다. 강화학습 기술 등을 사용해 오피스 내에서 나오는 쓰레기 분리 작업 등에 이동 매니퓰레이터형 로봇을 적용한다는 정보는 나왔지만 기술의 상세 내용은 전혀 공개되지 않았다.

강화학습 기술이나 모방학습 기술은 심층학습이 발흥한 이래, 이론 면에서도 성능 면에서도 진화를 이루었다고는 하지만 그것 만으로는 가정 내, 오피스 내에서 필요한 복잡한 태스크를 완수하기에는 충분하지 못하다. 

그런 가운데 왜 X사는 Everyday Robots를 연구소 내 프로젝트에서 150명의스태프가 있는 더 큰 조직으로 승격시켰을까? 이번에 Everyday Robots와 구글이 발표한 기술이 그런 결단을 뒷받침하는 하나의 근거가 됐을 것으로 보인다.

구글이 이번 기술의 착상을 얻고 구체적인 개발에 착수한 것은 21년 1월 무렵이다. 같은 해 11월 무렵까지는 기술의 효과를 실증할 수 있는 성과가 정리되었다. 이 타이밍은 X사가 Everyday Robots의 승격을 선언한 타이밍과 일치한다. 

기술로서는 아직 초기 단계로, 아직 조잡한 면은 남아 있지만 앞으로의 스케일성이나 계속적인 발전이 기대되는 유망 기술이라고 말할 수 있을 것이다. 이 스케일성이라는 것은 로봇 연구에서 자주 보는 ‘중장기 자의적인 희망적 관측’이 아니라 명확한 근거가 있는 스케일성을 말한다.

-- Capacity를 어떻게 살릴 것인가? --
구글과 Everyday Robots는 무엇을 성취했을까? 최대 포인트는 1,000억 파라미터가 넘는 대규모 언어 모델을 로봇 분야에서 어떻게 활용하면 좋을지 그 방향성을 찾아냈다는 점이다. 언어 모델을 활용한다고는 해도 사람과의 대화 응답에 사용하는 것은 아니다. 로봇의 제어, 동작 생성에 사용한다.

자연언어 처리를 위해 생겨난 대규모 언어 모델(이하, LLM(Large Language Model)으로 표기)을 왜 분야가 전혀 다른 로봇 동작 생성에 사용하려는 것일까? 그것은 방대한 파라미터 수를 자랑하는 LLM의 능력, 용량(Capacity)에 대한 막연한 기대가 있기 때문이다.

2020년에 세계에 충격을 던진 ‘GPT-3’가 등장한 이래 LLM은 착실하게 그 성능을 향상시켜 왔다. 뉴럴 네트워크의 파라미터 수는 GPT-3에서는 1,750억이었다. GPT-3의 성과가 공개되자 전 세계에서 규모 확대 경쟁이 벌어졌고, 지금은 1조개가 넘는 모델도 등장했다. 

한편, 현재의 로봇 전용 강화학습이나 모방학습에서는 비교적 얕은 뉴럴 네트워크를 방책(제어기)으로 사용하고 있고, 그 파라미터 수는 1억에도 미치지 못한다. 압도적인 규모 차이가 있다. 

연구자들은 막대한 지식 용량을 갖춘 LLM의 잠재 능력을 로봇 제어 영역에서도 활용할 수 없을까, 생각하기 시작했다. 어떻게 하면 LLM을 로봇의 동작 생성에 응용할 수 있을까? 그 대답은 명백하지 않지만 다양한 각도, 관점에서 모색을 시작했다.

예를 들면, 처음에 나온 것이 본지가 21년 9월호에서 소개한 ‘Decision Transformer(DT)’이다. LLM을 단순하게 강화학습의 방책에 사용하겠다는 것이다. 로봇의 관절 각도 등의 상태량과 본보기가 되는 행동, 보수를 시계열로 하여, 텍스트(토큰 계열)를 학습시키는 영역에서 LLM에 이 시계열을 학습시키려는 것이다. 

로봇 연구자라면 누구나가 생각할 수 있는 스트레이트한 응용 방법이라고 할 수 있다. DT는 오프라인 강화학습의 영역에서 기존 방법을 뛰어넘는, 그 나름대로 좋은 결과를 가져왔다. 그렇지만 지금까지 불가능했던 어려운 태스크를 실현할 수 있을 정도의 임팩트는 없었다.

LLM의 방대한 Capacity를 멀티 태스크에 활용하려는 제안도 나왔다. 본지가 22년 8월호에서 소개한 영국 DeepMind사의 ‘Gato’이다. 문제 설정이 다른 다양한 태스크를 준비하고, 그것들을 같은 무게의 단일 모델로 풀려는 것이다. 

로봇의 동작 생성만이 아니라 대화 응답이나 이미지의 설명문 생성 등 전혀 다른 영역의 태스크도 포함해 잡탕으로 해서 모델에 학습시킨다. 의욕적인 시도이며, LLM의 Capacity를 활용했지만 로봇의 동작 생성에 주목하면 DT의 연장에 있는 것이었다.

-- LLM에는 언어로 일을 시킨다 --
그러한 가운데 이번에 구글과 Everyday Robots는 전혀 다른 관점에서 LLM을 활용하기로 했다. 바로 로봇의 행동을 언어 레벨에서 플래닝하고 생성하는 것이다. LLM을 로봇의 동작 생성에 활용한다. 그러나 지금까지와 같이 LLM에 로봇의 관절 각도나 손끝 좌표와 같은 피지컬한 물리량을 직접 다루게 해서는 LLM가 가진 잠재 능력을 다 활용하지 못한다. 

LLM은 본래 언어 모델이기 때문에 로봇의 동작 생성에 사용한다고는 해도, 그것은 어디까지나 추상적인 개념의 세계에 특화시켜 언어 레벨에서 일을 시키는 것이 좋다는 발상에 근거한 것이다.

언어 레벨에서 동작을 생성한다는 것은 구체적으로는 어떤 것일까? 다양한 어프로치가 있을 수 있지만 구글과 Everyday Robots는 이번에 발표한 ‘SayCan’이라는 기술에서 다음과 같은 방법을 채용했다. 

우선, 로봇이 했으면 하는 동작이나 행동, 태스크를 인간이 언어(인간과 인간의 대화처럼 자연스러운 문장 형태)로 부여한다. “콜라를 엎질렀다. 뭔가 닦을 것을 갖다 주지 않을래?(I spilled my coke, can you bring me something to clean it up?)”와 같은 형태이다.

SayCan의 LLM은 이 의뢰문을 받으면, 그 의뢰 내용을 실현하기 위한 구체적인 절차를 텍스트로 생성한다. 낮은 레벨의 동작(본 기술에서는 ‘스킬’이라고 부른다)으로 브레이크 다운해 나간다. 처음에 ‘1: 스폰지가 있는 곳까지 간다(Find a sponge)’, 다음으로 ‘2: 스폰지를 집는다(pick up the sponge)’, 마지막으로 ‘3: 의뢰자에게 가지고 간다(bring it to you)’의 순서다. 

LLM은 출력을 원하는 예를 여러 개 제시하기만 하면, 그 특정 태스크에 재학습없이(zero-shot) 적용하는 시스템 ‘prompt engineering’을 갖추고 있기 때문에 SayCan도 그것을 이용하고 있다. 의뢰 내용과 그것을 낮은 레벨로에 브레이크 다운한 예(prompt)를 미리 준다. 그러면 내용이 바뀐 다른 의뢰문에도 대응하게 된다.

동작의 플래닝을 LLM이 시행함으로써 SayCan에서는 LLM이 갖는 방대한 개념이나 지식을 잘 도출할 수 있게 되었다. 이것은 LLM의 아키텍처를 방책에 적용해, 물리량을 직접 출력시키는 DT와 같은 어프로치로는 얻을 수 없는 것이다. 

예를 들면 “과일을 갖고 와”라고 러프하게 의뢰한 경우에도, 과일에는 다양한 종류가 있다는 것을 파악하고, 환경 안에서 과일에 해당하는 것(사과)이 있으면 갖다 주는 것이 가능하다. 

‘과일’이라는 개념 속에 사과나 오렌지 등이 포함되는 포함관계를, 개별적으로 prompt로 지시하거나, 룰(온톨로지(Ontology))로서 인간이 만들지 않아도 LLM은 방대한 코퍼스를 사전 학습해 이미 파악하고 있다. 그 개념의 힘을 SayCan은 로봇용으로 잘 이용하고 있다.

이 외에 의뢰 내용이 명시적이지 않고 대략적인 경우도 LLM의 추상적인 개념의 힘이 살아난다. 예를 들면, “운동이 끝났으니까 뭔가 몸 회복에 도움이 되는 음료와 스낵을 갖다 줘”라고 의뢰한 경우, LLM은 당분이 많은 탄산음료나 감자칩이 아니라 더 건강한 물과 사과를 갖다 주도록 동작을 브레이크 다운할 수 있다. 

“콜라를 엎질렀으니까 다른 거 갖다 줘”라고 의뢰를 받으면 “다른 거”가 무엇인지 제대로 해석해서 ‘다른 콜라‘를 갖다 주도록 플래닝하는 것도 가능하다.

-- 모듈과 모듈도 언어로 --
실제 로봇을 움직이기 위해서는 앞에서 말한 플래닝만으로는 충분하지 않다. 주위 환경을 관측하거나 실제 로봇을 제어하는 모듈도 필요하다. SayCan에도 통상의 로봇용 소프트와 마찬가지로 이러한 모듈은 있지만, 그 구성이 크게 다르다.

일반적으로 제어기는 동작 계측기 등의 플래너에서 플래닝 후의 목표 좌표 등을 얻는다. 그러나 이번 기술에서는 플래너가 언어 모듈이다. 피지컬한 물리량 등은 나오지 않는다. 

그래서 SayCan에서는 이러한 플래너와 소통하는 측의 제어기에도, 그 인터페이스를 자연언어로 했다. 좌표 등 낮은 레벨의 지시를 내리는 것이 아니라 플래닝 결과를 자연언어로 전달하고, 자연언어로 받아들인다. 

모듈 간 인터페이스가 모두 자연언어라는 텍스트로 통일되어 있는 점이 이번 SayCan의 최대 특징이다. 언어 모델인 LLM의 힘을 살릴 수 있도록 내부의 소프트웨어 아키텍처를 자연언어 베이스로 제로에서 쇄신했다고 말할 수 있다.

소프트웨어 모듈 간 인터페이스가 자연언어가 되었다는 것을 답답하게 느낄지도 모른다. 로봇에서도 인간과의 인터페이스가 되는 HMI(Human Machine Interface)라면 자연언어를 사용하는 것은 일반적이지만 구글의 SayCan에서는 그러한 기계의 외부만이 아니라 소프트웨어 내부의 모듈 간 소통까지 ‘API’를 자연언어로 해버린 것이다. 

이것도 모두 방대한 지식 용량을 갖는 현재의 LLM의 진가를 이끌어내기 위한 아이디어라고 말할 수 있다. 강한 기술 쪽으로 인터페이스를 붙이고 있는 것이다.

 -- 끝 --

Copyright © 2020 [Nikkei Robotics] / Nikkei Business Publications, Inc. All rights reserved

목차