정답 없이 시험 시간에 추론 정책을 고칩니다 | DAKER 커뮤니티
2026년 8월 27일 Aozhe Wang 연구팀이 정답 라벨 없이 시험 시간에 추론 정책을 고치는 TTPO를 arXiv에 공개했습니다. 강화 학습과 온폴리시 자기 증류는 정답 라벨이 필요해 시험 시간 학습을 하지 못합니다. 다수결 가짜 라벨은 투표가 틀리면 교사까지 오염됩니다. TTPO는 동의한 롤아웃은 증류하고, 반대 롤아웃은 그룹 강화 학습으로 벌합니다. 라벨 없이 라벨을 쓴 증류와 다섯 대회급 벤치에서 맞섰습니다.

논문은 2026년 8월 27일 arXiv에 올라왔습니다. 초록은 arXiv:2608.27448에서 확인할 수 있습니다. 저자는 Aozhe Wang, Zhengxi Lu, Jianze Wang, Shangke Lv, Ying Liu, Weiming Lu, Jun Xiao, Yueting Zhuang, Hua Yang, Qianglong Chen, Yongliang Shen입니다. 프로젝트 페이지는 zju-real.github.io/TTPO, 코드는 github.com/ZJU-REAL/TTPO입니다. 오늘 본문은 초록이 적은 숫자만 씁니다. 다섯 벤치 이름은 초록에 없으므로 짓지 않습니다.

정답이 없으면 시험 시간 학습이 막힙니다
강화 학습과 온폴리시 자기 증류는 수학 추론을 빠르게 끌어올린 사후학습입니다. 둘 다 정답 라벨에 기대므로, 시험 시간 학습에는 쓰지 못합니다. 시험 시간 학습은 풀어야 할 문제 위에서 모델을 고치고, 그 자리에는 라벨이 오지 않습니다. 정답을 보상으로 쓰거나 교사 문맥으로 쓰는 방법은 그 자리에서 멈춥니다. 해커톤 본선처럼 정답이 숨겨진 자리에서도 같은 제한이 있습니다.
자연스러운 대체는 여러 롤아웃을 뽑아 다수결을 가짜 라벨로 쓰는 일입니다. 그 방법은 약합니다. 투표가 틀리면 교사가 오염되고, 모든 토큰이 잘못된 방향을 배웁니다. 보상 하나가 궤적 전체를 한 번 속이는 일과, 오염된 교사가 토큰마다 속이는 일은 크기가 다릅니다. 다수결을 정답처럼 증류에 넣으면 후자가 됩니다. “투표가 많으니 맞다”는 운영은 이 초록이 약한 이유로 든 바로 그 습관입니다.
그럼에도 다수결을 버릴 수는 없습니다. 라벨이 없는 자리에서는 모델 자신이 만든 합의가 유일한 신호인 경우가 많습니다. 문제는 그 신호를 모든 롤아웃에 같은 방식으로 적용하는 일입니다. TTPO는 동의한 쪽과 반대하는 쪽을 다르게 다룹니다. 그 비대칭이 이 논문의 출발입니다.
동의하면 증류하고, 반대하면 벌합니다
초록이 관찰한 비대칭은 이렇습니다. 가짜 라벨에 반대하는 롤아웃은, 그 투표 자체가 틀렸더라도 대개 틀린 쪽입니다. 반대한다는 사실만으로도 벌할 이유는 남습니다. 벌은 가짜 라벨의 내용을 정답으로 믿지 않습니다. 다수 묶음에 들어가지 않았다는 점만 씁니다. 반대로 동의한 롤아웃을 가짜 라벨 쪽으로 증류하면, 투표가 틀렸을 때 교사 전체가 잘못된 답을 토큰마다 밀어 넣습니다.
TTPO는 그 비대칭을 목적 함수로 옮깁니다. 동의한 롤아웃은 온폴리시 자기 증류로 증류합니다. 반대 롤아웃은 그룹 강화 학습으로 벌합니다. 두 신호를 같은 롤아웃에 동시에 걸지 않습니다. 동의한 쪽에만 밀도 높은 감독을 주고, 반대하는 쪽에는 라벨 내용에 덜 묶인 벌을 줍니다. 가짜 라벨 오류가 잦아도 두 갱신이 근거를 유지한다고 초록은 적습니다. 모델이 나아지면 다수결 경로가 더 촘촘한 자기 감독이 됩니다.
해커톤에서 정답이 없는 검증 세트를 다룰 때, 이 분리를 체크리스트로 쓸 수 있습니다. 여러 답을 뽑고 다수결을 낸 뒤, 동의한 궤적은 설명용 교사로만 쓰고, 반대 궤적은 “이 답은 쓰지 말 것”으로만 다루십시오. 반대 궤적의 답을 정답처럼 뒤집지 않습니다. 다수결이 틀린 경우에도 반대 쪽을 정답으로 승격하지 않는 것이 이 관찰의 실무 번역입니다.
토큰마다 다른 가중치를 줍니다
토큰 단위 선택이 두 가지를 다시 가릅니다. 증류는 이미 수렴한 위치의 가중치를 낮춥니다. 강화 학습은 확신 있는 오류만 벌합니다. 모든 토큰에 같은 기울기를 주면, 이미 맞은 자리까지 흔들리거나, 실패한 궤적 안의 바른 부분 계산까지 벌받습니다. TTPO는 그 낭비를 줄이려고 위치를 고릅니다.
증류 쪽에서 수렴한 위치를 낮추는 이유는, 모델이 이미 확신하고 교사와 맞는 자리에서 배울 것이 적기 때문입니다. 벌 쪽에서 확신 있는 오류만 고르는 이유는, 실패 궤적에도 로컬로는 바른 토큰이 있기 때문입니다. 그 토큰까지 벌하면 재사용 가능한 계산 습관이 같이 줄어듭니다. 오늘 본문은 가중치 공식 숫자를 만들지 않습니다. 초록이 준 규칙은 두 문장입니다. 수렴한 위치는 증류에서 낮추고, 확신 있는 오류만 강화 학습에서 벌합니다.
코딩 에이전트 로그에 같은 규칙을 옮기면, 이미 안정된 import 줄은 학습에서 빼고, 잘못된 API를 확신 있게 호출한 줄만 벌하는 식입니다. 모든 실패 토큰을 같은 무게로 다루지 마십시오. 사람 리뷰에서도 확신 있는 오류와 탐색 중 망설임을 나누어 표시하면, 다음 제출의 패치가 짧아집니다.
라벨 없이 라벨 감독과 맞섭니다
라벨이 없는 설정에서 TTPO는 라벨을 쓴 온폴리시 자기 증류와 다섯 대회급 벤치에서 맞섰습니다. 다섯 이름은 초록에 없습니다. 오늘 본문에도 짓지 않습니다. Qwen3-1.7B는 시험 시간 학습에서 38.0%에서 45.2%로 올랐습니다. 생각 모드를 끈 설정에서는 이득이 25.2%포인트에서 36.4%포인트입니다. 과제 사이 일반화도 강하다고 적혀 있습니다. 이 밖에 모델 크기와 벤치별 점수는 초록이 주지 않으면 쓰지 않습니다.
숫자가 가리키는 범위만 팀에 옮기십시오. 38.0에서 45.2는 Qwen3-1.7B의 시험 시간 학습 결과입니다. 25.2에서 36.4는 생각 모드를 끈 설정 이득입니다. 우리 과제 점수라고 바꾸지 않습니다. 다섯 벤치 이름을 추측해 표 머리로 쓰지 않습니다. 일반화가 강하다는 문장은 방향입니다. 모든 도메인에서 같다고 약속하지 않습니다.
정답이 늦게 공개되는 DACON 평가와, 라벨이 없는 DAKER 아이디어 검증에서, 시험 시간 학습은 유혹적입니다. 다수결을 정답처럼 증류에 넣지 마십시오. 동의와 반대를 나누고, 토큰 가중치를 가리는 쪽이 이 논문이 적은 경로입니다. 코드와 프로젝트 페이지가 공개되어 있으므로, 재현은 그 저장소에서 시작하십시오.
코드가 열린 이유를 재현 순서로 옮깁니다
프로젝트 페이지와 코드가 공개된 이유는, 비대칭 목적 함수를 글만으로 재현하기 어렵기 때문입니다. 동의한 롤아웃을 증류하고 반대 롤아웃을 그룹 강화 학습으로 벌하는 규칙은 한 줄로 적혀 있습니다. 토큰 가중치와 마스크를 어떻게 구현했는지는 저장소를 열어야 확인됩니다. 오늘 본문은 그 구현 숫자를 짓지 않습니다. 재현의 첫 단계는 초록의 숫자와 저장소의 실행 안내를 같은 메모에 붙이는 일입니다.
정답이 없는 검증 묶음을 고를 때는 라벨을 보지 않는 규칙을 먼저 적으십시오. 라벨을 본 뒤 다수결을 고르면 시험 시간 학습이 아닙니다. DACON public 점수와 다른 내부 묶음을 쓰거나, DAKER 과제에서 정답이 아직 없는 구간을 쓰십시오. 롤아웃을 뽑은 뒤 동의와 반대를 표시하고, 반대 답을 정답으로 승격하지 않습니다. 투표가 틀렸더라도 반대 롤아웃은 대개 틀린 쪽이라는 관찰을, 운영 규칙으로 옮기면 그 문장이 됩니다.
생각 모드를 켠 설정과 끈 설정을 같은 문제로 비교하는 이유는, 초록이 끈 설정에서 이득을 따로 적었기 때문입니다. 38.0에서 45.2는 시험 시간 학습의 Qwen3-1.7B 숫자입니다. 25.2에서 36.4는 생각 모드를 끈 설정 이득입니다. 두 줄을 한 점수처럼 합치지 마십시오. 우리 과제 결과 옆에도 어떤 설정인지를 같이 적습니다. 다섯 벤치 이름은 비워 둡니다. 비워 두는 일이 이 글의 정확성입니다.
그룹 강화 학습으로 반대 롤아웃을 벌할 때는, 가짜 라벨의 내용을 정답으로 넣지 마십시오. 벌의 근거는 다수 묶음에 들어가지 않았다는 점입니다. 내용을 정답처럼 뒤집으면 비대칭이 사라집니다. 해커톤 리뷰에서 “다수결과 다르니 반대쪽이 정답”이라고 적지 마십시오. 초록의 관찰은 반대쪽이 대개 틀린다는 쪽입니다. 그 문장을 반대로 읽으면 시험 시간 학습이 다시 약해집니다.
온폴리시 자기 증류를 동의한 롤아웃에만 거는 이유도 같습니다. 동의한 답을 교사 문맥에 넣으면, 투표가 틀렸을 때도 그 갱신은 모델이 이미 낸 답을 더 또렷하게 만드는 쪽에 가깝습니다. 반대 롤아웃까지 그 교사로 밀면 오염이 퍼집니다. 구현을 직접 짜기 전에 공개 코드의 분기, 곧 동의 분기와 반대 분기가 나뉘는지를 확인하십시오. 한 손실로 모두 넣으면 이 논문이 아닙니다.
다수결을 내는 과정 자체를 로그로 남기십시오. 몇 개를 뽑았는지, 어떤 답이 묶였는지, 동의와 반대가 어떻게 갈렸는지를 한 표에 둡니다. 표가 없으면 나중에 비대칭을 적용했는지 확인할 수 없습니다. 확인 없는 시험 시간 학습은 다수결을 정답처럼 쓰는 습관으로 돌아갑니다. 그 습관이 교사를 오염시키는 경로입니다. 해커톤 리뷰에서는 그 표를 먼저 보고, 손실을 나중에 보십시오.
생각 모드를 끈 설정의 이득을 우리 과제에 옮길 때도 설정을 명시하십시오. 켠 설정과 끈 설정을 한 평균으로 합치지 않습니다. 합치면 어느 설정이 이득을 주었는지 사라집니다. 제출 파이프라인에 설정 이름을 첫 줄에 남기십시오. 이름이 없는 점수는 다음 팀이 재현하지 못합니다. 재현되지 않는 점수는 제출 기록으로 약한 값입니다.
과제 사이 일반화를 확인할 때는 학습에 쓴 과제와 평가에 쓴 과제를 다르게 두십시오. 같은 과제에서만 오르고 다른 과제에서 그대로이면, 일반화가 약한 결과입니다. 약한 결과를 숨기지 마십시오. 초록은 일반화가 강하다고 적었으나, 우리 과제에서 그런지는 우리 표가 말합니다. 표를 공개 주소로 올리는 일이 오늘 할 일의 마지막입니다. 주소가 없으면 일반화 주장은 채팅 문장으로 끝납니다.
오늘 시험 시간 학습을 켜기 전에, 라벨을 보지 않겠다는 문장을 저장소 맨 위에 두십시오. 그 문장이 없으면 실험이 시험 시간 학습인지 사후학습인지 가려지지 않습니다. 가려지지 않은 실험은 비교 대상이 아닙니다. 비교 대상이 아니면 이 논문을 인용할 자리가 없습니다. 문장을 먼저 고정하십시오.
동의와 반대를 나눈 표를 공개 주소에 같이 올리십시오. 표 없는 점수 한 줄은 이 논문을 재현한 기록이 아닙니다.
라벨을 보지 않겠다는 문장과 동의·반대 표를 오늘 같은 주소에 올리십시오.
설정 이름을 오늘 제출 로그 첫 줄에 그대로 적으십시오.
다섯 벤치 이름은 오늘도 비워 두고 초록에 적힌 숫자만 인용하십시오.
이 글이 아닌 것입니다
다섯 벤치 이름을 공개한 글이 아닙니다. 초록은 다섯 대회급 벤치라고만 적습니다. 이름을 지어 표에 넣지 않습니다.
다수결을 정답으로 믿으라는 처방이 아닙니다. 다수결은 약하고, 틀린 투표는 교사를 오염시킵니다. 쓰는 이유는 라벨이 없기 때문이고, 쓰는 방식은 비대칭입니다.
모든 토큰을 같은 무게로 갱신하는 방법도 아닙니다. 증류는 수렴한 위치를 낮추고, 강화 학습은 확신 있는 오류만 벌합니다.
정답 라벨이 있는 사후학습을 대체한다고 단정한 글이 아닙니다. 라벨이 없는 시험에서 라벨을 쓴 증류와 맞선다는 비교입니다. 라벨이 있는 학습을 버리라는 운영 지침이 아닙니다.
우리 대회 절대 점수를 준 글도 아닙니다. 38.0에서 45.2, 25.2에서 36.4는 이 논문이 적은 설정입니다. DACON 점수로 환산하지 않습니다.
오늘 할 일
첫째, 초록과 코드와 프로젝트 페이지를 같이 여십시오. arXiv:2608.27448, GitHub, 프로젝트 페이지를 체크리스트에 올립니다. 다섯 벤치 이름을 추측하지 않습니다. 숫자 38.0·45.2·25.2·36.4만 메모에 고정합니다.
둘째, 정답이 없는 검증 문제 묶음을 하나 고르십시오. DAKER 해커톤 평가 세트나 DACON public과 다른 내부 검증 문제를 씁니다. 라벨을 보지 않는 규칙을 먼저 적습니다. 라벨을 보고 다수결을 고르는 실험은 이 논문과 다른 실험입니다.
셋째, 문제마다 롤아웃을 여러 개 뽑아 다수결과 동의·반대 묶음을 만드십시오. 동의한 궤적은 증류 후보, 반대 궤적은 벌 후보로만 표시합니다. 반대 답을 정답으로 뒤집지 않습니다.
넷째, 토큰 표시를 두 종류로 나누십시오. 이미 안정된 위치와 확신 있는 오류를 다르게 표시합니다. 실패 궤적의 모든 토큰을 같은 빨강으로 칠하지 않습니다.
다섯째, 생각 모드를 켠 설정과 끈 설정을 같은 문제로 비교하십시오. 초록은 끈 설정에서 이득이 더 크게 적혔습니다. 우리 과제에서 그런지 확인합니다. 25.2와 36.4를 우리 숫자처럼 쓰지 않습니다.
여섯째, 한 과제에서 고친 정책을 다른 과제에 그대로 옮겨 일반화를 확인하십시오. 초록은 과제 사이 일반화가 강하다고 적습니다. 한 과제에만 맞춘 뒤 제출하지 않습니다.
일곱째, 동의·반대 표와 재현 로그를 공개 링크로 올리십시오. DAKER와 DACON에는 빌더와 대회 기록이 쌓여 있습니다. 스크린샷만 채팅에 남기고 주소를 비우지 않습니다. 배포가 제출입니다. 올린 링크가 제출입니다.