관찰 토큰의 손실 마스크를 풀면 GRPO 탐색이 달라진다
Don't Mask the Environment: Observation Supervision Changes How Agents Explore Under RL
무엇인가
언어 에이전트의 궤적은 행동과 그 결과가 번갈아 기록된 것이다. 에이전트가 명령을 내리면 환경이 새 상태를 돌려주고, 에이전트는 그 상태를 보고 다음 행동을 정한다. 그런데 표준적인 궤적 SFT는 이 상호작용의 한쪽만 학습한다. 손실은 에이전트가 생성한 행동 토큰에만 걸리고, 환경 관찰 토큰은 문맥으로만 들어갈 뿐 예측 대상에서는 빠진다. 배포된 정책이 관찰을 생성하지는 않으니 자연스러워 보이는 관행이지만, 저자들은 이 관행이 이후 강화학습을 위한 최선의 초기화인지 의문을 제기한다. 읽는 것은 유용하되 예측하는 것은 무용하다는 가정이 실제로 검증된 적이 거의 없다는 지적이다.
어떻게 동작하나
제안 방법 ActObs는 이 가정을 정면으로 뒤집는다. 궤적에 이미 들어 있는 관찰 토큰의 마스크를 풀어, 행동과 관찰 양쪽에 언어모델링 손실을 건다. 토큰화된 궤적 y_1:N에서 행동 토큰 인덱스 집합을 A, 관찰 토큰 인덱스 집합을 O라 하면 손실은 L_λ(θ) = -[Σ_{i∈A} log p_θ(y_i | y_<i) + λ Σ_{i∈O} log p_θ(y_i | y_<i)] / (|A| + λ|O|) 이다. λ=0이면 기존 행동 전용 SFT(ActionSFT)가 되고 기본값은 λ=1로 행동과 관찰에 같은 가중치를 준다. 프롬프트는 두 경우 모두 마스킹되며, 분모가 예제당 손실 스케일을 유지한다. 관찰 위치에서 이 목적함수는 p_θ(o_t | h_t, a_t)를 학습시키므로, 모델은 직전 행동이 현재 환경에 무엇을 했는지를 표현해야 한다. 즉 각 궤적이 모방 예제이자 전이 예제가 된다. 새로운 시연, 롤아웃, 파라미터, 순전파가 전혀 필요 없고 구현상 레이블 마스크 변경에 불과하다. 비교군은 행동 전용 ActionSFT와, 관찰 전용 SFT를 먼저 한 뒤 행동 전용 SFT를 하는 타이밍 대조군 Obs→Act, 그리고 GRPO 중 정책 자체 롤아웃에 가중치 0.05의 다음 관찰 손실을 더하는 ECHO다.
무엇과 다른가
실험은 50k 다중 턴 터미널 궤적(0.71B 토큰, Nemotron-Terminal-Corpus 합성 부분, DeepSeek-V3.2 생성, 관찰 토큰이 코퍼스의 약 45%)으로 Qwen3-4B와 Qwen3-8B를 1 에폭(781 스텝, 배치 64, 코사인 스케줄, 최대 학습률 1e-5) 파인튜닝한 뒤, SFT 코퍼스와 겹치지 않는 Endless Terminals의 컨테이너화된 2,392개 과제에서 GRPO를 135 스텝(과제당 16 롤아웃, 배치 32, 학습률 1e-6, 이진 검증기) 돌린다. 평가는 SFT·RL 데이터와 모두 분리된 Terminal-Bench 2.0(89개 OOD 터미널 과제, 과제당 16회 시도, Chen et al. 2021의 불편 추정량으로 pass@k 계산)이다. SFT 직후에는 세 초기화가 비슷하지만 같은 GRPO를 거치면 갈라진다. 4B에서 ActObs는 pass@1, 4, 8, 16에서 ActionSFT→GRPO를 각각 1.6, 1.4, 1.5, 1.1 퍼센트포인트 앞서며 상대 우위는 29%, 13%, 11%, 6%다. 8B에서는 pass@1은 ActionSFT가 앞서지만 pass@4에서 역전되고 우위가 0.6, 2.6, 3.4 퍼센트포인트로 커지며(상대 3%, 12%, 14%), 해결한 과제 수도 24개 대 21개로 많다. 같은 양의 관찰 감독을 받은 순차 대조군 Obs→Act는 이 이득을 얻지 못하고, pass@16에서 ActObs가 4B 2.2포인트, 8B 3.4포인트 앞선다. 관찰 인지 RL인 ECHO와 비교해도 8개 운영점 중 7개에서 ActObs가 앞서거나 동률이다.
어떻게 쓰나
크로스도메인 전이도 보고된다. SFT와 RL 어디에도 없던 6개 언어 225개 코드 편집 과제(aider-polyglot)에서 4B ActObs는 ActionSFT→GRPO보다 pass@1 4.2포인트, pass@4 4.9포인트 높고(상대 43%, 24%), Obs→Act→GRPO보다도 3.9, 4.0포인트 높다. 이 우위는 RL 이전 코드 편집 능력 때문이 아니다. 4B ActObs SFT 체크포인트는 오히려 두 대안보다 뒤처지는데, GRPO가 pass@1 12.9포인트, pass@4 21.7포인트를 끌어올린다. 8B에서도 pass@1 1.5포인트(상대 12%), pass@4 0.5포인트 앞선다. 저자들은 이 차이를 탐색의 구조 변화로 설명한다. ActObs는 GRPO 중 더 높은 학습 엔트로피를 유지하고, 최종 정책의 자기 엔트로피도 높으면서 SFT 초기화에 더 가깝게 남는다(초기화 대비 KL 이동이 가장 작다). ActionSFT→GRPO의 추론 온도를 자기 엔트로피가 같아지도록 T*=0.64로 올려도 pass@k는 최대 0.7포인트 변하고 추가로 푸는 과제가 없어, 이득이 단순 무작위성 주입이 아님을 보인다. λ를 키우면 pass@8 우위는 단조 증가하고 pass@1은 반대로 움직여, 관찰 감독 강도가 pass@1 대 pass@k 트레이드오프를 조절한다.
전제와 한계
원인 분석은 SFT의 그래디언트 기하로 이어진다. 같은 256개 홀드아웃 궤적에서 행동 그래디언트와 관찰 그래디언트를 따로 계산하면, 사전학습 체크포인트에서는 두 방향이 대체로 정렬되어 있지만 SFT 10~20 스텝 안에 코사인 유사도가 노이즈 수준으로 떨어져 관찰 그래디언트가 거의 직교 성분만 남는다. ActionSFT는 이 직교 방향을 공급하지 못하므로 관찰 그래디언트 대 행동 그래디언트의 노름 비 r이 약 41까지 치솟고, 그 결과 환경 피드백 예측 능력이 베이스 모델보다도 나빠진다. ActObs는 두 신호를 함께 최적화해 r을 0.5 근처로 유지하며 관찰 예측을 보존한다. 토큰 수준에서는 관찰의 고정 래퍼인 "New Terminal Output:" 구간이 아니라 그 뒤의 셸 프롬프트, 에러 라인 등 페이로드 텍스트에서 차이가 난다. 명령 토큰 엔트로피를 위치별로 나누면 첫 몇 토큰은 두 방법이 비슷하게 날카롭고, 인자·플래그·경로를 담는 뒤쪽 토큰에서 격차가 벌어진다. ActObs만 성공한 대표 사례는 QEMU 실행 파라미터를 하나씩 바꿔가며 동작하는 메모리 설정을 찾아낸 롤아웃이다.
개발자 관점에서 이 논문의 실무적 핵심은 개입 지점이 RL이 아니라 SFT의 손실 마스크라는 점이다. 이미 궤적에 들어 있는 관찰 토큰의 마스크만 풀면 되므로 데이터 수집, 모델 구조, RL 알고리즘을 바꿀 필요가 없다. 터미널·코딩처럼 환경 피드백이 풍부하고 궤적의 상당 부분이 관찰 토큰인 도메인이라면, SFT 체크포인트의 벤치마크 점수가 비슷하더라도 GRPO 이후 pass@k가 달라질 수 있으니 SFT 단계에서 이 변형을 한 번 실험해볼 가치가 있다. 다만 단일 시도 정확도(pass@1)를 중시하는 서비스라면 λ를 낮게 잡는 편이 낫고, 반복 샘플링으로 성공률을 끌어올리는 구조라면 λ를 키우는 쪽이 유리하다. 또한 SFT 직후 점수만 보고 초기화를 고르면 안 되며, 반드시 동일한 RL 레시피를 적용한 뒤의 pass@k와 엔트로피, 초기화 대비 KL 이동을 함께 확인해야 한다.
저자들이 명시한 전제와 한계도 분명하다. 관찰 감독은 기본적으로 SFT 단계에서만 쓰이고 표준 GRPO에는 관찰 예측 손실이 없다. 이득은 조건부다. 8B에서는 pass@1을 ActionSFT에 내주고 pass@k에서 얻으며, ECHO를 결합한 8B pass@16 비교에서는 오히려 ActionSFT가 앞선다. λ 스윕이 보여주듯 관찰 가중치를 올리면 pass@1이 희생되므로 공짜 향상이 아니라 배분 문제다. 또한 관찰 토큰이 궤적에 존재해야 하고, 실험은 DeepSeek-V3.2가 생성한 합성 터미널 코퍼스와 터미널·코드 편집 벤치마크에 한정되어 있어 다른 도메인이나 실제 사람 시연 궤적으로의 일반화는 이 논문에서 검증되지 않았다. 원문에는 별도의 한계 절이 없고, 위 내용은 본문의 실험 설정과 결과 서술에서 확인되는 범위다.