멀티모달 언어모델(MLLM, 이미지와 글을 함께 다루는 모델)은 "사과가 컵의 왼쪽에 있다" 정도는 곧잘 맞힌다. 그런데 "그럼 뒤에서 보면 어느 쪽이 더 왼쪽일까?"처럼 시점을 한 번 틀면 금세 헛짚는다. 사람에겐 쉬운 문제다. 그런데 모델이 왜 틀리는지는, 내놓은 답과 행동만 봐서는 알 길이 없었다. 눈이 나빠 못 본 것인지, 보긴 봤는데 머릿속 계산이 꼬인 것인지 구분이 안 되기 때문이다.
이 논문은 모델 내부를 열어 그 답의 출처를 짚는다.
시점 전환 문제(SpinBench)에서 세 모델에게 그냥 답을 물으면 정확도가 약 61%다. 둘 중 하나를 고르는 문제라 아무렇게나 찍어도 50%는 나온다. 찍기보다 조금 나은 수준이다.
그런데 같은 모델의 중간 표현에서 위치 좌표를 읽어내, 시점을 돌리는 계산만 바깥에서 대신 해주면 정확도가 90%대로 뛴다. 중간 표현이란 입력과 출력 사이에서 모델이 들고 있는 숫자 뭉치다. 저자들은 그 숫자 속에서 사물의 위치 정보가 자리 잡은 구조를 찾아내 S-Space라 불렀다.
달라진 것은 하나뿐이다. '시점에 맞게 좌표를 돌리는 계산'을 모델에게 맡겼느냐, 바깥 규칙으로 처리했느냐. 모델을 더 크게 바꾼 것도, 더 좋은 이미지를 준 것도 아니다. 그런데도 점수가 이만큼 올랐다는 건, 정답에 필요한 위치 정보는 모델 안에 이미 있었고 모자란 건 그걸 시점에 맞게 돌리는 계산이었다는 뜻이다. 이 논문의 핵심 발견이 여기 다 들어 있다. 아래부터는 '정말 그런가'를 하나씩 확인한다.
MLLM은 장면 재구성, 내비게이션, 로봇 조작 같은 물리 세계 작업으로 쓰임새를 넓혀 왔다. 그런데 공간 문제를 틀렸을 때, 답만 봐서는 실패가 어디서 났는지 보이지 않는다.
기존 접근은 둘로 나뉘어 있었다. 하나는 벤치마크로 공간 추론 점수를 끝단에서 재는 쪽이다(SpinBench·MMSI-Bench·CV-Bench 등). "틀렸다"는 알려주지만 "어디서 틀렸나"는 못 짚는다. 다른 하나는 모델 내부 표현을 뜯어보는 기계적 해석가능성(mechanistic interpretability, 모델 속이 실제로 어떻게 계산하는지 들여다보는 연구) 계열로, 공간 인코딩이나 표상 편향을 본 선행 연구가 있었다.
S-Space는 이 둘을 잇는다. 내부 표현을 읽기만 한 게 아니라, 그 좌표를 고쳐 다시 써넣었을 때 모델 판단이 바뀌는지까지 확인해(인과성) 읽은 값이 장식이 아님을 보였고, 그렇게 검증한 구조를 진단 도구로 되돌려 썼다. 벤치마크가 "틀렸다"까지 말한다면, S-Space는 "보긴 맞게 봤는데 바꾸는 계산에서 틀렸다"까지 말한다. 다만 저자들은 이를 'to the best of our knowledge(아는 한)' 수준의 조건부 주장으로 단다.
여기서 요즘 해석 연구의 단골 가설 하나가 바탕에 깔린다. 모델은 개념을 내부 표현 안에 '선형적으로' 담는 경향이 있다는 것이다. 어떤 개념의 세기가 특정 방향을 따라 나란히 커지고 작아진다는 뜻이다. 저자들은 사물의 공간 좌표도, 그 사물 이름 토큰(token, 모델이 글을 처리하는 단위인 단어 조각)의 표현 안에 이런 식으로 박혀 있으리라 봤다.
다시 사과와 컵이다. 모델이 "사과가 컵의 왼쪽인가 오른쪽인가"를 판단할 때, '사과'라는 단어 조각의 내부 숫자 안에는 위치에 관한 성분이 섞여 있다. S-Space의 발상은 그 숫자 중 위치에 해당하는 성분만 골라 읽자는 것이다.
읽어낼 축은 세 개다. 가로(왼쪽–오른쪽), 세로(위–아래), 거리(가까움–멂). 사과와 컵의 가로 좌표를 각각 읽어, 사과 좌표에서 컵 좌표를 뺀다. 그 차이가 양수면 사과가 더 오른쪽, 음수면 더 왼쪽이다. 사과가 실제로 오른쪽에 있으면 사과의 가로 좌표가 더 크게 읽히니, 빼면 양수가 나온다. 모델이 입으로 답을 말하게 할 필요도 없이, 내부 숫자만으로 답이 나오는 셈이다.
그럼 '위치에 해당하는 성분'은 어떻게 가려낼까. 여기서 쓰는 장치가 역할 바꾸기다. 질문에서 사과는 '물어보는 대상', 컵은 '기준'이다. 사과를 오른쪽으로 밀면 'right' 답이 유리해진다. 그런데 똑같이 컵을 오른쪽으로 밀면 이번엔 'left'가 유리해진다. 같은 이동인데 역할에 따라 신호가 정반대로 움직인다. 반대로 사물 이름이나 질문 문구에서 오는 신호는 역할과 상관없이 똑같이 깔려 있다. 그래서 두 역할의 신호를 서로 빼면, 공통으로 깔린 잡음은 상쇄돼 지워지고 역할 따라 반대로 움직인 '위치 성분'만 남는다. 빼기가 위치 정보를 드러내는 원리다.
이렇게 한 번 찾아둔 축은 특정 질문에 묶이지 않는다. 같은 고정 축이 다른 과제에서 꺼낸 사물 토큰에도 그대로 들어맞았다. S-Space가 어느 질문이 만들어낸 산물이 아니라, 모델 표현 안에 원래 들어 있던 구조라는 뜻이다.
심화 — 세 축은 어떻게 찾아내나 저자들은 축을 라벨로 학습시키지 않았다. 대신 모델의 반응을 미분했다. "사과가 컵의 왼쪽인가 오른쪽인가" 질문에서 'left'와 'right' 두 답의 점수 차(logit difference, 모델이 각 답에 매긴 점수의 차이)를 정의하고, 이 점수 차를 가장 빠르게 끌어올리는 방향을 기울기(gradient, 어느 쪽으로 밀면 값이 가장 빨리 오르는지)로 구한다. 그 방향이 곧 축이다. 물어보는 대상과 기준 사물의 기울기는 '역할 반대칭'으로 빼 주고, 사물 정체·문구·토큰 역할 같은 잡음은 프롬프트 템플릿과 순서를 바꾼 여러 쌍, 여러 예시에 걸쳐 평균을 내 지운다. 참고로 가로·세로 축은 실제 3차원 월드 좌표가 아니라 이미지 평면 좌표이고, 거리에 따른 원근은 분리하지 않았다.
저자들은 S-Space가 뒷받침하는 주장을 세 질문으로 나눠, 각각 다른 실험으로 확인했다. 질문은 순서대로 쌓인다. 위치를 읽을 수 있는가 → 모델이 그 좌표를 판단에 실제로 쓰는가 → 그 좌표를 시점에 맞게 바꿀 수 있는가.
실험 정보 검증 대상은 세 모델이다. Molmo2-ER, Qwen3.5-4B, Qwen3.6-27B. 축은 COCO 이미지로 만든 상대 공간 질문에서 찾았고, 축을 찾을 때 쓰지 않은 분포까지 포함해 일반화를 보려고 CV-Bench·EmbSpatial·SpatialTunnel에서 읽은 좌표를 평가했다. 시점 전환은 SpinBench를 썼다. 아래 레이어 번호(21·17·43번 등)는 각 관찰이 가장 또렷하게 나온 층이다.
설계: 중간 표현에서 읽은 좌표가 실제 사물 위치와 맞는지, 그리고 그 좌표만으로 푼 답이 모델이 직접 내놓는 답과 견줄 만한지 본다.
결과: 읽은 좌표는 실제 위치와, 또 사물 쌍 사이의 좌표 차이와 세 축 모두에서 강하게 맞아떨어졌다(순위 상관 Spearman, Molmo2-ER 21번 레이어). 좌표만으로 푼 공간 문제의 정확도는 모델의 직접 답변에 필적했고, 축을 찾을 때 쓰지 않은 벤치마크에서도 통했다. 상대 비교 질문을 '색만 묻는' 비공간 질문으로 바꿔도 같은 축으로 읽은 좌표가 공간 판단을 떠받쳤다. 특정 데이터셋이나 질문 문구가 우연히 만든 산물이 아니라는 뜻이다.
설계: 좌표를 읽기만 하면 '우연히 거기 있었을' 가능성이 남는다. 그래서 좌표를 편집해 다시 써넣고 생성을 이어가 본다. 이미지·질문·S-Space 바깥 성분은 건드리지 않는다. 편집한 대로 판단이 따라 바뀌면, 모델이 그 좌표를 실제로 참조한다는 증거다.
결과: 좌표를 편집하자 공간 판단이 무작위 편집 때보다 크게 바뀌었다(Molmo2-ER 17번 레이어). 두 사물을 같은 양만큼 함께 옮겨 상대 위치가 보존되면 답은 상대적으로 덜 바뀌었고(부록 표 7 기준 답변 유지율 80.36%, 그래도 약 20%는 바뀌었다), 같은 편집이 색 판단 같은 비공간 답변에 끼친 영향도 상대적으로 적었다(유지율 78.13%, 약 22%는 바뀌었다). '그대로'는 아니지만, 상대 위치를 실제로 흔든 공간 편집에서 효과가 가장 크게 나타난 셈이고, 모델이 S-Space를 인과적으로, 또 상대적으로 가려서 쓴다는 뒷받침이다.
여기서 결과가 갈린다. 시점 전환(perspective-taking) 문제는 두 사물 중 어느 쪽이 특정 시점(왼쪽·오른쪽·뒤)에서 더 왼쪽에, 또는 관찰자에 더 가깝게 보일지를 묻는다. 둘 중 하나를 고르니 찍기 기준선은 50%다.
설계: 'S-Space에서 좌표를 읽고 → 목표 시점만큼 좌표를 돌린 뒤 → 정해진 규칙으로 답을 뽑는' 경로를, 모델이 직접 답하는 경우(사고사슬 유무 둘 다)와 비교한다. 사고사슬(CoT)은 모델이 답을 내기 전에 중간 추론을 글로 적게 하는 방식이다.
결과:
| 모델 | 직접 답변 | 사고사슬(CoT) | S-Space 읽기+회전 |
|---|---|---|---|
| Molmo2-ER | 60.96% | 추론 모드 없음 | 94.52% (+33.56%p) |
| Qwen3.5-4B | 60.96% | 62.33% (+1.37%p) | 91.10% (+30.14%p) |
| Qwen3.6-27B | 60.96% | 83.56% (+22.60%p) | 95.21% (+34.25%p) |
(괄호 안 증가분은 모두 같은 모델·같은 설정에서 그 모델의 직접 답변과 견준 값이다. 서로 다른 모델의 향상치를 더해 읽으면 안 된다.)
직접 답변은 찍기보다 조금 나은 수준에 머물렀다. 사고사슬은 가장 큰 Qwen3.6-27B(+22.60%p)에서만 뚜렷이 올랐고, 작은 모델에선 +1.37%p에 그쳤다. 반면 좌표를 읽어 바깥에서 돌리기만 하면 세 모델 모두 90%대가 됐다. 정답에 필요한 위치 정보는 모델 안에 이미 있었던 것이다. 모자란 건 그 정보를 시점에 맞게 돌려 답까지 끌어내는 계산이다.
다만 이 90%대를 '모델의 변환 능력이 좋아졌다'로 읽으면 안 된다. 좌표를 돌리는 계산은 사람이 바깥에서 넣어준 정답 변환, 즉 오라클(oracle, 정답 풀이를 외부에서 대신 넣어주는 장치)이다. 성능이 오른 건 '정보가 거기 있었다'는 증거일 뿐이다. 실제로 저자들은 원래 시점의 올바른 위치 관계를 전제로 쥐여줘도 모델이 목표 시점의 답은 자주 틀린다는 걸 보인다.
그렇다고 내부 표현이 시점에 아예 반응하지 않는 건 아니다. 다만 여기서 본 것이 모델이 스스로 적어 내려간 추론은 아니라는 점을 분명히 해둬야 한다. 저자들은 Qwen3.6-27B(43번 레이어)에 추론 템플릿을 주고, 그 안의 '원래 관계'와 '회전 후 관계' 칸을 벤치마크 정답으로 채워 넣은 통제 실험을 돌렸다(§5.2·부록 C.5). 그렇게 사고사슬을 한 단계씩 따라가며 좌표를 읽어 봤더니, 추론이 흘러갈수록 읽히는 상대 좌표가 질문이 요구한 시점 쪽으로 조금씩 돌아가 있었다. 처음엔 '좌표를 읽은 뒤 바깥에서 회전까지 적용한' 값이 정답에 가깝지만, 추론 후반으로 가면 '회전 없이 그냥 읽은' 값이 더 정답에 가까워진다. 정답이 적힌 추론을 따라 읽어 주면 모델 내부 좌표도 목표 시점 쪽으로 옮겨 간다는 뜻이다. 다만 이는 정답을 쥐여준 통제 조건에서 관찰한 것이라, 모델이 시점 변환을 스스로 해낸다는 증거로까지 읽을 수는 없다.
정리하면 세 가지는 서로 다른 층위의 능력이다. 위치 정보를 갖고 있는 것(질문 1), 그 정보를 판단에 쓰는 것(질문 2), 그 정보를 시점에 맞게 바꿔 정답까지 잇는 것(질문 3)은 각각 따로 성립하거나 무너질 수 있다. 이 모델들은 앞의 둘은 해내지만 마지막 단계에서 무너진다.
보충 — 방향과 위치가 한데 얽히기도 한다 MMSI-Bench 방위 과제에서 모델은 'east'를 'right'와, 'north'를 'above'와 나란히 놓았다. 화면상의 방향(오른쪽·위)과 동서남북이 S-Space 안에서 일부 같은 특징으로 표현된다는 뜻이다. 저자들은 지도처럼 방위가 가로·세로 축에 맞춰 자주 나오는 웹 학습 데이터의 편향으로 본다.
저자들이 인정한 한계부터. 가로·세로 축은 실제 3차원 월드 좌표가 아니라 이미지 평면 위의 좌표이고, 거리(원근)는 따로 떼어내지 않았다. 사례 연구에서 'socialist'가 가로축 왼쪽에, 'conservative'가 오른쪽에 투영되는 현상도 나왔다. 흥미롭지만, 모델이 물리적 '왼쪽/오른쪽'과 그 말의 비유적 쓰임을 깔끔히 가르지 못한다는 한계이기도 하다.
독자가 함께 짚어둘 질문도 있다. 첫째, 검증 모델이 셋(Qwen 두 크기, Molmo2-ER)이라 아키텍처 전반에 걸친 일반성은 아직 조심스럽다. 둘째, '직접 답변에 필적'한다는 서술의 바탕이 되는 좌표 상관의 구체 수치는 공개 발췌에 드러나 있지 않아, 여기서는 저자들의 '강하게 상관한다'는 정성적 서술을 그대로 옮긴다. 셋째, 성능을 끌어올린 '명시적 회전'은 사람이 정답 변환을 바깥에서 넣어준 오라클에 가깝다. '모델이 스스로 회전을 배우게 하는 법'은 이 논문의 범위 밖이고, 저자들은 이를 외부 도구에 맡기는 방향(agentic, 모델이 전용 도구를 불러 쓰게 하는 설계)으로만 전망한다.
이 논문의 설계 원칙을 한 줄로 줄이면 이렇다. 위치를 읽는 일과 그 뒤의 계산을 떼어 놓고, 어디서 틀렸는지부터 가린다. 온틀이 화면을 읽고 조작하는 작업에 그대로 옮겨 쓸 수 있는 태도다.
한 장면으로 보자. 온틀의 AI PM이 운영 대시보드 스크린샷을 받아 "결제 전환 위젯을 이탈률 카드 기준으로 왼쪽에 재배치하라"는 지시를 수행한다. 이 일은 네 단계로 쪼개진다.
지금까지 이런 작업이 틀리면 우리는 보통 "화면을 제대로 못 봤나 보다" 하고 프롬프트를 손보거나 해상도를 올렸다. 이 논문은 그 반사적 대응이 번지수를 틀릴 수 있다고 말한다. 틀림이 1번 추출(지각)에서 났는지 2번 계산(변환)에서 났는지부터 갈라야 하기 때문이다. 가르는 방법은 두 오류를 따로 재현하는 것이다.
단, 논문이 보여준 결과와 온틀이 검증할 가설은 구분해야 한다. 논문은 시험한 세 모델에서 변환이 병목이었다고 보고한다. 우리 파이프라인의 PM 모델과 대시보드 입력에서도 그런지는 아직 가설이고, 위 두 측정으로 확인해야 안다.
가설대로 변환이 병목이라면 설계가 달라진다. 더 선명한 스크린샷을 들이미는 대신, 좌표는 모델에게 읽게 하되(추출) '카드 기준 왼쪽'이나 '뒤에서 보면' 같은 재배치는 코드로 또박또박 계산해 결과만 모델에 넘기는 분업이다. 방향이 얽히는 경우(위 보충 참고)도 함께 대비한다. 모델이 '동=오른쪽', '북=위'로 자동으로 엮는 경향이 있으니, 지도·평면도·좌표계가 섞인 대시보드에서는 방위와 화면상 위치를 지시에서 미리 쪼개 둔다. 또 '왼쪽/오른쪽'이 비유로도 쓰이는 영역(정치·금융·조직도)에서는 모델의 공간 판단을 교차검증한다.