지난 몇 년 동안 AI 역량의 엄청난 발전은 상당 부분 방대한 양의 훈련 데이터 가용성에 의해 주도되었습니다. Gwern이 GPT-3 출시 이후 작성한 영향력 있는 2020년 에세이 “The Scaling Hypothesis”는 최근 AI 발전이 규모(scale)의 결과라고 주장합니다. 즉, 더 큰 모델, 더 큰 데이터셋, 그리고 이를 훈련하는 데 투입되는 더 많은 컴퓨팅 자원입니다. Gwern은 다음과 같이 썼습니다:
The scaling hypothesis regards the blessings of scale as the secret of AGI: intelligence is ‘just’ simple neural units & learning algorithms applied to diverse experiences at a (currently) unreachable scale. As increasing computational resources permit running such algorithms at the necessary scale, the neural networks will get ever more intelligent.
마찬가지로 가명 AI 연구원 Nostalgebraist는 2024년에 “현재의 전체 환경은 ML 모델이 더 많은 데이터로 훈련될수록 꾸준하고 예측 가능하게 개선된다는 깨달음에서 비롯되었다. 그리고 그 이후 모든 것은 하드웨어의 수년간의 빠른 발전에 힘입어 더 큰 데이터셋으로 더 큰 모델을 훈련하는 것으로 구성되어 있다”고 썼습니다. Epoch AI에 따르면, 2010년대 초반 이후로 AI 언어 모델의 훈련 데이터셋 크기는 약 6개월마다 두 배가 되었습니다. 오늘날 가장 큰 AI 모델들은 수십조 개의 토큰으로 훈련됩니다.
현대 AI를 로봇공학에 적용하는 데 점점 더 많은 노력이 투입됨에 따라, 중요한 질문은 “훈련 데이터는 어디서 올 것인가?”입니다. 언어 모델은 방대한 기존의 텍스트 코퍼스(corpus)로 훈련될 수 있습니다. 예를 들어, GPT-3는 인터넷에서 스크랩된 약 3,000억 개의 토큰 분량의 데이터로 훈련되었습니다. 2024년 Epoch AI는 접근 가능한 양질의 기존 텍스트 데이터 총량이 약 300조 개의 토큰이라고 추정했습니다. 하지만 좋은 공공 로봇 훈련 데이터와 동등한 재고는 없습니다. 로봇공학을 위한 데이터가 어디서 올 것이며 얼마나 많이 필요할지 알아내는 것은 이 분야의 핵심 문제가 되었습니다.
로봇 훈련 데이터란 무엇인가?
AI 모델을 훈련시키는 것은 LLM이든 로봇 제어에 사용되는 모델이든 간에, 근본적으로 무언가가 올바르게 수행된 많은 예시(또는 어떤 올바른 행동이 보이는지에 대한 충분한 지식으로 시도 결과를 평가할 수 있는 것)를 필요로 합니다. 모델에 일련의 입력 값을 공급하고, 모델의 출력을 실제 정확한 출력과 비교하며, 이 둘 사이의 차이를 사용하여 그래디언트 디센트(gradient descent)와 같은 방식으로 이 차이를 줄이기 위해 모델의 매개변수를 수정합니다. (이 과정은 이번 달 초에 자세히 다루었습니다.)
텍스트의 경우, 훈련 예시는 단순히 기존의 텍스트 조각일 수 있습니다. 해당 조각을 가져와 모델에 일부를 공급하고, 모델이 시퀀스에서 다음에 올 것을 예측하게 합니다. 따라서 하나의 텍스트 조각은 모델에 텍스트의 여러 부분을 공급함으로써 많은 훈련 예시를 생성할 수 있습니다.
로봇을 훈련시키기 위해서는, 예시는 일반적으로 과제가 수행되거나 시도되는 방식의 녹화본입니다. 이러한 녹화본을 만들고 이를 훈련 데이터로 변환하는 데 사용되는 다양한 방법들이 있습니다.
역사적으로, 이러한 녹화본을 생성하는 가장 일반적인 방법 중 하나는 '원격 조작(teleoperation)'이라고 불립니다. 원격 조작을 통해 한 사람이 로봇에 직접 연결된 제어 장치를 조작하고, 이를 사용하여 로봇이 특정 과제(셔츠 접기, 물건 집어서 옮기기 등)를 수행하도록 움직입니다. 예를 들어, 아래 이미지는 한 사람이 두 개의 로봇 팔을 원격 조작하여 주전자에서 유리잔으로 물을 따르는 모습을 보여줍니다.
사람이 작업을 수행하는 동안 로봇의 상태 데이터와 작업을 기록하는 카메라 이미지(종종 로봇 자체에 장착됨)가 기록되며, 이들이 결합되어 하나의 훈련 예시를 만듭니다. 한 예시는 모델에게 로봇의 상태와 시퀀스의 특정 지점에서 카메라가 볼 수 있는 데이터를 제공하고, 모델은 다음 로봇 동작이 무엇일지(관절 각도 같은 형태) 예측하려고 노력한 다음, 실제 동작과 비교하는 것으로 구성될 수 있습니다. 이처럼 전문가(인간)가 생성한 예시를 사용하여 모델을 훈련시켜 모방하게 하는 종류의 훈련 전략은 행동 복제(behavioral cloning)로 알려져 있으며, 이는 더 광범위한 범주인 '모방 학습(imitation learning)'에 속합니다.
이 방법의 주요 이점은 생성된 데이터가 실제로 훈련하려는 로봇의 실제 움직임 능력과 매우 유사하게 일치한다는 것입니다. 왜냐하면 실제로 데이터를 수집할 로봇으로부터 생산되기 때문이며, 이는 오늘날에도 널리 사용되고 있습니다. 때로는 다양한 작업을 완료하기 위해 사람들이 로봇을 원격 조종(teleoperating)하는 것 외에는 아무것도 하지 않는 거대한 데이터 수집 공장의 비디오나 사진을 볼 수 있고, 사람이 자신이 로봇을 제어하고 있다는 사실을 잊고 갑자기 로봇이 처리할 수 없는 방식으로 움직여서 원격 조종 사고를 때때로 목격하기도 합니다.
하지만 원격 조작(teleoperation)에는 단점이 있습니다. 가장 큰 단점은 아마도 비용일 것입니다. 데이터를 얻으려면 실제 로봇과 그 로봇을 조작할 사람이 필요하기 때문에, 이 방법을 사용하여 매우 많은 양의 데이터를 생산하는 것이 어렵습니다. 또 다른 단점은 사람이 이런 방식으로 로봇을 제어하는 것이 다소 불편하다는 점입니다. 사람들은 종종 조작되는 물체로부터 촉각 피드백(tactile feedback)을 얻지 못하여 움직임을 안내받기 어려우며, 따라서 이것이 반드시 정교한 조작에 대한 정말 좋은 데이터를 생성한다고 보장할 수는 없습니다. 이러한 불편함은 또한 좋은 원격 조작 데이터 수집을 어렵게 만들 수 있으며, 제가 이해하기로는 수집된 전체 원격 조작 데이터 중 유용하게 사용되는 것은 일부에 불과합니다.
기존 로봇이 스스로 움직이도록 하여 그 동작을 기록하고, 어떤 시스템을 사용하여 이러한 행동 시퀀스(behavioral sequences)를 성공했는지 여부로 분류함으로써 훈련 데이터를 생성하는 것도 가능합니다. 로봇이 자율적으로 움직이고 사용자가 그 행동에 대해 어떤 방식으로 점수를 매기는 방식인 이러한 전략은 “강화학습 (reinforcement learning, RL)”으로 알려져 있습니다. Google은 2016년경에
예를 들어 로봇 AI 회사인 Physical Intelligence는 사무실 근처의 초콜릿 공장에서 이른바 '로봇을 배치하여 실제 작업을 수행하게 하고, 이를 이용해 데이터를 수집하여 모델을 개선하는' 프로-플라이휠(proto-flywheel) 방식을 실험하고 있습니다. 하지만 이것이 결국 작동할 수는 있겠지만, 지금 당장은 실제로 작업과 유사한 것을 하는 AI 제어 로봇은 매우 적습니다. 또한 실제 데이터는 극도로 반복적인 경향이 있어—로봇이 매우 유사한 조건에서 같은 작업을 계속해서 수행하는 경우—훈련에 훨씬 덜 유용합니다. 따라서 현재 대부분의 데이터는 다른 출처에서 와야 합니다.
로봇 훈련 데이터를 생성하는 또 다른 매우 일반적인 전략은 시뮬레이션입니다. 실제 세계에서 물리적 로봇을 구동하는 대신, 가상 환경에서 디지털 로봇을 구동하는 것입니다. 이것은 또한 강화학습(RL)과 함께 흔히 수행되는데, 이 경우 로봇이 시뮬레이션된 공간을 탐색하도록 하고, 그 후 얼마나 잘 수행했는지 점수를 매기는 방식입니다. 또 다른 유형으로는 '교사/학생 패러다임(teacher/student paradigm)'이 있는데, 여기서는 모든 데이터에 완전히 접근할 수 있는 '교사' 모델과 실제 로봇이 볼 수 있는 것만(카메라 이미지 및 자체 내부 상태) 볼 수 있는 '학생' 모델을 두고 학생이 교사를 모방하도록 시도합니다.
시뮬레이션의 이점은 로봇을 시뮬레이션하는 것이 실제 세계에 배치하는 것보다 훨씬 저렴하고 빠르며, 수천 대의 로봇 행동을 시뮬레이션함으로써 매우 많은 양의 데이터를 얻을 수 있다는 점입니다. Figure AI는 강화학습을 통해 수천 대의 시뮬레이션된 로봇으로 휴머노이드 로봇에게 걷는 법을 가르쳤습니다. OpenAI는 로봇 손이 약 13,000년 분량의 시뮬레이션 경험에 해당하는 방식으로 루빅스 큐브를 풀도록 가르쳤습니다. 2019년까지 Waymo는 실제 세계에서 1,000만 마일을 주행했지만, 시뮬레이션에서는 100억 마일을 주행했습니다.
하지만 시뮬레이션에도 단점이 있습니다. 가장 큰 단점은 시뮬레이션이 생성하는 데이터의 품질이 시뮬레이션의 정확도에 달려 있다는 것입니다. 로봇이 물리적 공간을 이동하는 것(locomotion)과 같은 일부 동작의 경우, 행동 양상이 디지털로 표현하기에 충분히 잘 알려져 있기 때문에 시뮬레이션은 상당히 정확합니다. 따라서 사족 보행 로봇에게 다양한 지형을 탐색하도록 훈련시키거나, 이족 보행 로봇에게 춤추도록 하거나, 드론에게 시뮬레이션 내 특정 경로를 따라 비행하도록 훈련시킬 수 있으며, 이때의 시뮬레이션 환경은 실제 세계에 대한 합리적으로 좋은 근사치가 됩니다. 하지만 물체 조작(object manipulation), 특히 부드럽거나 변형 가능한 물체의 경우, 실제 세계의 행동을 정확하게 포착하는 시뮬레이션을 구축하기가 훨씬 어렵고, 이를 훈련 데이터의 출처로 사용하는 것은 훨씬 더 복잡합니다. 이는 일반적으로 “sim-to-real gap”이라고 불립니다.
시뮬레이션 부정확성 때문에 ‘도메인 무작위화(domain randomization)’라는 인기 있는 시뮬레이션 기법이 있습니다. 실제 세계에서 마찰력과 같은 다양한 매개변수가 어떠할지 알 수 없기 때문에, 시뮬레이션을 실행할 때 이 매개변수들을 무작위로 변화시켜, 실제 세계에서 접하게 될 매개변수를 포괄하는 훈련 범위를 만들기를 기대합니다. 예를 들어 OpenAI가 로봇 손을 이용해 루빅스 큐브를 풀도록 훈련시킬 때, 테스트되는 매개변수의 범위를 지속적으로 확장하여 모델이 점점 더 어려운 환경에서도 큐브를 푸는 방법을 학습하도록 강제했습니다. 이는 실제 세계에 일반화될 수 있는 능력을 부여하기 위함이었습니다. 그곳의 로보틱스 팀은 정확한 물리적 모델링이 너무 어려웠기 때문에 이 전략을 특별히 사용했습니다:
우리가 직면했던 가장 큰 어려움은 실제 세계의 물리적 특성을 포착할 수 있을 만큼 충분히 다양한 시뮬레이션 환경을 만드는 것이었습니다. 마찰, 탄성, 동역학(dynamics) 같은 요소들은 루빅스 큐브나 로봇 손처럼 복잡한 물체에 대해서는 측정하고 모델링하기가 엄청나게 어렵고, 단순히 도메인 랜덤화(domain randomization)만으로는 충분하지 않다는 것을 알게 되었습니다.
이를 극복하기 위해, 우리는 Automatic Domain Randomization (ADR)이라는 새로운 방법을 개발했는데, 이 방법은 시뮬레이션에서 점진적으로 더 어려워지는 환경을 무한히 생성합니다. 이는 우리가 실제 세계에 대한 정확한 모델을 가지고 있을 필요성을 없애주며, 시뮬레이션에서 학습된 신경망(neural networks)이 실제 세계에 적용될 수 있도록 합니다.
하지만 이 기술과 엄청난 양의 시뮬레이션(13,000년 분량)에도 불구하고 성능은 그저 '괜찮은' 수준에 머물렀습니다. 가장 어려운 초기 배열 상태에서 성공률은 겨우 20%였습니다. 아마도 이것이 현재 조작(manipulation) 훈련 분야에서 이 기술이 널리 사용되지 않는 이유일 수 있습니다. 다만, 환경 매개변수 랜덤화는 이동(locomotion) 훈련에서는 비교적 표준적으로 사용되는 것 같습니다. 예를 들어, 지나가는 표면의 마찰 계수(coefficient of friction)를 무작위로 변화시키는 데 사용됩니다.
시뮬레이션을 사용하는 또 다른 방법은 합성 훈련 데이터(synthetic training data)를 생성하는 것입니다. 즉, 실제 훈련 데이터를 입력으로 받아 유사한 훈련 예제들을 대량으로 만드는 방식입니다. 예를 들어, Nvidia는 자사의 Isaac GR00T 로봇 시뮬레이션 플랫폼을 사용하여 원격 조작 데이터(teleoperation data)를 입력으로 삼아 합성 로봇 훈련 데이터를 생성하는 방법을 보여주는 페이지를 가지고 있습니다. 합성 데이터 생성은 또한 자율 주행차(autonomous vehicles) 훈련에도 광범위하게 사용되는 것으로 보입니다.