논문명: OpenVLA: An Open-Source Vision-Language-Action Model
학회(출판연도): IEEE International Conference on Robotics and Automation (ICRA 2025)
연구분야: Vision-Language-Action(VLA) 모델, 로봇 조작(Robot Manipulation), 멀티모달 로보틱스, 로봇 파운데이션 모델
Background
VLA의 등장 배경
- LLM(Large Language Model)
- GPT처럼 텍스트 → 텍스트를 처리하는 모델로 언어만 이해하고, 언어만 생성함
- 입력: 고양이를 설명해줘 → 출력: 고양이는 포유류,,,
- VLM(Vison-Language Model)
- 이미지 + 텍스트 → 텍스트
- CLIP, BLIP, LLaVA, GPT-4V
- 이미지를 이해할 뿐, 실제 행동까지는 x
- VLA(Vision-Language-Action)
Abstract
- 기존에는 로봇에게 새로운 작업을 시킬 때마다 그 작업만을 위한 모델을 새롭게 학습했어야 했음
- 하지만, 이미지-텍스트 데이터와 실제 로봇 데이터를 함께 학습한 대규모 VLA 모델이 있다면, 기존 모델을 파인튜닝하는 것만으로도 새로운 작업을 잘 수행하는 로봇을 만들 수 있지 않을까?
- 하지만, 기존 로보틱스 분야에서 ① 대부분 비공개로 일반 연구자가 접근할 수 없고, ② 기존 연구는 새로운 작업에 대해 VLA를 효율적으로 fine-tuning하는 방법을 충분히 연구하지 않았었음 ⇒ 이런 문제를 해결하기 위해 97만 개의 실제 로봇 시연 데이터로 학습된 70억(7B) 파라미터 규모의 오픈소스 VLA인 OpenVLA를 제안
- LLaMa2 언어 모델을 기반으로 하여, DINOv2와 SigLIP에서 사전 학습된 특징을 융합하는 시각 인코더를 결합한 구조임
- OpenVLA는 RT-2-X보다 훨씬 가볍고, 메모리도 적게 쓰는데 성능은 더 우수했음
- 여기에 더불어 OpenVLA를 새로운 환경에서 fine-tuning할 수 있음을 확인했고, 여러 객체가 포함된 다중 작업 환경에서도 뛰어난 일반화 성능과 언어 명령을 이해하는 능력도 굿굿!
- 거대 GPU가 아닌 일반 소비자용의 GPU로도 가능하다!
1. Introduction
- 기존의 로봇 정책은 학습 데이터를 넘어서 일반화하는데에는 아쉬움이 있었음
- 기존에는 물체의 위치나 조명이 조금 달라지는 경우에는 어느정도 대응을 할 수 있지만, 장면 속에 방해 요소나 새로운 물체가 등장, 혹은 이전에 보지 못했던 새로운 작업 명령을 받게 되면 성능이 크게 떨어졌음
- 반면, 로보틱스 분야 밖의 CLIP, SigLIP, LLaMa2와 같은 비전 및 언어 파운데이션 모델 같은 경우에는 일반화 성능뿐 아니라, 그 이상의 능력도 갖추고 있음
- 인터넷 규모의 사전 학습 데이터세트로 인한 사전 지식 덕분
- 로보틱스 분야에서도 이러한 규모의 사전학습을 재현하면 좋겠지만, 로보틱스에서 가장 큰 데이터 세트인 로봇 조작에서도 10만~100만개 정도의 예제만 포함되어 있음 ⇒ 그러면 이미 학습된 vision-language 파운데이션 모델을 핵심 구성 요소로 학습해보면 어떨까?
- 물론 기존에도 사전 학습된 언어모델과, vision-language 모델을 로봇 표현 학습에 활용하거나, 작업 계획 및 실행을 위한 모듈형 시스템의 구성 요소로 활용하긴 했었음
- 즉 VLM은 단순 “설명”을 하고 실제 행동은 다른 모델이 담당
- 최근에는 제어를 위해 VLA모델을 직접 학습하는데 사용
- PaLI같은 VLM을 직접 파인튜닝해서 로봇 제어 행동을 생성하고, 이를 통해 사전학습된 비전 및 언어 파운데이션 모델을 로보틱스에 직접 활용하는 방식
- 이렇게 인터넷 규모로 학습된 모델을 기반으로 하다보니, RT-2와 같은 VLA는 기존의 로봇보다 일반화 성능이 좋았음
- 그러나 기존 VLA가 널리 활용되지 못하는 이유가 2가지 있음
- 현재 모델의 대부분은 비공개이고, 모델 구조, 학습 방법, 데이터 구성에는 정보가 제한적
- 새로운 로봇, 환경, 작업에 VLA를 적용하고 적응시키는 방법, 특히 일반 소비자용 GPU와 같은 하드웨어에서의 적용 방법을 제시하지 않음
Visually-Conditioned Language Models
- 입력 이미지와 언어 프롬프트로부터 자연어를 생성하도록 인터넷 규모의 데이터로 학습된 VLMs → 시각 질의응답(VQA)부터 객체 위치 추정(Object Localization)에 이르기까지 다양한 응용분야에서 활용됨
- 최근 VLM의 발전을 이끈 핵심 요소 중 하나는 사전 학습된 비전 인코더의 특징과 사전 학습된 언어 모델을 연결하는 구조임!
- 초기 연구는 이미지와 텍스트를 연결하는 복잡한 구조를 많이 연구했었지만, 최근에는 더 단순한 방식이 주류가 됨 →
Patch-as-token ⇒ 이러한 방법을 사용해서 OpenVLA도 기존의 성능이 좋은 VLM을 가져와서 백본으로 활용할거임~!
- DINOv2(저수준 공간 정보) + SigLIP(고수준 의미 정보)
Generalist Robot Policies
- 최근 로보틱스에서 다양한 로봇 데이터세트를 이용하여 여러 작업을 수행할 수 있는 범용 로봇 정책을 학습하는 방향으로 연구가 진행되고 있음
- 기존 범용 로봇 정책
Octo 도 유연하게 새로운 환경에서도 파인튜닝 가능했었음
- 다만, 기존 연구와 OpenVLA의 핵심적인 차이는 모델 구조
- 기존의 연구: 여러 사전학습 모듈을 조합한 뒤 새로운 모듈을 추가하여 학습
- OpenVLA: 직접 파인튜닝해서 로봇 행동 생성
Vision-Language-Action Models
- 여러 연구에서 VLM을 로봇에 활용하고 있었음(시각 상태 표현, 객체 검출, 고수준 계획, 피드백 신호 등)
- 하지만, 복잡한 구조 또는 정밀하게 보정된 카메라를 필요로 했었음
- VLA란, 기존에는
image → text 였다면, 이제는 image → action 로 바뀐 것을 의미한다. 즉 로봇 제어 행동을 VLM 백본에 통합함
⇒ VLA의 장점
- 이미지와 언어가 이미 인터넷 규모에서 잘 정렬되어 있다.
- VLM 구조를 그대로 사용한다.
- VLM이 발전하면 VLA도 자동으로 발전한다.
3. The OpenVLA Model
- OpenVLA
- Open X-Embodiment 데이터세트의 97만 개 로봇 시연으로 학습된 70억 파라미터 규모의 VLA 모델
- VLA 모델을 개발할 때, 최적의 방법에 대해서 아직 충분히 연구되지 않은 질문들이 존재함
- 어떤 모델의 백본? 어떤 데이터세트? 어떤 하이퍼 파라미터? → VLA가 새로운 분야라서 아직 명확한 기준이 없다
3.1 Preliminaries: Vision-Language Models

3.2 OpenVLA Training Procedure
- OpenVLA를 학습하기 위해 사전학습된 Prismatic-7B VLM 백본을 로봇 행동 예측을 하도록 파인튜닝 진행
- 행동 예측 문제를 Vision-Language 문제로 정의
- 입력 이미지 + 자연어 작업 지시 → 예측된 로봇 행동을 문자열로 출력하도록
- 즉, 로봇 행동도 하나의 “문장”처럼 생성하도록 함
- LLM이 로봇 행동을 예측할 수 있도록 연속적인 로봇 행동을 언어 모델의 토크나이저가 사용하는 이산 토큰으로 변환(256개의 bin 중 하나로, 1~99% 범위만)
- LLM은 원래 “apple”, “robot”과 같은 단어(token)만 출력할 수 있는데, 로봇의 행동은 x=0.43, y=-0.12와 같이 실수로 되어 있다
- 즉, 이 실수를 토큰으로 바꾸는 과정이 필요한 것! →
0.73이라는 값을 Token #182처럼 바꿔 출력함
- (P)그런데, Llama 토크나이저가 새롭겍 추가할 수 있는 스페셜 토큰을 100개만 제공을 하는데, Action을 표현하기 위해서는 256개의 토큰이 필요한 것! → (S) 가장 사용 빈도가 낮은 256개의 토큰을 Action Token으로 덮어씀
- 즉, 새로운 토큰을 만드는대신, 거의 사용하지 않는 토큰을 action 토큰으로 교체
- 이렇게 행동 토큰 시퀀스로 변환되면, OpenVLA는 다음 토큰 예측 방식으로 학습 진행 (loss도 Action 토큰 내에서만 계산)
- 즉, 학습 방식은 GPT와 동일한데, text token을 맞추는 것이 아닌 action token을 맞추도록 학습한다는 점이 다른 점!
3.3 Training Data
- OpenVLA 학습 데이터의 목표
- Open X-Embodiment(OpenX)를 기반 데이터세트로 사용
- 70개 이상의 로봇 데이터세트
- 200만개 이상의 로봇 trajectory를 포함
- 위 데이터세트를 여러 단계에 걸쳐 정제를 진행했는데, 데이터 정제의 목표에는
- 모든 데이터가 같은 입력과 출력 형식을 갖도록
- 특정 작업만 너무 많지 않도록 데이터를 균형 있게 2가지가 있음
-
Manipulation 데이터세트만 사용, Third-person Camera, Single-arm End-effector Control을 사용하는 데이터만 선택
→ 데이터 균형을 맞추기 위해서 Octo에서 사용한 Mixture Weight를 활용함
-
데이터가 너무 많은 데이터세트는 비중을 줄이고, 다양성이 높은 데이터세트는 비중을 높이는 방식
- 추가적으로 DROID 데이터세트도 10% 비율로 실험했지만, 학습 과정에서 Acition Token 정확도가 낮게 나타났음
3.4 OpenVLA Design Decisions
- OpenVLA 모델을 개발하는 과정에서 바로 거대한 OpenVLA를 학습한 것이 아닌 먼저 작은 규모의 실험을 반복하며 어떤 설계가 가장 좋을지를 확인해봄
- 계산 비용을 줄이고 실험 속도를 높이기 위해 OpenX 데이터세트 전체를 활용하는 대신 BridgeDataV2에서 OpenVLA를 학습하고 평가함
VLM Backbone
- Prismatic외에도 IDEFICS-1과 LLaVA를 로봇 행동 예측에 파인튜닝해 봄
- 두 모델 모두 물체가 하나만 있는 작업에서는 비슷한 성능을 보였음
- 여러 물체가 있는 경우에는 LLaVA가 좀 더 뛰어난 언어 grounding 성능을 보임 ⇒ 언어-객체 연결에서 LLaVA가 더 뛰어났다는 뜻
- BridgeData V2의 5개 언어 이해 작업에서 LLaVA가 IDEFICS-1보다 평균 35% 높은 절대 성공률 기록함
- 파인튜닝된 Prismatic은 이러한 LLaVA보다도 10% 높은 절대 성공률 기록! → SigLIP과 DINOv2를 함께 사용하는 구조라서 공간 추론 능력이 더 좋아서라고 판단 +) Prismatic은 코드 구조가 모듈화 되어 있고 사용하기 쉬워서 최종적으로 선택
Image Resolution
- 입력 이미지 해상도는 학습 계산량에 큰 영향을 미침
- 해상도가 높을수록 패치 토큰이 많아지고 context 길이가 증가해서 계산량이 제곱으로 증가
- 실험결과, 224x224와 384x384 해상도를 비교했지만, 성능 차이는 없었음 → 즉, 해상도를 높이더라도 큰 차이가 없었다는 뜻 (로봇의 경우, “뭐가 있다”가 중요하지 해상도가 크게 중요하지 않다)
Fine-Tuning Vision Encoder
Training Epochs
- 일반적은 LLM과 VLM의 경우, 1-2epoch 정도만 학습 진행 ↔ VLA는 훨씬 많은 epoch 필요, Action Token 정확도가 95% 넘을 때까지 실제 로봇 성능이 계속 향상되었음 (최종적으로는 27epoch 학습)
Learning Rate
- 여러 Learning Rate를 실험한 결과 2x10^(-5)가 가장 좋은 성능을 보였음
- 또한 대부분의 Transformer는 초기에 Warmup을 사용하지만 OpenVLA에서는 필요하지 않았음
3.5 Infrastructure for Training and Inference
-
학습시
- 64개의 NVIDA A100 GPU로 14일동안 학습
- 총 21,500 A100 GPU-hours 사용됨
-
추론시
-
bfloat16으로 약 15GB GPU 메모리가 필요하며, RTX 4090에서 6Hz로 동작
(학습은 고성능의 컴퓨팅 자원이 필요하지만, 실행에 있어서는 일반적인 GPU에서도 ok)
-
양자화를 적용하면 메모리 사용량을 더 줄일 수 있고, 로봇 성능도 유지됨
✓ 왜 양자화를 하는걸까?
-
“양자화”라고 하면 물리학에서 쓸 법한 용어같지만, 딥러닝에서는 모델을 더 작고 빠르게 만드는 압축 기술이라고 할 수 있음
-
먼저, OpenVLA의 경우에는 70억 개의 파라미터를 가지 모델임
→ 즉, 파라미터 하나하나가 숫자인데, 이런 숫자들이 70억개 있다고 보면 됨. 이 숫자들을 저장해야하니까 모델은 엄청 커질 수 밖에 없는 상황
- 이때, 숫자를 32bit(float32)로 저장하게 된다면, 0.123456789 처럼 소수점을 굉장히 자세히 저장하게 되는데,
- 실제로는 0.12만 저장해도 성능 차이가 거의 없는 경우가 많음
⇒ 그래서 “굳이 이렇게 정밀하게 저장할 필요가 있을까?” 라는 생각에서 나온 것이 양자화
✓ 양자화의 정의
4. The OpenVLA Codebase
-
VLA 모델을 학습하기 위한 모듈형 PyTorch 코드베이스 공개: https://openvla.github.io/
-
본 코드베이스는 단일 GPU에서 VLA 파인튜닝부터 여러 노드의 GPU 클러스터에서 수십억 파라미터를 가진 VLA를 학습하는 것까지 확장 가능함
-
또한 대규모 transformer 모델 학습을 위한 최신 기술인 Automatic Mixed Precision(AMP), FlashAttention, Fully Sharded Data Parallelism(FSDP)을 지원함
✓ AMP(Automatic Mixed Precision)?
-
자동 혼합 정밀도 학습
-
기존에는 Float32만 사용을 했는데, AMP의 경우에는 Float32+Float16(BF16)를 자동으로 섞어서 사용
-
즉, 필요한 계산은 32bit로, 덜 중요한 계산은 16bit로 자동 처리하는 기술임
→ GPU 메모리 절약, 학습속도 증가, 성능은 거의 유지됨
✓ FlashAttention?
- Transformer에서 가장 많은 계산을 차지하는 부분이 Attention 연산 부분
- FlashAttention은 이 Attention을 더 효율적으로 계산하는 알고리즘임
✓ FSDP(Fully Sharded Data Parallelism?
-
그리고 해당 코드베이스는 기본적으로 별도의 추가 작업없이, OpenX 데이터세트로 바로 학습을 시작할 수 있고, Hugging Face의 AutoModel 클래스와 통합되어 있어서 쓰기에 용이함
+) LoRA 파인튜닝과 양자화된 모델 추론도 지원
5. Experiments
- 실험 평가 목표는
- OpenVLA가 추가 학습 없이 학습 직후 그래도 사용해도 잘 동작하는지?
- 새로운 환경에서 조금만 파인튜닝하면 더 잘 적응하는지?
- 그래서 아래의 3가지 연구 질문을 검증하고자 함
- 여러 로봇과 다양한 일반화 상황에서 평가했을 때, OpenVLA는 기존 범용 로봇 정책과 비교했을 때 어떠한 성능을 보이는지
- OpenVLA는 새로운 로봇 환경과 작업에 효과적으로 파인튜닝될 수 있는지, 그리고 imitation learning 방법과 비교했을 때 어떤 성능을 보이는지
- Diffusion Policy, Octo Fine-tuning
- 적은 GPU에서도 사용 가능한가?, 성능과 계산량 사이에서 어떤 트레이드 오프가 존재하는가?
- 즉, LoRA와 Quantization을 사용했을 때 성능이 얼마나 유지되고, GPU 사용량은 얼마나 줄어드는지를 확인하고자 함
Robot Setups and Tasks
-
추가학습없이 여러 로봇에서 얼마나 잘 동작하는지 평가하기 위함
-
OpenVLA의 out-of-the-box 성능을 두 가지 로봇 플랫폼(robot embodiments)에서 평가
-
본 플랫폼 2개에서 다양한 일반화 능력을 평가할 수 있도록 포괄적인 평가 작업들을 구성함
- 시각적 일반화
- 훈련 때 보지못했던 배경, 방해 물체, 물체 색깔, 물체 외형에서도 잘 동작하는지
- 예를 들어 훈련 때에는 빨간 컵만 봤었는데 테스트에서 파란 컵이 나와도 집을 수 있는지를 평가함
- 동작 일반화
- 훈련 때와 다른 위치에 물체가 있어도 잘 집는가
- 예를 들어, 훈련때에는 컵이 가운데에 있었는데 테스트 때에는 컵이 오른쪽에 있다고 해도 잘 집을 수 있는지 평가
- 물리적 일반화
- 훈련에서 보지 못한 크기, 모양의 물체도 잘 다룰 수 있는지를 평가
- 학습 때는 작은 컵만 봤었는데 테스트에서 큰 컵이 나왔을 때에도 집을 수 있는지 평가
- 의미적 일반화
- 훈련때 없는 새로운 물체, 명령, 인터넷 개념도 이해하는지
- 훈련때
바나나가 없었는데, 명령어가 바나나를 집어라 라고 했을 때에도 수행할 수 있는지
→ VLM의 사전지식 사용
-
또한, 여러 개의 물체가 있는 장면에서 사용자의 프롬프트에 지정된 올바른 물체를 조작할 수 있는지도 평가 → 언어 조건 능력 측정
-
그러니까 책상위에 빨간컵, 파란컵, 초록컵이 있을 때 명령어가 “빨간 컵을 집어” 라고 하면 정말 빨간색 컵만 집는지를 확인
⇒ 전체적으로 BridgeData V2에서는 17개의 작업 x 10번의 시도 = 170회 rollout, Google Robot에서는 12개의 작업 x 5번의 시도 = 60회의 rollout으로 각 방법을 평가함
✓ Rollout이란?
- 강화학습과 로봇분야에서 하나의 작업을 처음부터 끝까지 실제 수행한 한 번의 실행을 의미함
- 예를 들어, “컵을 집어서 상자에 넣어”라고 하면,
카메라 입력 → 컵 탐색 → 컵 집기 → 상자로 이동 → 놓기 → 종료 이 전체 과정에 1rollout
-
평가는 모두 A/B 평가 방식으로 수행되었고, 공정한 비교를 위해 동일한 작업(task)과 동일한 초기 로봇 및 물체 상태를 사용
✓ A/B Evaluation?
Comparisions
- OpenVLA를 기존의 3가지 범용 조작 정책과 비교함
- RT-1-X(3,500만 파라미터) & Octo(9,300만 파라미터)
- OpenX 데이터세트 일부를 이용하여 처음부터 학습된 Transformer기반 정책
- Octo는 오픈소스 조작 정책 중 SOTA
- RT-2-X(550억 파라미터)
- 사전학습된 Vision 및 Language Backbone을 사용하는 SOTA의 비공개 VLA
[실험결과]


- RT-1-X와 Octo는 복잡한 환경(방해 물체가 존재할 때)에서 성능이 많이 떨어졌음
- 기존 논문보다 더 어려운 task로 진행했기 때문에, 인터넷 사전학습을 사용하지 않은 모델이 성능이 낮게 나타나는 것은 당연하다
- 반면, 인터넷 사전학습된 RT-2-X는 위 두 모델보다 훨씬 뛰어난 성능을 보였음
- 특히, OpenVLA는
- GoogleRobot 평가에서 RT-2-X와 비슷한 성능
- BridgeData V2에서는 RT-2-X보다 훨씬 뛰어난 성능
- 그럼에도 불구하고 모델크기는 7B/55B로 약 1/10 수준!
Qualitative Results
-
단순 성공률뿐만 아니라 행동 자체도 RT-2-X와 OpenVLA는 다른 모델들보다 훨씬 안정적인 행동을 보임
- 방해 물체가 있어도 올바른 물체에 접근하고,
- 목표 물체의 방향에 맞게 로봇의 말단을 적절히 회전시키며
- 물체를 불안정하게 집었을 경우에도 이를 다시 잡는 행동을 수행함
-
RT-2-X는 Semantic Generalization 작업에서는 더 높은 성능을 보임
- 즉, 새로운 개념을 이해하는 능력은 RT-2-X가 조금 더 좋더라~~ ⇒ RT-2-X가 더 큰 규모의 인터넷 사전 학습 데이터를 사용했고, 로봇 데이터뿐 아니라 인터넷 데이터도 같이 사용해서 사전학습을 더 잘 유지했을 것이라고 예상
-
하지만, 그래도 OpenVLA는 나머지 모든 작업에 있어서 BridgeData V2와 Google Robot 모두 RT-2-X와 비슷하거나 더 뛰어난 성능을 보였음
-
그 이유로는
-
더 많은 학습 데이터(로봇)
-
더 깨끗한 데이터
→ Bridge Dataset에 있는 All-zero Actions를 제거함
✓ All-zero Action
- 예를 들어, 로봇 Action이 [0,0,0,0,0,0,0] 이면, 아무것도 하지 않는 건데, 이런 데이터가 많게 되면 모델은 “가만히 있는 것이 정답”이라고 잘못 학습할 수 있게 됨
- 그래서 이걸 제거해서 데이터 품질을 높였다고 할 수 있음
-
더 좋은 Vision Encoder
→ OpenVLA는 SigLIP + DINOv2 함께 사용
즉, Semantic 정보와 Spatial 정보를 동시에 활용하여 로봇 제어에 유리
5.2 Data-Efficient Adaptation to New Robot Setups
- 기존 연구들은 주로 VLA를 추가 학습 없이(out-of-the-box) 평가하는데 집중
→ 우리는 새로운 로봇 환경에 대한 효과적인 파인튜닝에 대한 연구를 진행함
- 즉 쉽게 말해 OpenVLA가 Google Robot으로 학습되었지만, 실제 사용자는 Franka Robot을 사용할 수도 있음. 때문에 새로운 로봇에 얼마나 쉽게 적응하는지가 중요한 것!
- OpenVLA에 대해 간단한 파인튜닝 방식을 사용
- 즉 모든 모델 파라미터를 대상으로 목표대상에 대한 10-150개 시연만을 사용하여 학습
- OpenVLA를 2가지 환경에서 평가함
Comparisons
- OpenVLA와 현재 SOTA인 imitation learning 방법인 Diffusion Policy와도 비교 진행
- 공정한 비교를 위해서 입출력 조건도 맞춘 버전으로 진행
- 또한 파인튜닝을 지원하는 범용 정책인 Octo도 동일한 데이터로 파인튜닝하여 비교 진행
- 동일 데이터세트로 OpenVLA 파인튜닝해서 이를 OpenVLA라고 표기
- 마지막 Ablation 실험으로 OpenX로 사전학습된 OpenVLA 대신 Prismatic VLM을 바로 파인튜닝한 모델과도 비교 진행
- Prismatic → 새작업 → OpenVLA Sacratch
- Prismatic → OpenX 학습 → OpenVLA → 새 작업 ⇒ 이렇게 비교 진행 — “OpenX 사전 학습이 도움이 되는가?”
Results

- 두 가지 Diffusion Policy는
- "Put Carrot in Bowl", "Pour Corn into Pot" 와 같은 단일 명령의 작업에서는 Octo와 OpenVLA보다 경쟁력이 있거나 더 우수한 성능을 보였음
- 하지만, 여러 물체가 존재하고 언어 조건이 복잡한 작업에 있어서는 사전학습된 범용 정책(OpenVLA, Octo)이 더 좋은 성능을 보였음
- 또한 OpenX로 사전학습하지 않은 OpenVLA Scratch에서도 낮은 성능을 보였음
- OpenVLA가 모든 평가 작업에서 최소 50%이상의 성공률을 달성한 유일한 방법이었음
- 섬세한 작업에 있어서는 Diffusion Policy가 더 부드럽고 정밀했음
- [향후 연구 과제] Diffusion Policy에서 사용하는 Action Chunking과 Temporal Smoothing을 OpenVLA에 적용한다면, 동일한 수준의 정교한 작업을 얻을 수 있지 않을까?
5.3 Parameter-Efficient Fine-Tuning
- 이전 절에서 수행한 OpenVLA의 Full Fine-tuning은 높은 성능을 달성하기 위해 작업마다 그리고 데이터세트 크기에 따라 8개의 A100 GPU를 사용하여 5-15시간동안 학습 진행
- VLA를 처음부터 사전학습하는 것에 비하면 휠씬 적은 계산량이긴하지만, 본 절에서는 계산량과 학습 파라미터를 더욱 줄일 수 있는 파인튜닝 방법을 탐구해볼 것
Full Fine-tuning
- 파인튜닝 과정에서 모든 가중치를 업데이트하는 것
Last layer Only
- OpenVLA Transformer의 마지막 레이어와 token embedding matrix만 파인튜닝
Frozen Vision
- Vision Encoder를 고정하고 나머지 가중치는 파인튜닝하는 것
- 즉, 이미지 특징은 그대로 두고, LLM만 학습
Sandwich Fine-tuning
- Vision Encoder, Token Embedding Matrix, 마지막 layer만 학습 가능하게 함
LoRA
- Hu 등의 Low-Rank Adaptation 기법을 사용하여 여러 rank 값 r을 적용하여 모델의 모든 Linear Layer에 적용
결과

- 마지막 레이어만 학습하거나 비전 인코더를 고정하는 방법의 경우에는 성능이 낮았음
- 이는 목표 환경에 맞게 Vision Feature를 추가적으로 적응시키는 것이 매우 중요함을 의미함
- 반면 Sandwich Fine-tuning은 비전 인코더를 파인튜닝하기 때문에 더 좋은 성능을 달성함
- 또한, 전체 LLM Backbone을 Fine-tuning하지 않기 때문에 GPU 메모리도 덜 사용하는 편
- 마지막으로 LoRA는 성능과 학습 메모리 사용량 사이에서 가장 좋은 trade-off를 달성했음
-
전체 파라미터 1.4%만 학습하면서도 Full fine-tuning과 동일한 성능
-
LoRA의 Ranke 값은 정책 성능에 거의 영향을 주지 않았음
→ 기본 Rank값으로 r=32를 사용하는 것을 권장
⇒ LoRA를 사용함으로써 단일 A100 GPU 한 장만으로도 10-15시간 안에 OpenVLA를 새로운 작업에서 Fine-tuning할 수 있었으며, 이는 Full fine-tuning과 비교하여 계산량을 8배 줄인 것
5.4 Memory-Efficient Inference via Quantization
- OpenVLA는 70억 개의 파라미터를 가진 모델로 1억 파라미터를 가진 Octo와 같은 기존 오픈소스 범용 정책보다 추론시 더 많은 메모리를 사용함
- OpenVLA를 bfloat16 정밀도로 저장하고 불러와 추론을 수행(일반적인 방법)
- 메모리 사용량을 절반으로 줄여서 16GB GPU메모리 만으로도 OpenVLA를 실행할 수 있게 함
- 본 절에서는 LLM추론을 위해 개발된 양자화 기법을 사용해서 정책 추론에 필요한 메모리를 줄이고 VLA의 접근성을 높일 수 있는지 평가
- 네트워크 가중치를 더 낮은 정밀도로 불러오고
- 그 결과 메모리 사용량은 감소하지만 추론 속도와 정확도가 일부 감소할 수 있는 trade-off 발생
실험
- 8-bit와 4-bit 정밀도로 OpenVLA를 실행하여 BridgeDataV2의 대표적인 8개 작업에서 평가

- 비교 기준은 메모리, 실제 성공률임, 다양한 소비자용 및 서버용 GPU에 달성 가능한 제어 주파수도 표에 제시함
결과
- 대부분의 GPU에서 8비트 양자화 추론 속도를 느리게 만든다는 것을 관찰함
- 반면, 4비트 추론은 더 높은 처리량을 달성함
- GPU메모리 전송량이 크게 줄어들어서 양자화 연산의 오버헤드를 상쇄하기 때문
- 추론 속도가 감소한 결과, 8비트 양자화에서는 성능이 크게 감소했음
- 4비트 양자화 모델은 A5000 GPU에서 3Hz로 실행될 수 있었으며, 이는 데이터 수집 당시의 시스템 동작(5Hz)에 더 가까움
⇒ 즉, 무조건 더 높은 비트(INT8)가 좋은 게 아니라 OpenVLA에서 INT4양자화가 메모리 절감과 성능 유지에 있어 가장 좋은 균형을 보였음
6. Discussion and Limitations
- 본 논문에서 SOTA OpenVLA를 공개하며, 다양한 로봇에 대한 추가학습이 없더라도 좋은 성능을 냈음
- 또한, OpenVLA가 5.3절의 Parameter-efficient Fine-tuning 기법을 사용하여 새로운 로봇 환경에서도 쉽게 적응할 수 있음을 보였음
하지만 한계도 존재했는데,
- 현재는 한 장의 이미지만을 입력으로 사용할 수 있다
- 실제 로봇 환경은 매우 다양하고 사용 가능한 센서 입력 또한 매우 당야함
- 그래서 OpenVLA가 여러 장의 이미지, 고유 감각 정보, 그리고 과거 관측까지 지원하도록 확장하는 것이 중요한 미래 연구 방향이라는 것
- 이미지와 텍스트를 번갈아 포함된 데이터로 사전학습된 VLM을 활용하면 더 유연한 VLA를 만들 수 있지 않을까?
- OpenVLA의 추론 처리량을 높이는 것이 50Hz로 동작하는 ALOHA와 같은 고주파 제어 환경에서 VLA를 사용하기 위해 매우 중요함
- 현재 논문은 대부분 한 팔인데, 앞으로는 양 팔을 활용하여 복잡한 작업도 가능해질 것이다.
- 또한 속도를 높이기 위해 Speculative Decoding같은 최적화 기법이 이러한 문제를 해결 할 수 있을 것
- 계산 자원의 한계때문에 많은 VLA 설계 문제들이 충분히 연구되지 못했음
- 기본 VLM의 크기는 VLA의 성능에 어떤 영향을 미치는지
- 로봇 행동 데이터와 인터넷 규모의 vision-language 데이터를 함께 학습하면 VLA 성능이 크게 향상 되는지
- 어떤 시각 특징이 VLA에 가장 적합한지 ⇒ 때문에 우리가 이 코드 베이스르 공개하니까 연구 커뮤니티가 함게 연구했으면 좋겠다~~