GUI-JEPA가 후보 잠재벡터로 7B GUI 에이전트 디코딩을 없앤다
GUI-JEPA: Candidate-Conditioned JEPA Latents as a Fast Action Policy for Mobile GUI Agents
무엇인가
모바일 GUI 에이전트의 스텝 비용은 7B 이상 VLM이 행동을 토큰 단위로 디코딩하는 데서 나온다. 논문은 Qwen2.5-VL-7B를 AndroidControl에 LoRA로 미세조정한 예로 약 12토큰짜리 JSON 행동 하나에 vLLM 207ms, Hugging Face transformers 507ms가 걸린다고 제시한다(배치1, 실제 100스텝 중앙값). 8B급 에이전트는 라이브 기기 벤치마크에서 스텝당 평균 2.6~10.6초가 걸린다고도 인용한다. 후보 행동을 점수화하는 에이전트도 LLM이나 VLM을 루프에 두므로 느리고 메모리를 많이 쓴다. 저자들은 디코더 없이 JEPA 잠재공간에서 후보를 채점하는 GUI-JEPA를 제안하고, 이들을 알기로 GUI 에이전트 정책 자체를 JEPA로 만든 첫 사례라고 주장한다.
어떻게 동작하나
입력은 스크린샷, 접근성(a11y) 트리, 텍스트 조건, 정답 히스토리다. AC-Low는 스텝 지시를, AC-High는 에피소드 목표를 조건으로 쓴다. 스크린샷은 한 번만 고정 JEPA ViT-L/16(303M)에 통과해 196×1024 패치 토큰을 얻는다. 이 인코더는 GUI-Odyssey와 VideoCUA의 비라벨 모바일·데스크톱 스크린샷 189K장에 I-JEPA 목적함수로 사전학습됐고 AndroidControl 데이터나 행동 라벨은 쓰지 않았다. 후보는 a11y 트리에서 클릭 가능·롱클릭·편집·스크롤 가능으로 표시된 노드 중 면적 기준 가장 작은 80개까지와 전역 행동(스크롤 4방향, 뒤로, 홈, 대기, open_app)으로 만든다. 각 노드는 클릭 후보를, 편집 가능 노드는 input_text 후보를 하나씩 낳는다. 후보는 16차원 행동 벡터(타입 원핫과 좌표 또는 스크롤 방향)와 요소 ROI를 갖는다.
무엇과 다른가
핵심은 39.9M 잔차 잠재 예측기다. 후보의 행동 벡터와 ROI 풀링 특징을 MLP로 학습된 쿼리 토큰에 더하고, 3층 트랜스포머가 196개 패치 토큰과 쿼리에 어텐션해 후보 조건 잠재 z~ = z + Δ(z,a,ROI)를 만든다. 모든 후보를 한 배치로 처리한다. 구조 헤드는 후보 조건 잠재를 후보 ROI와 전체 화면에 풀링한 뒤, 목표 CLIP 임베딩(63M)과 히스토리를 합친 조건 벡터와 코사인 유사도로 점수를 낸다(학습된 스케일 κ, 타입별 바이어스). 헤드가 후보에 대해 보는 유일한 시각 입력이 예측기를 통과한 잠재이도록 해 학습이 JEPA 경로를 우회하지 못하게 한다. MiniLM-L12 텍스트 매처(33M)가 목표와 행동 히스토리를 후보 텍스트와 비교해 점수를 더하며, 클릭 사이 그라운딩은 주로 이 매처가 맡고 구조 헤드는 행동 타입과 전역 행동을 중재한다. input_text 인자는 MiniLM-L6 스팬 랭커(22.7M)가, 클릭 후보는 타입 게이트 MiniLM-L12 리랭커(33.5M)가 후처리한다. 기본 정책은 AndroidControl 학습 분할의 캐시된 13,594 에피소드(74,714 스텝)에서 후보 목록에 대한 listwise 교차엔트로피로 학습된다. 비클릭 스텝 가중치 1.5, 클릭 1로 클릭 편중을 보정하고 AdamW로 6에폭, AC-Low와 AC-High에 하나의 모델을 쓴다. 예측기는 동역학 예측기로 초기화되지만 정책 점수 헤드와 공동 미세조정되고 다음 잠재 예측 손실은 추가하지 않는다. 전체 0.50B 파라미터 중 366M(303M 인코더, 63M CLIP 텍스트 인코더)이 고정되고 약 132M가 학습된다(스팬 랭커 22.7M, 클릭 리랭커 33.5M 포함).
어떻게 쓰나
실험은 AndroidControl의 공식 네 하위 분할이다. IDD 721 에피소드, app_unseen 631, task_unseen 803, category_unseen 700( task_unseen에 포함), 전체 테스트 1,543 에피소드 8,444 스텝, OOD 합집합 4,586 스텝이다. 중복 때문에 IDD 결과는 716/721 에피소드(3,858/3,897 스텝)로 보고된다. a11y 텍스트를 쓰는 PaLM 2S 베이스라인과 IDD에서 AC-Low 84.06 대 83.2로 앞서거나 비슷하고 AC-High 60.99 대 70.8로 뒤진다. 전체 테스트 AC-Low 78.64는 OS-Atlas-7B 67.3, MIRAGE-4B 77.6, Qwen3-VL-8B 77.66보다 높다. 같은 입력·후보·히스토리·판정으로 학습한 Qwen2.5-VL-7B LoRA 참조(4,000 에피소드 1에폭, 설정별 어댑터)는 IDD 91.01/70.87을 내고, GUI-JEPA는 84.06/60.99로 그 92.4%/86.1%를 6.0% 파라미터(0.498B 대 8.29B, 16.6배 적음)로 달성한다. 격차는 스텝 지시를 줄 때 7.0점, 목표만 줄 때 9.9점이다.
전제와 한계
속도는 H20 한 장, 배치1, 동일한 실제 AC-High IDD 스크린샷 100개에서 측정된다. 최종 파이프라인은 fp32 중앙값 74ms, bf16 autocast 51.5ms로, vLLM 207ms보다 2.8~4.0배, HF 507ms보다 6.8~9.8배 빠르고 피크 GPU 메모리는 4.6~6.4배 적다. bf16은 200개 타이밍 스텝 모두에서 fp32와 같은 예측(입력 텍스트 포함)을 냈다. 7B 에이전트 스텝의 51%(vLLM)~60%(HF)가 디코딩이고, vLLM 프리필만도 fp32 GUI-JEPA 한 스텝보다 길다. GUI-JEPA 스텝의 약 절반은 배치 예측기와 헤드가 차지하며 bf16에서 3배 빨라지고 후보 수에 따라 비용이 늘어난다. 텍스트 랭커 효과도 분리된다. input_text 스팬 랭커의 학습 데이터를 스텝 지시에서 목표 스팬으로 바꾸면 파라미터 증가 없이 IDD High +2.85(OOD 합집합 +2.49), IDD High input_text 정확도 13.5→52.5가 된다. 클릭 리랭커는 클릭 후보만 재정렬해 IDD High +1.30(OOD +1.33)을 더한다. 둘을 합치면 OOD 합집합 High가 43.85→47.67, 모든 미학습 하위 분할이 3.5~4.1점 오른다.
메커니즘 분석은 잠재 경로가 실제 결정에 쓰인다는 것을 보인다. 텍스트 매처를 그대로 두고 IDD에서 행동 벡터를 모든 후보에 걸쳐 섞으면 AC-Low 27.2/High 23.4점, 같은 타입 안에서 섞으면 11.2/10.8점(대부분 스크롤 방향, 클릭에서는 High 약 5점)이 떨어진다. 후보 조건 잠재를 현재 잠재로 바꾸면(예측기 제거) 24.9/14.0점 손실이 주로 전역 행동에서 난다. 예측기를 항등 사상으로 바꿔 전체 규모로 재학습하면 62.36/42.33으로 기본 정책보다 21.4/14.5점 낮다. 반면 동역학 예측기로 초기화한 예측기와 무작위 초기화 예측기는 전체 규모에서 비슷하고(+0.50 High, -1.01 Low), 4K 에피소드 규모에서 예측 보조 목적은 이득이 없으며, 예측기는 다음 잠재를 현재 잠재 복사보다 못 맞힌다. 저자들은 이를 두고 GUI용 JEPA 정책에는 동역학 사전학습이 필요 없다고 주장한다. 파일럿 규모에서 잔차 형태는 AC-Low를 40.6→43.9로 올렸고, 전체 잠재를 재합성하는 예측기는 클릭 그라운딩을 34.8로 떨어뜨려 항등 사상 46.8보다 나빴다. 예측기를 항등 사상으로 바꾸면 8.9점 손실이지만 원시 후보 특징도 보는 concat-MLP 헤드는 예측기 유무에 1.4점 이내다. 이전 행동과 프레임 변화 조건화는 High +8점, 전체 규모 공동 미세조정은 고정 예측기보다 AC-Low +3.8/High +1.9점이다. 인코더는 비라벨 스크린샷 0.76 GPU시간 사전학습으로 ScreenSpot-Pro 국소화 프로브 hit@8 67.22를 내 랜덤 초기화 ViT-L 58.8, DINOv3-ViT-L 65.28과 비슷하다. 정책 안에서 DINOv2-L 518px 특징은 4K 에피소드 규모에서 17.4/9.8점 손실을 냈다(입력 해상도도 달라짐).
개발자 관점에서 GUI-JEPA는 접근성 트리에서 후보를 안정적으로 열거할 수 있고 스텝당 지연과 메모리가 중요한 모바일 자동화에 맞다. a11y에 개인정보가 있을 수 있어 0.50B 모델을 온디바이스에서 돌리면 데이터를 로컬에 둘 수 있다. 반대로 픽셀만 있는 환경이나 a11y 후보가 없는 화면에는 그대로 적용하기 어렵고, 되돌리기 어려운 행동 전에는 사용자 확인이 필요하다. 논문은 상위 두 점수 간 마진이 오류를 표시해(AUROC 0.74) 불확실한 스텝을 7B 에이전트로 라우팅할 수 있다고 제안한다. 클릭이 스텝의 63%이고 AC-High 9.9점 격차 중 5.8점을 차지해, 클릭 타입 선택과 요소 그라운딩이 주요 약점이다. 또 적어도 한 시스템이 맞는 IDD AC-High 스텝이 78.7%라 두 정책의 오류가 상당히 다르다.
저자들이 밝힌 한계는 분명하다. GUI-JEPA는 픽셀 전용 에이전트가 쓰지 않는 특권 입력인 a11y 트리를 소비하고, 후보가 없는 테스트 클릭 1.6~2.6%를 오류로 계산하며, 지연 측정에서 화면 캡처와 a11y 검색 시간을 제외한다. 정책은 스텝 수준 채점기라 온라인 작업 완료에 필요한 종료 헤드와 플래너는 향후 과제이고, 예측기를 전방 모델로 쓰는 것도 남겨졌다. 리랭커의 변형·가중치·게이트를 제외한 설계 선택은 테스트 IDD에서 결정됐고, 검증 분할 재확인은 스팬 랭커와 기본 정책 전체 정확도에만 이뤄졌다. 속도 향상은 배치1에서 vLLM·HF로 서빙한 7B 에이전트와 비교한 값이며, 같은 프로토콜 7B 참조는 13,594 에피소드 중 4,000개로 설정별 LoRA 어댑터를 하나씩 학습한 것이다. 방법은 모바일 a11y 후보에 특화돼 웹 DOM 같은 다른 후보원에는 자체 후보 텍스트와 행동 벡터가 필요하고, 비JEPA 인코더는 고정 토큰 프로브로만 비교했을 뿐 전체 규모 정책 안에서의 비교는 future work로 남아 있다.