VLA-Arena: 능력 축과 L0–L2 난도를 함께 읽는 방법

VLA-Arena의 평가 조건을 고를 때는 무슨 능력을 볼 것인지와 그 능력을 어느 난도에서 볼 것인지를 함께 정합니다. 정적 장애물을 피하는 과제의 L2와 보지 못한 물체를 다루는 과제의 L2는 같은 난도 이름을 쓰지만 서로 다른 질문에 답합니다.

이를 설정에서도 나눕니다. task_suite_name은 평가할 과제 묶음을, task_level은 그 묶음의 난도를 선택합니다. 모델 체크포인트를 고르는 pretrained_checkpoint까지 연결하면 “어떤 모델을, 어떤 능력의 과제로, 어느 난도에서 평가했는가”가 구체적으로 드러납니다.

네 영역 아래에 열한 개 과제 묶음이 있다

2026년 10월 16일 확인한 공식 README의 Task Suites Overview는 VLA-Arena를 네 영역, 열한 개 suite, 총 170개 과제로 구성합니다. 여기서 영역은 능력을 설명하는 큰 분류이고, suite는 실제로 선택하는 과제 묶음입니다.

영역 살펴보는 내용 suite 수 과제 수
Safety 장애물·위험 영역 회피, 조심스러운 파지, 물체 상태 보존 5 75
Distractor 정적·동적 방해 요소가 있는 장면의 조작 2 30
Extrapolation 공간 관계, 여러 단계 작업, 보지 못한 물체 3 45
Long Horizon 긴 행동 순서를 수행하는 작업 1 20

예를 들어 Safety 안에서도 safety_static_obstacles는 정적 충돌 회피, safety_dynamic_obstacles는 동적 충돌 회피를 다룹니다. safety_state_preservation은 물체 상태 보존을 다룹니다. 같은 Safety라는 제목 아래에 있어도 바꾸는 과제 조건이 다릅니다. 따라서 평가 설정에는 넓은 영역 이름 대신 구체적인 suite 이름이 들어갑니다.

Distractor의 두 묶음은 distractor_static_distractors와 distractor_dynamic_distractors입니다. README는 전자를 어수선한 장면에서의 조작, 후자를 동적인 장면에서의 조작으로 설명합니다. 장애물 회피와 방해 요소 속 조작을 구분해 선택하면, 실패한 결과를 해석할 때도 어떤 과제 구성이었는지 되짚을 수 있습니다.

L0·L1·L2는 각 suite 안에서 읽는다

README는 L0를 목표가 분명한 기본 과제, L1을 복잡도가 높아진 중간 과제, L2를 까다로운 상황의 고급 과제로 설명합니다. 이 단계는 여러 suite에 반복해서 적용됩니다. L2를 고른다고 평가 대상이 모두 긴 작업으로 바뀌는 것은 아닙니다.

정적 장애물 suite를 고정하고 L0에서 L2까지 비교하면, 같은 종류의 능력을 난도에 따라 살펴보는 구성이 됩니다. 반대로 L1을 고정하고 정적 장애물과 보지 못한 물체 suite를 각각 실행하면, 난도 표기는 같게 두면서 다른 능력을 살펴보는 구성이 됩니다. 전자는 한 묶음 안의 변화이고 후자는 서로 다른 묶음 사이의 비교입니다.

각 수준에 어떤 구체적 장면과 과제가 들어가는지는 해당 suite의 과제 정의로 내려가서 읽습니다. README의 기본·중간·고급이라는 설명만으로 장애물 개수, 물체 크기나 행동 단계 수를 모든 suite에 공통으로 대입할 수는 없습니다. 수준 이름이 제공하는 것은 난도 단계의 위치이고, 그 단계를 만드는 조건은 과제별 내용입니다.

과제 수에도 작은 차이가 있습니다. 열 개 suite는 L0·L1·L2에 다섯 과제씩 배치돼 각 15개입니다. long_horizon은 L0에 열 개, L1과 L2에 다섯 개씩 있어 총 20개입니다. 이 숫자는 등록된 과제의 수입니다. 각 과제를 몇 번 반복 실행할지는 별도의 평가 설정이므로, 표의 “5”를 성공률의 분모인 다섯 시행으로 곧바로 읽으면 안 됩니다.

OpenVLA 평가 설정의 세 필드를 연결하기

README의 Configuration 절은 OpenVLA 평가용 파일을 vla_arena/configs/evaluation/openvla.yaml로 안내하고, pretrained_checkpoint, task_suite_name, task_level을 설정하도록 설명합니다. 이를 실험 조건표로 옮기면 다음과 같습니다.

설정 필드 고르는 대상 비교할 때의 역할
pretrained_checkpoint 평가할 모델 체크포인트 같은 모델의 난도 변화인지, 모델 사이의 비교인지 정함
task_suite_name 예: safety_static_obstacles 평가할 구체적인 과제 묶음을 정함
task_level 해당 suite의 L0·L1·L2 단계 선택한 묶음 안에서 평가 난도를 정함

가상의 평가 계획을 세워 보겠습니다. 모델 A가 정적 장애물 조건에서 어떻게 달라지는지 알고 싶다면 체크포인트와 suite를 유지하고 수준별 결과를 각각 남깁니다. 모델 B와 비교할 때는 같은 suite·수준 조합을 채웁니다. 이렇게 만들면 모델의 차이와 평가 과제의 차이가 서로 다른 칸으로 드러납니다.

결과를 “A의 L2 성공률”이라고만 적으면 어떤 능력의 결과인지 빠집니다. “정적 장애물 suite의 L2에서 평가한 A”라고 적으면 독자가 해당 과제 묶음과 수준을 찾아갈 수 있습니다. 반복 횟수와 성공 판정은 그 조합에 붙는 실행 조건으로 기록하면 됩니다.

여러 단계 작업이라는 표현도 세부 묶음과 함께 읽는 것이 좋습니다. README는 task_workflows를 Extrapolation 아래에, long_horizon을 Long Horizon 아래에 둡니다. 두 설명에 모두 순차 행동이 등장하더라도 실제 선택자는 다릅니다. 사용하려는 작업이 어느 묶음의 구체적인 과제와 닮았는지를 보고 평가 대상을 정하는 편이 명료합니다.

전체 점수를 만들 때 과제 구성도 함께 들어간다

170개라는 전체 수는 네 영역이 같은 비중이라는 뜻이 아닙니다. 과제별 점수를 똑같은 비중으로 평균하는 집계 예시를 생각하면 Safety의 몫은 75/170, Long Horizon의 몫은 20/170입니다. 반면 네 영역의 평균을 다시 같은 비중으로 평균하면 각 영역의 몫은 1/4입니다. 동일한 과제별 결과로도 집계 방식에 따라 전체 점수가 달라질 수 있습니다.

그래서 처음에는 suite를 행으로, L0·L1·L2를 열로 둔 결과를 유지하는 편이 좋습니다. 관심 작업이 정적 장애물 조건이라면 해당 행의 변화부터 읽고, 다른 능력으로 관심을 넓힐 때 다른 행을 봅니다. 그다음 전체 수치를 만들면 어느 과제와 난도가 평균에 들어갔는지 설명할 수 있습니다.

난도별 점수를 읽을 때는 훈련에 사용한 데이터 조건도 별도로 붙입니다. 평가 파일의 task_level은 평가할 수준을 선택하는 필드입니다. 그 값 자체가 체크포인트의 훈련 데이터 구성을 설명하지는 않습니다. 이 두 정보를 같이 놓아야 익숙한 조건의 실행과 새로운 조건으로의 전이를 구분할 수 있습니다.

이 글은 공식 README의 구성표와 설정 설명을 해석했으며, 모델 학습이나 평가 명령을 직접 실행한 결과는 포함하지 않습니다.

VLA-Arena의 suite·수준 표를 정했다면, 로봇 VLA 평가의 성공률·지연·일반화 지표를 연결해 각 칸에서 무엇을 측정할지 정할 수 있습니다. 구체적인 능력과 난도를 먼저 고르면, 모델 점수도 그 조건에 맞는 질문에 답하게 됩니다.