23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요!
효율적인 Multimodal GUI-Agent 학습을 위한 synthetic data filtering을 수행하고 있는 Film팀의 김동희입니다.
오늘은 저희 연구의 시작을 알렸던 지난 연구계획(1) 포스팅에 이어서 연구과정(2)라는 제목으로 중간 발표까지의 여정과 결과에 대해서 말씀드리려 합니다.
지난 번 저희 연구 과제를 소개하는 글에서 text에서는 잘 filtering된 소수의 데이터가 다수의 데이터를 사용했을 때 보다 성능을 압도할 수 있음을 이전 연구에서 보였고 이를 multimodal로 확장,
특히 GUI-Agent를 학습하기 위한 데이터를 잘 정제해보자는 목표를 세웠습니다.
이 때 text data를 filtering 할 때 잘 작동되었던 QDD (Quality, Difficulty, Diversity) 세 가지 요소를 multimodal dataset에서 잘 적용하여 성능을 보는 계획을 세운 것이 이전 글의 전반적인 내용이었습니다.
이번 글에서는 difficulty와 quality에 대한 실험을 진행했습니다. 그렇다면 실제로 multimodal dataset에 filtering을 진행했을 때 결과는 어떻게 되었는지 함께 보시죠!
[TL;DR]
쉬운 샘플(8/8 정답)을 제거해 난이도만 높이는 전략은 학습 안정성과 일반화 성능에 불리했습니다.
0/8(매우 어려움) 구간에는 지시문-정답 불일치 등 품질 이슈가 상당 비율 포함되어 있었습니다.
교차 평가 기반의 quality filtering으로 9,884개 중 1,346개를 제거했을 때 ScreenSpot/ScreenSpot-v2는 개선, 고난도 ScreenSpot-pro는 하락했습니다.
난이도·품질을 분리한 정교한 필터링과 고난도 벤치에서의 정답 허용 기준 재설계가 필요합니다.
[목차]
GUI-Agent 모델 baseline 선정: GUI-Actor
Dataset Filtering
Dataset Overview
Difficulty
Quality
마무리 및 다음 단계
다양한 GUI agent 모델과 논문이 우후죽순 publish되고 있습니다. 저희는 여러 논문과 코드를 살펴본 끝에 GUI-Actor [1]를 baseline으로 삼았습니다.
GUI-Actor는 Microsoft에서 2025년 6월 공개된 최근 모델로, 이전 모델들 대비 우수한 성능을 보고하고 있습니다.
GUI-Actor는 Qwen2.5-VL 모델에 <ACTOR> 토큰과 coordinate align 등을 수행하는 action head를 추가한 구조로 디자인되어 있으며, 다음과 같은 이유로 baseline으로 선정했습니다.
SFT 모델로서 Reinforcement Learning 기반 파인튜닝 대비 연산 비용이 적어 빠른 실험이 가능함
다양한 기존 GUI agent 데이터셋(합성 데이터 포함)을 활용함
LM backbone을 freeze하고 action head만 학습해도 의미 있는 GUI-Agent 성능을 확보함
학습에 사용한 데이터는 아래와 같습니다.
저희는 보유한 연산 자원의 한계와 빠른 가설 검증을 위해 이 데이터에서 0.1%를 random sampling하여 사용하고 있습니다.
저희가 사용한 데이터의 출처는 위 그래프와 같습니다.
기본적으로 uground 데이터셋의 비중이 가장 높았으며, 샘플링에서도 해당 비율이 크게 반영되었습니다.
uground 데이터 예시는 아래와 같습니다.
웹페이지 이미지가 주어지고 instruction이 "Audio"라면, 상단 메뉴의 audio 박스 내부 좌표를 정확히 예측해야 합니다.
GUI-Agent의 핵심은 “문맥에 맞는 UI 요소를 인지하고, 클릭/입력 등 좌표 기반 액션을 정확히 산출하는 것”입니다.
GUI-Actor는 Qwen2.5-VL을 backbone으로 사용하므로, 내재된 GUI 관련 능력도 Qwen 모델을 따를 것이라 가정했습니다.
이에 Qwen2.5-VL 7B 모델을 활용하여 train 데이터셋의 확률적 샘플링을 8회 진행했고, 각 샘플이 8회 중 몇 회 정답을 맞히는지로 난이도를 추정했습니다.
8회 중 한 번도 맞히지 못한 0/8(가장 어려움) 샘플이 2,548개로 최다였습니다.
그 다음이 8회 모두 맞힌 8/8(가장 쉬움) 샘플이었습니다.
선행 text 연구 [2]는 가장 쉬운 샘플을 제거한 mirrored J-curve에서 성능이 최대화된다고 보고합니다.
이에 8/8 쉬운 샘플 2,359개를 제거한 “difficult 데이터셋”과, 동일 개수를 무작위로 제거한 “random 데이터셋”을 구성해 학습을 진행했습니다.
학습 곡선은 다음과 같습니다.
파란색: 8/8 쉬운 샘플 제거(상대적으로 어려운 샘플만 남김)
주황색: 동일 개수 무작위 제거
두 데이터셋은 70% 이상이 중복되지만 학습 난이도는 크게 달랐습니다.
학습 관찰치 요약(약 5k step)
구성 | Train loss(약 5k step) | 비고 |
|---|---|---|
Difficult(8/8 제거) | 3.0 이상 | 수렴 지연 |
Random(동일 수 임의 제거) | 1.0 이하 | 빠른 수렴 |
평가에서는 더 큰 차이를 보였습니다.
ScreenSpot 계열 3개 벤치마크에서 hit ratio(예측 좌표가 target bbox에 포함되는 비율)를 측정했습니다.
Hit ratio(%) 비교
Dataset | Difficult(8/8 제거) | Random(임의 제거) |
|---|---|---|
ScreenSpot | 8.6 | 63.0 |
ScreenSpot-v2 | 9.1 | 64.3 |
ScreenSpot-pro | 0.2 | 15.1 |
즉, 쉬운 샘플을 제거해 난이도만 높이면 학습 자체가 원활히 진행되지 않았습니다. 원인 파악을 위해 0/8과 8/8 샘플을 시각적으로 점검했습니다.
0/8(가장 어려움) 예시
Instruction: "open new window"
정답 bbox가 "Yale" 버튼에 있음. 지시문-정답 간 불일치 가능성이 큽니다.
Instruction: "Mon"
상단/하단에 "Mon"이 모두 존재하나 정답은 하단만 인정되는 단일 정답 셋업입니다.
8/8(가장 쉬움) 예시
Instruction: "StockX"
무작위 0/8 샘플 25개를 정성 분석한 결과, 약 60%에서 레이블 불일치/모호성 등 품질 이슈가 관찰되었습니다.
단순 난이도 문제가 아니라 품질(quality) 문제가 성능 저하의 주요 원인으로 의심되었습니다.
Confident Learning [3] 계열 접근은 학습된 모델로 train set을 재평가해 “틀린 샘플”을 noisy로 간주,
재라벨링하거나 제거합니다. 그러나 이를 그대로 적용하면 “진짜 어려운 샘플”과 “품질 저하 샘플”을 구분하기 어렵습니다.
저희는 교차 평가로 품질 의심 샘플을 추출했습니다.
Set 1: 위 difficulty 실험에 사용한 random 0.1% 데이터셋
Set 2: Set 1과 전혀 겹치지 않는 별도 random 0.1%
Model 1: Set 1로 학습, Model 2: Set 2로 학습
품질 의심 샘플: Model 1이 Set 1에서 오답 ∩ Model 2가 Set 1에서 오답(교집합)
이렇게 9,884개 중 1,346개를 걸러낼 수 있었습니다.
정성적 결과 분석(샘플)
Instruction: Edit the date and time and click on save option
날짜/시간 편집과 무관한 알람 설정 완료로 이어지는 등 지시문-정답 불일치가 관찰됩니다.
Instruction: 6
달력의 중앙/하단에 ‘6’이 중복 존재합니다(다중 정답 가능성).
걸러진 데이터 중 76개를 뽑아 직접 점검한 결과, 명백한 에러로 판단되는 비율은 약 43%였습니다.
즉, 교차 평가가 noisy 후보를 유의미하게 농축하지만, 일부 어려운 샘플도 함께 제거될 수 있음을 시사합니다.
그렇다면 high-quality(가정) 데이터로 학습하면 성능이 개선될까요?
Baseline: 전체 9,883개
High-quality: 8,538개(1,346개 제거 후)
Hit ratio(%) 비교
Dataset | Baseline(9,883) | High-quality(8,538) |
|---|---|---|
ScreenSpot | 63.52 | 64.07 |
ScreenSpot-v2 | 65.09 | 66.04 |
ScreenSpot-pro | 19.92 | 15.80 |
ScreenSpot/ScreenSpot-v2는 소폭 상승했으나, 고난도·고해상도 샘플이 많은 ScreenSpot-pro는 하락했습니다.
quality filtering 과정에서 “어렵지만 유효한” 샘플이 일부 제거되었을 가능성이 있으며,
고난도 데이터에서는 좌표가 근접하더라도 정답 bbox에 미세하게 미치지 못하는 경우가 많아 평가 기준의 엄격함도 영향을 미칠 수 있습니다.
이에 따라 정답 bbox의 허용 범위를 완화(예: bbox padding)하는 방안을 검토 중입니다.
난이도만을 기준으로 쉬운 샘플을 제거하는 전략은 본 합성 GUI 데이터셋에서는 학습 안정성과 일반화 모두에 불리했습니다.
0/8 구간에 품질 이슈가 다수 존재함을 확인했으며, 교차 평가 기반 quality filtering은 유효하지만 고난도 샘플의 보존 전략이 병행되어야 합니다.
다음 단계로는
Quality filtering 후 다시 Difficulty Filtering 실험
Diversity 정의(데이터셋 분포, 어플리케이션의 추가 및 제거 등) 및 계량화 실험
을 진행할 예정입니다. 향후 결과와 SKT 제품 적용 가능성도 함께 공유드리겠습니다.
[1] GUI-Actor: Coordinate-Free Visual Grounding for GUI Agents
[2] POLARIS: A POst-training recipe for scaling reinforcement Learning on Advanced ReasonIng modelS
[3] Confident Learning: Estimating Uncertainty in Dataset Labels
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.