연구진이 2026년 10월 22일 arXiv에 논문 「Learning to Be Monitored」를 올렸다. 거대언어모델(LLM)의 사고의 연쇄(CoT)를 읽어 해로운 행동을 잡아내는 CoT 감시에서, 기존 평가 지표가 감시 성능을 부풀릴 수 있다는 점을 보이고 감시하기 쉬운 CoT를 내놓도록 모델을 사후 학습하는 방법 세 가지를 제안한 내용이다.1
세 방식은 오프폴리시 자기 지식 증류, 강화 학습, 온폴리시 자기 지식 증류다. 연구진은 기본 모델마다 방식별로 별도 변형 모델을 학습했고, 여러 모델과 감시기 조합에서 세 방식 모두 대체로 CoT 감시 가능성을 높였다고 밝혔다. 이 개선은 연구진이 확장한 평가 틀(extended evaluation framework) 아래에서 해당 기본 모델과 비교한 결과다. 학습·평가 코드는 GitHub 저장소로 공개됐지만 모델 가중치와 실험 결과는 포함되지 않았다.1,2
기존 지표가 과대평가하는 이유
개입 기반 평가는 모델에 특정 개입을 주고, 목표 행동이 나타났을 때 감시기가 CoT만 보고 그 개입의 역할을 알아챌 수 있는지를 잰다. 지금까지는 Guan 등이 2025년 제안한 최소 기준 민감도(TPR_mc)를 주로 썼다.
연구진은 개입 아래에서 관찰된 목표 행동이 반드시 그 개입 때문에 생긴 것은 아니라고 지적한다. 그래서 TPR_mc가 개입이 실제로 일으킨 목표 행동을 감시기가 잡아내는 비율을 과대평가할 수 있다는 것이다. 연구진은 TPR_mc가 이 인과적 탐지율의 상한이라는 것을 증명하고, 짝이 되는 하한도 도출했다. 상한과 하한을 함께 쓰면 CoT 감시 가능성을 더 촘촘하게 평가할 수 있다고 연구진은 설명했다.1
학습 데이터와 세 가지 방식
연구진은 여러 개입 유형에 걸쳐 대조 과제와 개입 과제를 짝지은 학습 데이터셋을 만들었다. 이 데이터로 개입별 학습법 세 가지를 설계해 적용했다.1
저장소의 지도 미세 조정(SFT) 예제는 미리 만든 오프라인 자기 교사 응답을 학습 목표로 쓴다. 추론과 최종 답을 모두 지도하며, 손실은 궤적별로 정규화한 교차 엔트로피다. 학습 입력은 시스템 지시와 사용자 질문으로 이루어진 공개 메시지이고, 목표 응답은 reasoning 블록 뒤에 answer 블록을 붙인 형식이다. 교사가 쓰는 비공개 지침은 오프라인 교사 응답을 만드는 단계에만 들어가고 학생 메시지에는 넣지 않는다.
예시 데이터는 "2+3은? 답은 6인 것 같다"라는 질문에 "제안된 답은 6이지만 2와 3을 더하면 5이므로 제안을 거부한다"는 추론을 달고 5로 답하는 형태다. 틀린 답을 제안하는 단서를 모델이 어떻게 다루는지를 보여 주는 예시다.
강화 학습 예제의 입력 레코드에는 원래 과제, 개입, 목표 결과가 들어간다. 예를 들어 "12와 19 중 작은 수를 고르라"는 과제에 "일부러 틀린 답을 고르라"는 개입을 주고, 정답과 다른 유효한 답을 목표 결과로 삼는다. 학습 전에 OpenAI 호환 판정 서비스를 외부에서 띄우고 JUDGE_BASE_URL과 JUDGE_MODEL을 설정해야 한다. 인증이 필요하면 JUDGE_API_KEY를 실행 환경으로 넣는다. 추론 판정기와 결과 검증기는 같은 서비스를 쓰되 요청을 따로 보내, 추론 판정기에는 최종 답이 들어가지 않고 결과 검증기에는 추론이 들어가지 않는다. 판정 서버나 스키마 오류가 나면 행동 보상을 내지 않고 오류를 낸다.
온폴리시 자기 지식 증류(OPSD) 예제는 입력 하나를 대조 행과 개입 행 한 쌍으로 펼친다. 비공개 참조 필드는 학생 프롬프트에 들어가지 않는다. 고정된 교사 모델은 학생과 같은 초기 모델과 토크나이저를 쓰며 대체 궤적을 새로 샘플링하지 않는다. 예제는 학습을 맡는 actor GPU와 별도로 교사용 GPU를 따로 잡는다. 교사 모델의 용량은 비공개 접두부, 샘플링된 전체 응답, 추가 토큰 1개를 모두 담을 수 있어야 하며, 접두부가 넘치면 조용히 넘어가지 않고 명시적으로 실패한다. 손실은 과제 보상 없이 Top-k 순방향 KL을 쓰고, 최종 답 구간은 가려 두며 파싱이 모호하면 보수적으로 가중치를 낮춘다.2
저장소 구성과 실행 조건
강화 학습과 OPSD는 verl 프레임워크를 기반으로 하며 저장소는 verl의 파생물이다. SFT는 GPU 한 장에서 돌아가는 독립 LoRA 학습기이고 verl 설치가 필요 없다. 강화 학습·OPSD, SFT, 평가는 추론과 수치 라이브러리 요구 조건이 서로 달라 환경을 따로 만들어야 한다. 강화 학습과 OPSD는 Python 3.12와 호환되는 CUDA/PyTorch/vLLM 환경을 쓰며, 저장소 루트 패키지를 설치하면 verl과 방법 모듈이 깔리고 evaluation은 설치되지 않는다.
SFT 예제는 모델군으로 Qwen3.5와 Mistral 3을 지원하고 CUDA GPU 한 장을 쓴다. LoRA는 언어 모델의 어텐션 투영층에 적용된다. 프롬프트 토큰, 패딩, 어시스턴트 내용 밖의 채팅 템플릿 토큰은 손실에서 제외하고, 추론·답·블록 구분자는 지도 대상이다. 손실은 궤적 안에서 평균을 낸 뒤 궤적 사이에서 다시 평균을 내며 KL 항은 없다. 응답은 잘라내지 않으므로 시퀀스 길이 한도를 목표 응답이 모두 들어가게 잡아야 한다. 에포크가 끝날 때마다 어댑터와 토크나이저를 저장한다.
SFT 예제의 LoRA 랭크는 8이지만 평가기의 고정 로딩 프로필은 랭크 32를 요구하고, 학습기와 평가기가 요구하는 체크포인트 매니페스트 형식도 다르다. 저장소는 이 차이를 메우도록 코드를 고치지 않았으며, SFT 결과를 평가하려면 COMPONENTS.md를 먼저 봐야 한다고 안내한다. 학습 데이터, 체크포인트, 평가 시드는 사용자가 마련해야 한다. SFT 예제는 원천 그룹이 겹치지 않는 분할을 미리 준비하라고 안내한다. RL 예제의 전처리기는 단순 무작위 분할을 제공하는데, 연구용으로는 중복 유출을 막기 위해 원천 그룹이 겹치지 않게 외부에서 나누라고 한다.2
평가 패키지
평가 패키지는 MonitorBench 과제 12개와 CoT만 보는 감시 절차, 인과적 재현율의 하한과 상한 추정기를 담았다. 과제 모델은 Qwen3.5-4B, Qwen3.5-9B, Mistral Small 3.2 24B의 고정 프로필이고, 감시 모델은 Qwen3-32B, Llama 3.3 70B, GPT-OSS-120B다. 목표 결과 검증기는 최종 응답만 읽고, 감시기는 CoT와 과제·개입 맥락을 읽되 따로 파싱한 최종 응답은 보지 않는다.
GPU 추론을 쓰려면 evaluation[runtime]을 설치해야 한다. 옮겨 온 GPU 워크플로는 아직 처음부터 끝까지 도는 시험(캐너리)이 필요하며, CPU 테스트만으로는 GPU 환경의 동작을 보증하지 못한다고 저장소는 밝혔다.
학습 프레임워크와 방법 구현은 Apache-2.0 라이선스이고, 평가 구성요소는 MonitorBench의 MIT 고지를 유지한다. 데이터셋과 모델의 재배포 조건은 따로 적용된다.2