본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 10. 16:58

SFT Offline RL Online RL: Mano-P 이면에 숨겨진 3단계 학습 파이프라인

요약

GUI-VLA 에이전트인 Mano-P의 3단계 학습 파이프라인을 소개합니다. SFT를 통한 기초 역량 확보, Offline RL을 통한 궤적 학습 과정을 통해 엣지 디바이스에서도 효율적으로 동작하는 고성능 모델 구축 방법을 다룹니다.

핵심 포인트

  • Mano-P는 엣지 디바이스 최적화 GUI-VLA 에이전트임
  • OSWorld 벤치마크에서 58.2%로 1위 기록
  • SFT를 통해 시각적 접지 및 액션 어휘 학습
  • 3단계 파이프라인(SFT, Offline RL, Online RL)의 순차적 중요성

컴퓨터를 사용하는 모델을 훈련시키는 것은 실제로 시도해 보기 전까지는 간단해 보입니다. 여기를 클릭하고, 저기에 타이핑하고, 아래로 스크롤하는 것 — 액션 공간 (Action Space)은 단순합니다. 하지만 결정 공간 (Decision Space)은 엄청납니다. 1920×1080 해상도의 화면은 200만 개 이상의 픽셀을 가지고 있습니다. 매 단계마다 모델은 자신이 무엇을 보고 있는지 이해하고, 다음에 무엇을 할지 결정하며, 환경이 어떻게 반응할지 예측해야 합니다.

우리는 이를 처리하기 위해 Mano-P를 구축했습니다. 이는 데이터 센터가 아닌 여러분의 노트북과 같은 엣지 디바이스 (Edge Devices)에서 실행되도록 설계된 GUI-VLA (Vision-Language-Action) 에이전트입니다. 4B 파라미터 모델은 M5 Pro 칩에서 초당 약 80 토큰의 디코딩 속도로 실행됩니다. 현재 이 모델은 OSWorld 전문 벤치마크에서 58.2%를 기록하며 1위를 차지하고 있으며, 이는 2위 시스템의 45.0%와 대조적입니다.

하지만 흥미로운 부분은 수치가 아닙니다. 우리가 어떻게 그 단계에 도달했느냐 하는 것입니다. 학습 파이프라인은 세 가지 뚜렷한 단계로 구성되며, 각 단계는 서로 다른 문제를 해결하고 이전 단계에서 구축된 것을 바탕으로 진행됩니다. 한 단계를 건너뛰면 전체가 무너지고, 순서를 바꾸면 성능이 급락합니다.

그 이유는 다음과 같습니다.

1단계: 지도 미세 조정 (Supervised Fine-Tuning, SFT) — 기초 학습

모델이 보상 (Rewards)으로부터 학습하기 전에, 의미 있는 궤적 (Trajectories)을 생성할 수 있을 만큼 충분한 역량을 갖추어야 합니다. 이것이 콜드 스타트 (Cold Start) 문제이며, SFT는 이를 투박한 방식으로 해결합니다. 모델에게 수천 개의 전문가 시연 (Expert Demonstrations)을 보여주고 이를 모방하도록 훈련시키는 것입니다.

우리의 SFT 데이터는 사람이 주석을 단 GUI 상호작용 트레이스 (Interaction Traces)로 구성됩니다. 각 트레이스는 (스크린샷, 생각, 행동) 튜플의 시퀀스입니다. 모델은 시각적 관찰에서 근거 있는 행동 (Grounded Action)으로의 매핑 — 즉, 어디를 클릭할지, 무엇을 타이핑할지, 언제 스크롤할지를 학습합니다.

이 단계에서 우리는 영리해지려고 노력하는 것이 아닙니다. 우리는 유능해지려고 노력하는 것입니다. 모델은 다음을 학습해야 합니다:

  • 시각적 접지 (Visual grounding): DOM 트리나 존재하지 않을 수도 있는 접근성 API (Accessibility APIs)에 의존하지 않고, 픽셀로부터 UI 요소(버튼, 텍스트 필드, 메뉴, 아이콘 등)를 식별하는 것.
  • 액션 어휘 (Action vocabulary): 기본 동작 세트(클릭, 타이핑, 스크롤, 드래그, 키보드 단축키)와 이들이 화면상의 좌표에 어떻게 매핑되는지에 대한 정의.
  • 작업 분해 (Task decomposition): 고수준의 지시 사항("설정을 열고 배경화면을 변경해줘")을 일련의 원자적 상호작용(Atomic interactions) 시퀀스로 나누는 것.

SFT는 익숙한 GUI 패턴을 안정적으로 실행할 수 있는 모델을 제공합니다. Finder에서 파일을 열거나 시스템 환경설정을 변경하라고 요청하면 대개 성공합니다. 하지만 이는 취약합니다. 새로운 인터페이스, 예상치 못한 대화 상자, 분기 로직이 포함된 다단계 작업 등에서는 어려움을 겪습니다. 이는 학습된 전략이 아니라 암기된 해결책이기 때문입니다.

이것이 바로 SFT가 우리에게 남겨주어야 하는 지점입니다. 다음 단계에서 정교화될, 유능하지만 유연하지 못한 베이스(Base) 말입니다.

2단계: Offline RL — 과거 궤적으로부터의 학습

SFT에서 온라인 RL (Online RL)로 바로 넘어갈 때 발생하는 문제는 모델이 생산적으로 탐색할 만큼 충분히 뛰어나지 않다는 점입니다. 갓 SFT를 마친 모델을 실제 환경에 투입하여 시행착오를 통해 학습하게 하면, 모델은 대부분의 시간을 처참하게 잘못된 상태(Catastrophically bad states)에서 보내게 됩니다. 무작위 위치를 클릭하고, 중첩된 메뉴 속에서 길을 잃으며, 작업을 완료하는 경우는 드뭅니다. 보상 신호(Reward signal)가 너무 희소하여(Sparse) 학습에 활용하기 어렵습니다.

Offline RL은 이 간극을 메워줍니다. 실시간 상호작용을 통해 학습하는 대신, 모델은 성공과 실패를 모두 포함하여 미리 수집된 대규모 궤적(Trajectories) 데이터셋으로부터 학습합니다. 이 데이터셋에는 다음이 포함됩니다:

  • 전문가 시연 (Expert demonstrations, 높은 보상)
  • 모델 자신의 이전 롤아웃 (Model's own previous rollouts, 혼합된 보상)
  • 이전 모델 체크포인트의 궤적 (Trajectories from earlier model checkpoints, 다양한 품질)

Offline RL (오프라인 강화학습)의 핵심 통찰은 하위 수준(suboptimal)의 데이터로부터 더 나은 정책(policy)을 추출할 수 있다는 점입니다. 실패한 궤적(trajectories)조차 유용한 정보를 포함하고 있습니다. 예를 들어, "여기를 클릭했더니 막다른 길로 이어졌다"는 정보는 가치 있는 신호가 됩니다. 모델은 역사적으로 작업 완료로 이어졌던 행동을 선호하고, 실패와 연관된 행동은 피하도록 학습합니다.

우리는 이 단계를 통해 실시간 환경 상호작용(live environment interaction)의 비용과 불안정성 없이 모델의 의사결정을 정교화합니다. 모델은 다음을 학습합니다:

  • 오류 복구 (Error recovery): 클릭이 예상된 결과를 생성하지 않을 때 무엇을 해야 하는지.
  • 대안 전략 (Alternative strategies): 동일한 목표에 도달하는 여러 경로 중 더 견고한(robust) 접근 방식에 대한 선호도.
  • 상태 평가 (State evaluation): 진행 중인지 아니면 제자리걸음을 하고 있는지 인식하는 것.

Offline RL을 거친 후, 모델은 실질적으로 훨씬 더 견고해집니다. 전문가의 경로뿐만 아니라 실수 이후의 복구 시퀀스(recovery sequences)를 포함한 다양한 궤적을 보았기 때문에, 새로운 레이아웃을 더 잘 처리합니다. 어떤 행동이 위험하고 어떤 행동이 안전한지에 대한 일종의 직관을 발달시키게 됩니다.

하지만 모델은 여전히 정적인 데이터로부터 학습하고 있습니다. 세상은 계속 변합니다. 새로운 앱 버전이 출시되고, 레이아웃이 변경되며, 엣지 케이스(edge cases)가 쌓여갑니다. 마지막 격차를 메우기 위해, 모델은 실시간 환경과 상호작용해야 합니다.

Stage 3: Online RL — 환경으로부터의 학습

Online RL (온라인 강화학습)은 모델이 마침내 실제로 시도해보고 그 결과로부터 실시간으로 배우는 단계입니다. 모델은 실시간(또는 충실하게 시뮬레이션된) 환경에서 작업을 시도하고, 완료에 따른 보상(rewards)을 받으며, 그에 따라 정책을 업데이트합니다.

이 단계에 도달할 때쯤이면, 모델은 이미 많은 작업을 완료하고 일반적인 오류로부터 복구할 수 있을 만큼 충분히 유능해진 상태입니다. 이는 모델의 탐색(exploration)이 생산적임을 의미합니다. 즉, 무작위로 클릭하는 것이 아니라, 때로는 더 나은 전략을 드러내는 정보에 기반한 시도(informed attempts)를 수행하게 됩니다.

우리의 Online RL 단계는 다음 사항에 집중합니다:

  • 환경 상호작용 (Environment interaction): 모델이 행동을 실행하고, 결과를 관찰하며, 이를 조정합니다. 더 이상 정적인 데이터셋에 의존하지 않습니다.
  • 보상 최적화 (Reward optimization): 작업 완료 지표 및 효율성 측정 기준(단계가 적을수록 좋음)에 대한 직접적인 최적화를 수행합니다.
  • 분포 변화 처리 (Distributional shift handling): 모델이 오프라인 (Offline) 학습 데이터에는 존재하지 않는 상태(states)를 마주하게 되며, 이를 처리하는 법을 학습합니다.

보상 신호 (Reward signal)는 작업 완료 여부 (이진 방식: 완료했는가?)와 단계 효율성 (단계가 적을수록 = 더 높은 보상), 그리고 검증 구성 요소 (자세한 내용은 아래 참조)를 결합합니다. 우리는 순수하게 완료 여부에만 집중한 보상이 기술적으로는 작업을 완료하지만 취약한 방식으로 수행하는, 부서지기 쉬운 정책 (brittle policies)을 초래한다는 것을 발견했습니다. 효율성 구성 요소는 더 견고하고 직접적인 해결책을 향하도록 유도합니다.

Mano-Action: 양방향 자기 강화 (Bidirectional Self-Reinforcement)

강조할 만한 하나의 학습 혁신은 다음과 같습니다: 우리는 이를 Mano-Action 양방향 자기 강화 학습 (bidirectional self-reinforcement learning)이라고 부릅니다. 핵심 아이디어는 에이전트(agent) 자신의 성공적인 궤적 (trajectories)이 향후 개선을 위한 학습 신호가 되는 동시에, 실패한 궤적은 부정적인 신호를 제공하여 자기 강화 루프 (self-reinforcing loop)를 생성한다는 것입니다.

외부 보상 함수 (external reward functions)에만 전적으로 의존하는 대신, 에이전트는 동일한 작업에 대한 자신의 성공적인 시도와 실패한 시도를 비교함으로써 학습합니다. 이는 보상 설계가 까다로운 GUI 작업에서 특히 가치가 있습니다. 예를 들어, "글꼴 크기를 14pt로 성공적으로 변경했는가?"라는 질문은 최종 상태를 검증해야 하며, 그 자체로 시각적 이해 (visual understanding)를 필요로 합니다.

양방향 (bidirectional) 측면은 긍정적 궤적과 부정적 궤적이 모두 기여함을 의미합니다: 성공은 좋은 전략을 강화하고, 실패는 막다른 길에 다다르는 패턴에 명시적으로 벌점을 부여합니다. 학습 반복 (training iterations)이 진행됨에 따라 이는 복리로 작용합니다. 즉, 더 나은 정책이 더 나은 학습 데이터를 생성하고, 이것이 다시 훨씬 더 나은 정책을 만들어냅니다.

생각-행동-검증 루프 (The Think-Act-Verify Loop)

세 단계 모두에서 Mano-P는 우리가 '생각-행동-검증 (think-act-verify)'이라고 부르는 추론 구조를 바탕으로 작동합니다. 각 단계에서 모델은 다음과 같이 수행합니다:

  1. Think (생각): 현재 스크린샷을 검토하고 현재 상태, 목표, 그리고 목표를 향해 나아가기 위해 어떤 행동이 필요한지에 대해 명시적으로 추론합니다. 이는 숨겨진 사고 사슬 (Chain-of-Thought)이 아니라, 해석 가능한 중간 텍스트를 생성하는 구조화된 추론 단계입니다.

  2. Act (행동): 선택된 행동을 실행합니다. 특정 좌표에서의 클릭, 텍스트 입력, 키보드 단축키, 스크롤 또는 드래그 동작 등이 포함됩니다.

  3. Verify (검증): 행동이 실행된 후, 모델은 결과 스크린샷을 검토하고 예상된 결과가 발생했는지 명시적으로 확인합니다. 메뉴가 열렸나요? 텍스트가 나타났나요? 창이 이동했나요?

검증 (Verify) 단계는 에이전트 아키텍처에서 매우 중요하지만 종종 간과되곤 합니다. 이 단계가 없으면 오류가 조용히 누적됩니다. 모델은 버튼이라고 생각하는 곳을 클릭하지만, 클릭이 몇 픽셀 차이로 빗나가고, 모델은 마치 행동이 성공한 것처럼 계속해서 계획을 세웁니다. 세 단계가 지나면 모델은 어디서 잘못되었는지 전혀 이해하지 못한 채 완전히 길을 잃게 됩니다.

명시적인 검증을 통해 모델은 오류를 즉시 포착하고 복구를 시도할 수 있습니다. 실제로 이는 GUI 에이전트의 주요 실패 모드인 연쇄 실패 (Cascading failures)를 극적으로 줄여줍니다.

폐쇄 루프 데이터 시스템 (Closed-Loop Data System)

GUI 에이전트를 학습시키는 것은 비용이 많이 듭니다. 모든 궤적 (Trajectory)은 앱 실행, 인터페이스 탐색, 상태 초기화와 같은 환경 상호작용을 필요로 합니다. 텍스트 생성만큼 쉽게 병렬화할 수 없습니다. 또한 모델이 개선됨에 따라 데이터 분포가 변화합니다. 약한 모델에게는 어려웠던 궤적이 더 강력한 모델에게는 사소한 것이 됩니다.

우리는 이를 폐쇄 루프 데이터 시스템 (Closed-loop data system)으로 해결합니다. 파이프라인은 다음과 같습니다:

  1. 현재 모델 배포 (Deploy current model): 평가 환경에 배포합니다.
  2. 궤적 수집 (Collect trajectories): 실제 작업 시도로부터 궤적을 수집합니다.
  3. 궤적 점수 산정 (Score trajectories): 자동 검증(스크린샷 비교, 상태 확인)을 사용하여 궤적의 점수를 매깁니다.
  4. 필터링 및 큐레이션 (Filter and curate): 도전적인 성공 사례와 정보 가치가 있는 실패 사례는 유지하고, 사소한 완료 사례는 버립니다.
  5. 피드백 (Feed back): 오프라인 RL (Offline RL) 데이터셋과 온라인 RL (Online RL) 초기화 단계로 피드백을 제공합니다.
  6. 재학습 (Retrain): 모델을 재학습하고 다시 배포합니다.

이는 지속적으로 개선되는 데이터 플라이휠 (Data flywheel)을 생성합니다. 모델이 좋아지면 더 높은 품질의 학습 데이터가 생성되고, 이는 다시 모델을 더 좋게 만듭니다. 결정적으로, 4단계는 모델이 개선됨에 따라 데이터셋이 지나치게 쉬워지는 것을 방지합니다. 즉, 우리는 계속해서 기준을 높여갑니다.

GSPruning: 에지(Edge) 환경에 충분히 빠르도록 만들기

실시간 상호작용 루프에서 시각-언어 모델 (Vision-language model)을 실행한다는 것은 지연 시간 (Latency)이 매우 중요하다는 것을 의미합니다. 화면을 관찰하고 행동을 취하는 사이에 2초의 지연이 발생하면 이는 단순히 느린 것이 아니라, 에이전트가 처리할 수 있는 작업의 성격 자체를 근본적으로 변화시킵니다. 애니메이션은 지나가고, 메뉴는 닫히며, 타임아웃이 발생합니다.

우리의 솔루션은 GSPruning입니다. 이는 이해력의 비례적인 손실 없이 각 스크린샷에서 모델이 처리하는 토큰 (Token)의 수를 줄이는 시각적 토큰 프루닝 (Visual token pruning) 기술입니다. 핵심적인 관찰 결과는 다음과 같습니다: 화면의 대부분의 픽셀은 배경, 장식 요소이거나 이전 프레임에서 변경되지 않은 상태입니다. 오직 아주 적은 부분만이 의사결정에 관련된 정보를 담고 있습니다.

GSPruning은 모델의 처리 파이프라인 초기 단계에서 정보량이 적은 시각적 토큰을 식별하고 제거하여, 작업 성능을 유지하면서도 계산 비용을 2~3배 줄여줍니다. 실질적인 영향은 다음과 같습니다: M5 Pro가 탑재된 MacBook Pro에서 4B 모델은 실시간 상호작용이 느릿하지 않고 반응성이 좋다고 느껴질 정도의 속도로 실행됩니다.

결과

이 3단계 파이프라인은 단일 단계만으로 달성할 수 있는 성능을 크게 상회하는 모델을 만들어냅니다. 몇 가지 수치는 다음과 같습니다:

  • OSWorld 특화 벤치마크 (specialized benchmark): 58.2% (#1, 차순위 45.0%)
  • 로컬 온디바이스 (Local on-device) (MacBook Pro M5 16GB 상의 Thinking-4B): 56% 통과율 (pass rate)
  • 비교 베이스라인 (Comparison baseline): 동일한 작업에서 Qwen3-VL-Plus 39%
  • 클라우드 모델 변형 (Cloud model variant): 당사의 100개 작업 macOS GUI 벤치마크에서 83% 통과율

로컬과 클라우드 간의 격차 (56% 대 83%)는 온디바이스 실행과 전체 모델 용량(full model capacity)을 사용하는 것 사이의 비용을 나타냅니다. 하지만 4B 모델이 탑재된 소비자용 노트북에서 로컬로 달성한 56%가 훨씬 더 큰 클라우드 모델의 39%보다 높다는 점은, 이 도메인에서는 단순한 규모(scale)보다 학습 파이프라인이 더 중요하다는 것을 입증합니다.

왜 이 순서가 중요한가

우리는 명백한 지름길들을 시도해 보았습니다.

오프라인 RL (Offline RL)을 건너뛰고 SFT에서 온라인 RL (Online RL)로 직접 진행하는 경우: 모델의 탐색 (exploration)이 미흡하고 학습이 불안정합니다. 보상 신호 (reward signal)를 압도하는 너무 많은 파멸적인 궤적 (catastrophic trajectories)이 발생합니다.

SFT 없이 오프라인 RL만 수행하는 경우: 모델이 오프라인 궤적 (offline trajectories)이 의미 있는 대조를 제공할 수 있을 만큼 일관되게 응집력 있는 행동 (coherent actions)을 생성하지 못합니다.

온라인 RL (Online RL)만 수행하는 경우: GUI 작업에서 처음부터 순수 RL (Pure RL)만으로는 합리적인 컴퓨팅 예산 내에서 수렴 (converge)하지 않습니다. 행동 공간 (action space)은 너무 넓고 보상 (reward)은 너무 희소 (sparse)합니다.

이 세 단계는 단순한 학습 레시피가 아니라 하나의 커리큘럼 (curriculum)입니다. 각 단계는 다음 단계를 위한 전제 조건을 만듭니다. SFT는 역량 (competence)을 제공합니다. 오프라인 RL은 강건성 (robustness)을 제공합니다. 온라인 RL은 적응성 (adaptability)을 제공합니다. 이 중 하나라도 제거하면 나머지 단계들이 이를 보완할 수 없습니다.

향후 계획

현재의 파이프라인은 다양한 애플리케이션에 걸쳐 macOS를 다루는 범용 GUI 에이전트 (generalist GUI agent)를 학습시킵니다. 하지만 이 프레임워크는 범용적입니다. 동일한 SFT → 오프라인 RL → 온라인 RL 구조는 전문가 시연 (expert demonstrations), 과거 궤적 (historical trajectories), 그리고 상호작용 가능한 환경 (interactive environment)이 존재하는 모든 도메인에 적용될 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0