Assets

인사이트
VLM & VLA란 무엇인가: 구조의 변화 과정
# Robotics
# 공통
IT 트렌드 · 

VLM과 VLA의 개념과 구조 변화 과정을 보여주는 인사이트 썸네일1편에서 말씀드린 대로, 이번 편부터는 기술적 개념 설명을 시작하겠습니다. Enterprise 입장에서 Physical AI 영역의 Robot Intelligence 기술을 R&D 하거나 오퍼링할 수 있는지 판단하려면, 먼저 VLA가 무엇이고 어떤 원리로 동작하는지를 구조적으로 이해할 필요가 있기 때문입니다.

이번 편에서는 LLM이 글을 생성하는 원리에서 출발해 VLM과 VLA의 개념을 정리하고(Section 1), 이어서 VLA의 대표적인 두 가지 구조와 그 변화 흐름을 살펴봅니다(Section 2).

[Section 1] VLM(Vision Language Model) & VLA(Vision Language Action) Model 이란?

▌1-1. LLM(Large Language Model)이 글을 쓰는/생성하는 원리 & VLM의 등장

우리가 ChatGPT/LLM에게 "오늘 저녁 메뉴 추천해줘"라고 물으면, ChatGPT/LLM은 한 단어씩 다음에 올 단어를 예측하면서 문장을 만들어 냅니다.

ChatGPT/LLM과 같은 AI 모델은 인터넷에 있는 수조 개의 토큰(단어 조각) 규모의 방대한 양의 텍스트를 읽으며 "어떤 단어 다음에 어떤 단어가 올 확률이 높은지"를 학습했습니다. 그래서 요리, 과학, 역사 등 텍스트로 표현되어 있는 다양한 모든 주제에 대해 자연스러운 문장을 만들어 낼 수 있습니다.

여기서 중요한 것은, 이러한 ChatGPT/LLM과 같은 AI가 학습한 세상에 대한 이해를 하는 지식/상식 중 "사과는 과일이다", "컵은 잡을 수 있다", "깨지기 쉬운 물건은 조심해야 한다" → 이러한 지식/상식을 인터넷의 텍스트와 이미지를 함께 학습해둔 것이 VLM(Vision Language Model)입니다.

▌1-2. 이미지와 텍스트를 이해하고 동작될 수 있는 VLM이 로봇의 "손"도 움직일 수 있다면?

VLM을 기반으로 위의 가설을 가능하도록 만든 모델을 VLA(Vision-Language-Action) Model이라고 부르는 것입니다.

ChatGPT/LLM이 "단어"를 예측하고 그 과정에서 Reasoning(추론)의 능력을 활용해서 글을 생성/쓰는 것처럼, VLA는 "동작"을 예측해서 로봇을 움직이는 것입니다.

💡 핵심 트릭 또는 아이디어는 로봇의 동작을 숫자로 바꿔서, 마치 단어처럼 취급을 하는 것입니다.

예를 들어, 로봇 팔의 동작은 로봇에 장착된 카메라를 통해서 물체를 포함한 상황에 대한 이해를 하고 해당 상황에서 어떻게 동작을 해야 하는지에 대해서 Reasoning(추론)을 통해서 "팔을 앞으로 3cm, 오른쪽으로 1cm, 아래로 2cm 움직이고, 손을 벌려라"처럼 숫자로 표현하는 것을 생성할 수 있습니다. 생성된 이 숫자들은 AI 입장에서는 "단어를 하나 더 예측하는 것"과 다를 바 없습니다.

▌1-3. VLA가 다루는 Modality, VLA가 하는 일을 3단계로 풀어본다면

VLA(Vision-Language-Action) Model이란, 로봇의 카메라 이미지(Vision)와 자연어 명령(Language)을 입력받아 로봇의 물리적 동작(Action)을 직접 출력하는 end-to-end 기반 모델입니다.

Vision

  • 역할: Robot이 "보는 것"
  • 예시: RGB 카메라의 이미지, 또는 비디오(프레임)

Language

  • 역할: 사람의 언어로 Robot에게 "말하는 것" 또는 "생각하도록 하는 것" → Reasoning(추론/이해/사고 능력)
  • 예시: 이미지/비디오 프레임을 통해서 생각하고 이해한 텍스트 : 빨간 컵과 테이블이 있는 이미지를 보고 → "빨간 컵을 테이블 위에 놓아야 함" 사고 → 실제 로봇이 컵을 놓기 위해서 움직여야 하는 것들이 무엇인지까지 판단하고 정의

Action

  • 역할: Robot이 실제로 "하는 것"
  • 예시: 관절의 각도, end-effector 위치, gripper의 개폐 여부 등

①본다 (Vision)

로봇에 부착된 카메라가 현재 장면을 촬영합니다. AI가 "테이블 위에 빨간 컵, 파란 접시, 바나나가 있구나"라고 파악합니다.

이것은 스마트폰의 사진 검색 기능과 비슷합니다. "강아지"를 검색하면 강아지를 찾아주는 것처럼, AI는 이미지 속 물체를 인식할 수 있습니다.

②이해하고 추론한다 (Language + Reasoning)

사람이 명령을 내리면, AI는 단순히 명령의 뜻만 파악하는 것이 아니라, 인터넷에서 배운 상식과 추론 능력을 동원해서 "구체적으로 무엇을 어떻게 해야 하는지"를 스스로 "판단"합니다.

이 추론 능력이 있어야, 사람처럼 생각하고 행동할 수 있게 되는 것입니다.

(아래 예시는 RT-2 등에서 보고된 emergent capability 실험 구성을 참고했습니다.)

상식 추론 — 직접 배우지 않은 것도 압니다

로봇이 "건강한 간식"이라는 개념을 직접 학습한 적은 없습니다. 하지만 인터넷의 수많은 건강 관련 글에서 이미 이 상식을 체득했기 때문에, 처음 듣는 명령에도 올바른 판단을 내릴 수 있습니다.

논리 추론 — 계산까지 합니다

이것은 수학 문제 풀이, 물체 인식, 로봇 동작을 하나의 AI가 연속적으로 수행한 것입니다. 기존에도 개별 모듈을 조합해 유사한 파이프라인을 구성할 수는 있었지만, 이를 하나의 모델이 끊김 없이 수행한다는 점이 결정적인 차이입니다.

단계적 추론 — 스스로 계획을 세웁니다

더 복잡한 명령에서는, AI가 머릿속에서 단계별 계획을 세운 후 행동에 옮깁니다. 이것을 "Chain-of-thought(생각의 사슬)" 추론이라 부릅니다.

이처럼 AI가 "먼저 … 그 다음 … 마지막으로 …"라는 사고 과정을 거치면서 행동의 순서를 결정합니다. 사람이 일일이 단계를 지시하지 않아도, AI가 상식을 바탕으로 합리적인 순서를 스스로 만들어냅니다.

이 모든 추론이 가능한 이유는, VLA의 핵심에 있는 AI가 인터넷 규모의 텍스트와 이미지에서 세상의 상식을 이미 학습해 놓았기 때문입니다.

로봇 전용 데이터에서는 "건강한 간식"이나 "제곱근" 같은 개념을 배울 수 없지만, 인터넷에서 읽은 방대한 양의 문장이 이 빈자리를 채워주며 로봇이 이해하고 추론할 수 있습니다.

⚠️ 다만, 이러한 추론 능력은 대부분 제한된 실험 환경에서 확인된 결과이며 성공률도 완전하지 않습니다. 실제 산업 환경에서 동일한 수준의 일반화가 이루어지는지는 별개의 문제이고, 1편에서 말씀드린 "기술 실체와 마케팅 비전 사이의 간극"이 가장 크게 발생하는 지점이기도 합니다.

③ 행동한다 (Action)

카메라를 통해서 입력되는 장면을 보고, 그 장면과 앞으로 해야 하는 명령을 이해한 AI는 로봇의 동작을 결정합니다. "바나나 위치로 팔을 뻗고, 잡고, 접시 위로 옮기고, 놓기" → 이러한 일련의 동작(Action)을 숫자 형태로 생성해서 출력합니다.

로봇은 동작에 해당하는 숫자를 받아서 실제 로봇의 관절 등을 움직이기 위한 코드를 호출해서 실행합니다.

다시 정리하여 정의를 내리면, 이러한 3개의 단계를 통해서 "보고" → "이해하고" → "행동하는 것", 이 하나의 과정을 모델 안에서 끊김 없이 일어나도록 만든 모델을 VLA(Vision-Language-Action)라고 부릅니다.

[Section 2] VLA(Vision Language Action)는 변화 흐름이 있다

Section 1에서는 VLA가 "보고 → 이해하고 → 행동하는" 모델이라는 개념을 정리했습니다. 그러나 이 구조는 처음 제안된 이후 그대로 유지된 것이 아니라, 실제 로봇을 움직여 보는 과정에서 드러난 한계에 따라 변화해 왔습니다.

여기서는 VLA의 대표적인 두 가지 구조와, 왜 그런 변화가 일어났는지를 살펴봅니다.

▌2-1. Robot을 동작하기 위해 고안된 VLA 설명을 위한 비유: 사람의 뇌는 어떻게 작동하는가?

잠시 사람이 컵을 집는 상황을 떠올려봅니다.

테이블 위에 컵이 있고, 누군가 "물 좀 가져다줘"라고 말했습니다. 이 순간 우리 뇌에서는 무슨 일이 일어날까요?

관점/가정 1 : 하나의 뇌가 전부 처리한다

"뇌는 하나입니다. 보고, 이해하고, 손을 움직이는 것까지 전부 같은 뇌에서 일어납니다."

→ 이 관점/가정에서는 생각과 행동이 분리되지 않습니다. 컵을 인식하는 것도, "물을 가져다줘"를 이해하는 것도, 손을 뻗어 컵을 잡는 것도 모두 하나의 통합된 과정입니다.

관점/가정 2 : 생각하는 뇌와 움직이는 뇌가 따로 있다

일반적으로 사람의 두뇌는 "숙고적인 사고는 전두엽이, 반사적인 운동은 소뇌"가 담당합니다. 둘은 협업하지만 역할이 다릅니다.

→ 이 관점/가정에서는 "물을 가져다줘"를 이해하고 무엇을 해야 할지 판단하는 부분(느린 사고)과, 실제로 손을 정확하게 움직이는 부분(빠른 운동)이 분리되어 있습니다.

우리가 컵을 집을 때, "이 컵을 얼마나 강하게 잡을지", "팔의 각도를 정확히 얼마로 할지"를 의식적으로 계산하지 않습니다. 그건 무의식적이며, 거의 자동으로 일어나게 됩니다.

▌2-2. VLA의 대표적인 구조

VLA는 2023년 Google DeepMind, 2024년 Stanford University에서 각각 RT-2와 OpenVLA 논문을 통해서, VLA 모델이 "보고" → "이해하고" → "행동한다" 형태로 처음 제시를 한다는 것을 제시하였습니다.

그러나 그 이후 Physical Intelligence, Figure, NVIDIA 등 대부분의 기업들은 VLA 모델이 "보고" → "이해하고 계획을 세우고 추론하고" → "행동한다" 형태로 변화하였고 지속 고도화 중입니다.

VLA 모델의 대표적인 구조는 ❶ VLA: Single Model, ❷ VLA: Dual System 방식으로 존재합니다.

  • VLA 모델이 "보고" → "이해하고" → "행동한다" (VLA Single Model 구조에 해당)
  • VLA 모델이 "보고" → "이해하고 계획을 세우고 추론하고" → "행동한다" (VLA Dual System)

2-2-1. VLA: Single Model

VLA Single Model 아키텍처 구조도

위의 VLA Single Model 아키텍처 구조는, Google DeepMind에서 2023년 RT-2를 제안하였으며, 이를 기반으로 Stanford에서 오픈소스 버전으로 처음 만드는 프로젝트를 한 OpenVLA 개념적 구조입니다.

주요 논문

  • RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control (Anthony Brohan, Sergey Levine, Chelsea Finn et al., Google DeepMind, 2023)
  • OpenVLA: An Open-Source Vision-Language-Action Model (Moo Jin Kim, Chelsea Finn et al., Stanford University 외, 2024)

VLA Single Model의 철학은 "이미 인터넷에서 똑똑해진 언어 모델이 있다. 이 모델에게 로봇의 눈(이미지)과 손(동작)도 가르치자. 그러면 하나의 모델이 보고, 이해하고, 움직이는 것까지 전부 할 수 있다."입니다.

왼쪽에는 세 가지 종류의 입력이 있습니다. 이미지, 사람의 명령, 그리고 로봇의 동작. 이 셋이 전부 "Token 토큰(숫자로 된 단어)"으로 변환되어 중앙의 거대한 언어 모델(LLM)에 입력으로 들어갑니다. 언어 모델은 서로 다른 입력으로부터 만들어진 이 Token 토큰들을 LLM이 평소에 언어를 처리하듯이 다룹니다. 그리고 마지막에는 그 결과가 숫자의 텍스트 형태로 생성되며 그 숫자는 실제 로봇 동작을 위한 값으로 변환되어 나옵니다.

💡 핵심은 세 가지 다른 종류의 정보가 전부 "같은 언어"로 번역되어, 하나의 모델이 전부 처리한다는 점입니다.

입력 1 — 이미지를 Vision Encoder를 통해서 Token(토큰)으로 바꾸기 (Vision Tokens)

로봇의 카메라에서 들어온 이미지는 그대로 언어 모델에 넣을 수 없습니다. LLM과 같은 언어 모델은 "숫자로 된 단어인 Token(토큰)" 형태만 이해하기 때문입니다.

그래서 이미지를 Token(토큰)으로 번역/전환 하는 전용 AI 모델/모듈이 필요합니다. 위의 구조도(OpenVLA 기준)에서는 Vision Encoder가 두 개 나란히 배치되어 있습니다. 왜 두 개일까요?

  • Vision Encoder 1 (Semantic) — "이게 뭔지?"를 파악하는 AI 모델
    (Google에서 만든 "SigLIP" → Open-source)이 모델은 이미지 속 물체가 무엇인지 파악합니다. 이미지 속에서 "가지", "그릇", "테이블" 같은 의미를 읽어냅니다. 스마트폰의 사진 검색 기능이 "강아지" 사진을 찾아주는 것과 같은 원리입니다. 이 AI 모델은 인터넷의 엄청나게 방대한 양의 수많은 <이미지-텍스트> 쌍을 학습했기 때문에, 세상에 존재하는 거의 모든 물체의 이름을 알고 있습니다.


  • Vision Encoder 2 (Spatial) — "이게 어디 있는지?"를 파악하는 AI 모델
    (Meta에서 만든 "DINO" → Open-source)두 번째 모델은 이미지 속 물체가 어디에, 어떤 모양으로 있는지 파악합니다. "가지는 왼쪽 앞에, 그릇은 오른쪽 뒤에 있다. 가지의 끝부분은 그릇 방향을 향하고 있다." 같은 공간 정보를 이미지 안에서 읽어냅니다.

왜 두 개가 다 필요할까요? 로봇에게는 둘 다 중요하기 때문입니다. "가지를 그릇에 담아라"라는 명령을 수행하려면,

  • 무엇을 집어야 할지 알아야 하고 (첫 번째 Vision Encoder 담당),
  • 그것이 어디에 있는지 알아야 합니다 (두 번째 Vision Encoder 담당).

이 로봇의 시각을 처리하는 Vision Encoder에 해당하는 AI 모델의 결과가 합쳐져서 Vision Tokens이 되며, 이것을 기반으로 이미지 한 장이 수십 개의 토큰(숫자 단어)으로 변환되어 LLM에 입력으로 활용될 수 있습니다.

입력 2 — 로봇이 해야 하는 Action에 대한 명령을 Text Token(토큰)으로 바꾸기 (Text Tokens)

"Put eggplant in bowl"과 같은 사람의 명령은 Text Tokenizer라는 것을 통해서 Token(토큰)으로 바뀝니다.

이것은 ChatGPT/Gemini/Claude에 질문을 입력할 때 일어나는 일과 완전히 동일합니다. 문장을 이루고 있는 단어를 작은 단위로 쪼개서 각각의 단위에 번호를 붙이는 작업으로 이해하면 됩니다.

이 과정은 단순한 "번호 매기기"입니다. 의미를 이해하는 것이 아니라, 문자열을 최소 단위(토큰)로 쪼갠 뒤, 미리 정의된 단어 사전에서 해당 단어를 찾아 그에 매핑된 정수(번호)로 치환하는 과정입니다. 진짜 "이해"는 나중에 LLM 안에서 일어납니다.

입력 3 — 실제 로봇 동작에 대한 값을 Token으로 바꾸기 (Action Tokens)

이 부분이 VLA의 가장 독창적인 아이디어입니다. 로봇이 움직이는 값은 "82 38 105, 26 91"이라는 숫자로 표현을 할 수 있습니다. 이것은 로봇의 동작을 나타내는 숫자입니다.

로봇의 동작은 정밀한 연속적인 숫자(Continuous value) 값입니다. "팔을 앞으로 0.32cm, 오른쪽으로 0.15cm, 아래로 0.41cm 움직여라"처럼 표현되는 이 연속적인 값을 256개의 구간으로 나눠서 정수로 바꾸게 됩니다. 그러면 "82"라는 숫자 하나가 "앞으로 얼마나 움직일지"를 나타내는 Token(토큰)이 됩니다.

이러한 동작의 숫자들을 언어 모델을 위한 사전(Dictionary)에 등록해버리는 것입니다. 원래 언어 모델의 단어장에는 "Hello", "world" 같은 단어들이 들어 있는데, 거기에 로봇의 동작에 해당하는 "82", "38", "105" 같은 동작 Token(토큰)을 새로운 "단어"로 추가하게 됩니다.

→ 이와 같이 등록되면, 언어 모델에게 로봇의 동작에 해당하는 "82"는 "apple"과 같은 종류의 단어입니다. 그냥 단어장에 있는 또 하나의 Token(토큰)일 뿐입니다. 차이는 단지, 이 토큰이 로봇의 관절 움직임을 의미한다는 점뿐입니다.

위와 같이 로봇의 움직임을 Token으로 변환하면 LLM의 입력으로 사용될 수 있고, LLM의 특성상 다음에 올 Token(토큰)을 확률적으로 예측하여 문장을 생성하는데, 로봇의 움직임에 해당하는 Token도 마치 "단어"인 것처럼 취급하면 문장을 생성하듯이 로봇의 움직임을 생성할 수 있게 됩니다.

중앙처리 — LLM이 세 가지 토큰(Vision Token, Text Token, Action Token)을 같이 다루고, 로봇의 액션을 생성

가장 중요한 단계입니다. 세 가지 종류의 토큰 <Vision Tokens, Text Tokens, Action Tokens> 이 전부가 하나의 긴 줄의 형태(Sequence)로 이어져서 LLM에 입력됩니다.

여기서 사용되는 LLM은 일반적으로 아는 LLaMA, GPT, Qwen과 같은 종류의 언어 모델입니다.

LLM은 평소에 텍스트를 처리할 때처럼, <Vision Tokens, Text Tokens, Action Tokens> 이 전체 sequence를 Self-Attention을 통해서 처리합니다. 각 Token(토큰)이 다른 모든 Token(토큰)과 관계를 맺으며 서로 영향을 주고받습니다. Vision Token(이미지 토큰)은 Text Token(명령 토큰)과 관계를 맺고, Text Token(명령 토큰)은 Action Token(동작 토큰)과 관계를 맺습니다.

이 과정에서 LLM은 물론 사람처럼 의식적으로 생각하는 것은 아니지만, 학습의 결과로 이런 패턴이 형성되게 됩니다.

"이미지 토큰을 보니 테이블에 가지와 그릇이 있구나. 명령 토큰을 보니 가지를 그릇에 담으라는 뜻이네. 그렇다면 다음에 와야 할 동작 토큰은… 팔을 가지 쪽으로 뻗는 움직임에 해당하는 숫자들이어야 해."

그리고는 Action Token을 한 개씩 생성합니다. 이것이 바로 ChatGPT, Gemini, Claude가 단어를 한 개씩 생성하는 것과 완전히 동일한 원리가 됩니다. 단어 대신 Action에 해당하는 숫자가 나온다는 점만 다릅니다.

출력 — Action Head가 숫자를 로봇 동작으로 변환한다

LLM이 로봇이 동작할 수 있도록 하기 위해서 생성해낸 Token(토큰)들은 아직 숫자 상태입니다. → "82, 38, 105, 26, 91 …" 이것을 로봇이 실제로 이해하고 동작될 수 있는 형태로 바꿔야 합니다.

이 역할을 하는 것이 구조도 오른쪽의 Action Head입니다. 별도로 학습되는 모델이라기보다는, 토큰 값을 실제 물리량으로 되돌리는 단순한 변환에 가깝습니다.

LLM을 통해서 생성된 각 Token(토큰)이 로봇 관절의 실제 값으로 변환되어, 최종적으로 Robot Action이 됩니다. 이 값을 통해서 로봇 H/W를 움직이게 하는 SDK에 변수로 입력되어 관절을 움직이게 됩니다.

2-2-2. VLA: Dual System

먼저, 앞에서는 VLA: Single Model 방식을 살펴보았습니다. VLA 안에 이미지 이해를 하기 위한 Vision Encoder 영역부터, 그리고 거대한 LLM과 이를 통해서 로봇을 움직이게 하기 위한 Action Token을 생성할 수 있었습니다. 그런데 이 방식에는 한 가지 근본적인 한계가 있습니다.

⚠️ "동작이 정교하지 못하다는 것입니다."

LLM의 특성상 단어를 한 글자씩 적듯이 예측하고 생성을 하다 보니, Smooth한 연속적인 동작을 해야 하는데 VLA: Single Model 방식으로는 로봇의 Action Token도 하나씩 생성하다 보니 한 번에 빠른 움직임이 어렵고, 빨래 접기나 에스프레소 머신 조작 같은 섬세한 작업을 표현할 수 없다는 점입니다.

Dual System 방식은 바로 이 한계를 극복하기 위해 등장하였고, 그 해법은 사람의 뇌가 오래전부터 채택해온 방식처럼 VLA에서 "역할 분담"을 하는 것입니다.

💡 핵심 아이디어 : 생각과 행동을 분리하자

사람이 컵을 집는 순간을 떠올려 보면, 사람은 컵을 집을 때 "내 손가락을 정확히 몇 도로 굽힐까? 팔꿈치 각도는 얼마로 할까?"를 의식적으로 계산하지 않습니다. → 그냥 "저 컵을 집어야겠다"라고 생각하는 순간, 손이 알아서 움직입니다.

사람의 뇌에서 "무엇을 할지 결정하는 부분"과 "실제로 어떻게 움직일지 계산하는 부분"이 분리되어 있기 때문입니다. 전두엽은 느리지만 깊이 생각하고, 소뇌는 빠르고 정밀하게 움직임을 만들어냅니다. 결국 사람의 뇌에서 전두엽과 소뇌는 협업하지만 각자 해야 하는 역할과 그 전문 분야가 다른 것입니다.

VLA: Dual System은 정확히 이 구조를 따라한 것입니다.

System 2 (인식/이해/추론)의 역할

  • 로봇의 카메라로 이미지를 본다.
  • 사람의 명령 또는 로봇이 해야 하는 명령을 이해한다.
  • 무엇을 해야 할지 이해하고 계획을 세워서 생각하고 추론한다.

System 1 (액션/행동/제어) 의 역할

  • System 2의 판단을 받는다.
  • 로봇의 실제 관절 움직임을 생성한다.
  • 빠르고 정밀한 동작이 가능하도록 동작을 생성한다.

즉, 다시 말해 System 2가 "생각하는 역할의 뇌"에 해당하고, System 1이 "움직임의 역할을 위한 뇌"에 해당하는 것입니다. System 2가 먼저 생각/판단하고, 그 결과를 System 1이 받아서 실제 동작으로 변환하는 구조인 것입니다.

VLA Dual System 아키텍처 구조도

2-2-2-1. VLA Dual System : System 2

VLA Single Model에서는 로봇의 카메라를 통해서 입력되는 이미지를 이해하기 위해서, LLM에서는 이미지에 대해서 이해를 할 수 없기 때문에 LLM 앞에 별도의 Vision Encoder를 사용해서 Vision Token으로 변환하고 LLM에 입력하도록 하였습니다.

그러나 LLM이 Multi-modal로 확장이 되면서, LLM에 Vision Encoder가 합쳐진 형태로 학습된 Vision Language Model(VLM)이 공개되었고, 이 과정에서 이미 LLM은 Reasoning(추론 능력)을 포함하고 있었습니다. 이후부터는 VLM을 사용하기 시작하였습니다.

또한 VLA Single Model에서는 LLM을 통해서 Vision도 이해하고, 명령도 이해하고, 로봇의 움직임 값도 이해하여 최종적으로 로봇의 행동을 생성하는 것이었습니다. 이렇게 되면 인터넷에서 학습한 거대한 언어 능력을 가진 LLM에게 로봇 동작까지 생성하라고 하니, 원래 가지고 있던 언어 능력이 조금씩 손상되거나 변형되기 시작합니다.

그렇기에 VLA Dual System은 위의 문제를 피하기 위해서, 오직 원래 학습한 능력을 유지할 수 있도록 VLM에게는 이미지와 텍스트 명령만을 "이해"하도록 합니다.

→ 이미지를 보고, 명령을 파악하고, 생각하고 계획도 세워보는 일까지만 하고, 그 결과물(VLM을 거치고 나온 압축된 정보값)을 다음 단계로 넘겨주게 됩니다.

2-2-2-2. VLA Dual System : System 1

System 1은 본격적으로 로봇의 행동을 생성하는 역할을 하는 부분입니다. System 1에서는 이미지 생성/비디오 생성과 같은 영역에서 주로 사용되는 기술이었던 Diffusion을 사용하게 되며, 이 원리를 기반으로 동작되는 Diffusion Transformer(DiT)라는 구조를 통해서 System 2로부터 전달받는 값과 함께 로봇이 실제 해야 하는 행동을 생성하게 됩니다.

System 1의 주요한 모듈인 DiT에는 세 가지가 입력됩니다.

입력 1 — Generated VLM Embeddings from System 2 (System 2의 "생각의 결과물")

System 2 박스의 오른쪽 끝에서 나온 화살표가 아래로 구부러져서 System 1의 DiT로 들어가게 됩니다. 이것은 System 2가 System 1에게 "이런 상황이고, 이렇게 해야 해"라고 전달하는 신호입니다.

사람의 뇌로 비유하면, 전두엽이 "저 컵을 집어야 해"라고 결정한 후 그 의도를 소뇌에게 신호로 전달하는 것과 같습니다.

입력 2 — Robot State (로봇의 현재 몸 상태)

Robot State는 로봇이 지금 H/W의 관절 등이 어떤 상태인지 아는 정보입니다. 각 관절이 몇 도로 꺾여 있는지, End-effector(Gripper 등)가 얼마나 열려 있는지 같은 숫자들입니다. 참고로 학습 단계에서는 Teleoperation으로 수집한 시연 데이터 안에 이 Robot State 값도 함께 기록되어, 이미지·명령·동작과 짝을 이루는 학습 데이터가 됩니다.

정확한 로봇의 동작을 만들려면 현재 상태를 알아야 다음 동작을 계산할 수 있기 때문입니다. 예를 들어 "팔을 왼쪽으로 10cm 움직여라"라는 명령을 받았다면, 현재 팔이 어디 있는지 모르면 어디로 움직여야 할지 알 수 없습니다. System 1은 이 정보를 받아 정밀한 움직임을 계산합니다.

그런데 여기서 한 가지 흥미로운 점이 있습니다. Robot State라는 값은 System 2(VLM)에는 들어가지 않습니다. 왜일까요? 생각해보면 당연합니다. VLM에게 "지금 팔꿈치가 42도로 꺾여 있어요"라고 알려줘봤자 쓸모가 없습니다. VLM은 시각 정보와 텍스트 명령 정보를 통해서 "무엇을 해야 할지"를 판단하는 고차원적 사고를 하는 곳이지, 관절 각도를 계산하는 곳이 아니기 때문입니다. 로봇의 행동을 위한 관절 각도 등을 이해하고 생성하는 것은 System 1의 관할입니다.

입력 3 — Noised Action (noise가 섞인 동작)

Diffusion Transformer에서 Diffusion 연산을 위해서는 추가적으로 새로운 값이 필요합니다. 그 값은 "무작위 숫자로 구성된 일종의 Noise 동작(Noised Action)"입니다.

먼저 이미지 생성 AI(DALL-E, Midjourney 같은)가 어떻게 작동하는지 떠올려보면 Diffusion과 Noise에 대한 이해에 도움이 됩니다.

  1. 완전히 무작위의 노이즈(지직거리는 TV 화면 같은 것)가 있습니다.
  2. 조금씩 노이즈를 걷어냅니다.
  3. 점점 의미 있는 형태가 드러납니다.
  4. 마지막에는 완성된 이미지/동영상이 생성되어 나타납니다.

즉 "Noised Action"이라는 입력은 "아직 아무 의미 없는, 노이즈가 가득한 가짜 동작"입니다. Diffusion Transformer는 이러한 Noise 값을 받아서, VLM이 내려준 판단(Generated VLM Embeddings)과 로봇의 현재 상태(Robot State)를 참고하면서, 반복 과정을 통해서 점점 노이즈를 걷어내 진짜 로봇 동작으로 생성해 갑니다.

(참고) Diffusion Transformer와 Flow Matching 적용 배경 & 역할

⚠️ 대부분은 System 1에서 사용되는 Diffusion Transformer(DiT)와 Flow Matching을 사용한 이유, 그리고 이를 통해서 Reasoning이 된다는 잘못된 설명을 하고 있습니다.

앞에서 설명되었듯이, 로봇의 액션값은 이산값이 아닌 부드럽게 움직이는 모션이기에 연속값입니다. AI 영역에서 연속값을 가장 잘 다루며 생성을 할 수 있는 방법이 Diffusion을 통한 생성이며, 그렇기에 Diffusion Transformer를 사용한 것입니다.

Diffusion 기반 생성의 기본 원리는 2020년 Ho et al.이 발표한 Denoising Diffusion Probabilistic Model(DDPM)을 통해 정립되었습니다.

그러나 DDPM은 고품질 생성을 위해 보통 50~1000 step의 반복 denoising이 필요했고, 이는 실시간성이 중요한 로봇 제어에는 부담이 되는 속도였습니다.

이 속도 문제를 해결한 것이 바로 Flow Matching 계열의 기법들입니다. 2022년 Meta AI의 Lipman et al.이 발표한 'Flow Matching for Generative Modeling' 논문을 포함해 비슷한 시기에 여러 연구가 동시에 등장했으며, Flow Matching을 사용하면 같은 품질의 결과를 훨씬 적은 step(5~10회)으로 생성할 수 있어 Diffusion 연산을 가속화할 수 있게 되었습니다.

이후 OpenAI/Google/Stability.AI/FLUX와 같은 여러 이미지 & 비디오 생성 스타트업 또는 기업들이 이미지/비디오 생성을 위해서 Diffusion Transformer를 적용하고, 이 구조를 학습하기 위해서 Flow Matching을 사용하게 되었습니다.

이로 인하여 현재까지도 VLA 영역에서도 로봇 동작 생성을 위해서 Diffusion Transformer 구조에 Flow Matching 기법을 적용하여 학습하였으며, 이를 통해서 실시간성으로 로봇의 동작 생성을 보다 빠르게 할 수 있게 되었습니다.

▌2-3. VLA의 Open-source 활용 그리고 Pre-training, Post-training 가능 영역의 의미

실리콘밸리에 존재하는 대부분의 Robot Intelligence 스타트업들이 만드는 RFM(=VLA)은, 이미 수십억 장의 이미지와 수조 개의 텍스트로 학습되어 있는 세계 최고 수준의 오픈소스 모델들 그리고 학습 알고리즘을 조합하고, 일부 변경 수정하거나 추가적인 차별화 알고리즘을 고안하고 조합해서 VLA를 만들고 있는 중입니다.

"학습 가능 영역"의 의미

VLA Single Model과 Dual System에서 파란색으로 표시된 영역은, 학습이 일어나는 영역입니다.

실제로 RFM 스타트업들이 Open Source 모델들과 학습 알고리즘을 공개된 논문 등을 통해서 조합하고 응용해서 설계하고, 실제 로봇을 통해서 로봇 데이터를 제작/확보하여 추가로 학습하게 됩니다. 이들은 이 결과물이 그들이 만든 RFM이라고 언급하고 있습니다.

즉, Big-tech가 만든 VLM, LLM 모델은 최적의 상태로 학습이 되어진 모델입니다. 그러나 Open Source로 공개된 VLM, LLM을 자칫 잘못 학습하게 되면 그 모델이 잘하던 성질도 상실하게 되는 catastrophic forgetting 현상이 발생하게 됩니다.

그렇기에 실리콘밸리의 RFM 스타트업들은 VLM, LLM 부분은 Open source를 사용하되 이 부분까지는 직접 학습하지 않고 고정해둔 상태에서, 가급적 다양한 동작 Task에 대한 로봇 데이터(teleoperation으로 모은 이미지-명령-동작 쌍)로 학습해서 모델이 로봇 동작을 생성할 수 있게 하는 법을 가르칩니다. 이 과정을 Pre-training을 하는 영역으로 정의할 수 있습니다.

한 문장으로 요약하면,

"세상에 이미 존재하는 최고의 오픈소스 AI들을 조립한 뒤, 로봇 데이터로 가볍게 fine-tuning해서 VLA를 만들자."

그러나 Google DeepMind, Tesla, NVIDIA는 엄청난 Resource(돈, GPU, 데이터, AI 고급 인력)를 통해서 VLA를 구성하는 VLM, LLM 등 그들이 직접 만든 모델을 사용하고 있습니다.

▌정리

Section 1에서는 VLA가 무엇인지를 정리했습니다. LLM이 다음 단어를 예측하듯, VLA는 다음 동작을 예측합니다. 그 핵심은 로봇의 연속적인 동작값을 숫자로 바꿔 마치 단어처럼 취급하는 것이었고, 이를 통해 "보고 → 이해하고 → 행동하는" 과정이 하나의 모델 안에서 끊김 없이 일어나도록 만든 것이 VLA입니다. 여기서 로봇이 처음 듣는 명령에도 대응할 수 있는 이유는, 모델의 바탕에 인터넷 규모의 텍스트와 이미지로 학습된 상식이 이미 들어 있기 때문입니다.

Section 2에서는 그 구조가 왜, 어떻게 변화해 왔는지를 살펴봤습니다. RT-2와 OpenVLA로 대표되는 Single Model은 동작까지 토큰으로 하나씩 생성하다 보니 정교하고 빠른 움직임을 만들기 어려웠고, 이 한계를 넘기 위해 등장한 것이 Dual System입니다. 사람의 전두엽과 소뇌처럼 "이해하고 추론하는 System 2(VLM)"와 "실제 동작을 생성하는 System 1(Diffusion Transformer + Flow Matching)"으로 역할을 나눈 구조입니다.

그리고 이 구조를 이해하고 나면, 실리콘밸리 RFM 기업들이 실제로 무엇을 하고 있는지가 보입니다. VLM과 LLM은 대부분 오픈소스를 그대로 가져와 고정해두고, 자신들이 직접 확보한 로봇 데이터로 학습이 일어나는 영역에 집중하고 있습니다. 1편에서 말씀드린 "학습의 전 과정을 직접 수행하는" 방식이 구체적으로 어느 지점을 의미하는지가 여기서 드러납니다.

결국 어느 영역이 오픈소스이고, 어느 영역이 각 기업의 실제 차별화 지점인지를 구분할 수 있어야 기술의 실체와 마케팅으로 제시된 비전 사이의 간극을 판단할 수 있습니다. 그것이 이번 편에서 구조를 상세히 설명한 이유입니다.

▌ FAQ

Q1. VLM(Vision Language Model)이란 무엇인가요?

VLM은 텍스트와 이미지를 함께 학습하여 사물에 대한 상식(예: "컵은 잡을 수 있다")을 갖춘 AI 모델입니다.

Q2. VLA(Vision-Language-Action Model)란 무엇인가요?

VLA는 VLM을 기반으로 로봇의 이미지(Vision)와 사람의 명령(Language)을 입력받아 로봇의 실제 동작(Action)을 출력하는 모델입니다. 핵심 원리는 로봇의 연속 동작값을 숫자 토큰으로 변환해 "단어"처럼 처리하는 것입니다.

Q3. VLA Single Model(RT-2, OpenVLA)의 한계는 무엇인가요?

이미지·명령·동작을 모두 토큰화해 하나의 LLM이 순차 생성하는 구조로, 정교하고 빠른 연속 동작(예: 빨래 접기)을 구현하기 어렵습니다.

Q4. VLA Dual System은 이 한계를 어떻게 해결했나요?

System 2(VLM, 이해·계획)와 System 1(Diffusion Transformer + Flow Matching, 동작 생성)으로 역할을 분리하여 빠르고 정밀한 동작 생성이 가능해졌습니다.

Q5. RFM 기업들은 VLM·LLM을 왜 직접 학습하지 않나요?

오픈소스 VLM·LLM을 잘못 학습시키면 catastrophic forgetting(기존 성능 손상)이 발생할 수 있어, 이 부분은 고정해두고 로봇 데이터로만 추가 학습(Pre-training)합니다.

김경율 센터장 프로필 이미지

▌연관 콘텐츠 목록

관련 오퍼링 및 문의하기

#PhysicalAI #RobotFoundationModel #VLA #실리콘밸리 #RobotIntelligence

본 콘텐츠는 저작권법에 의해 보호받는 저작물로 LG CNS에 저작권이 있습니다.

사전 동의 없이 2차 가공 및 영리적인 이용을 금합니다.

최상위로 이동