Not all tokens are needed(NAT): token efficient reinforcement learning

이 논문은 강화 학습 (RL) 의 계산 비용과 메모리 부담을 줄이기 위해 생성된 토큰의 일부만 선택하여 학습하는 'NAT'프레임워크를 제안하며, 이를 통해 전체 토큰을 사용하는 것과 동등한 성능을 유지하면서 GPU 메모리 및 학습 시간을 크게 절감할 수 있음을 입증합니다.

Hejian Sang, Yuanda Xu, Zhengze Zhou, Ran He, Zhipeng Wang

게시일 2026-03-10
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🎓 "모든 단어가 필요한 건 아닙니다": AI 학습을 더 똑똑하고 가볍게 만드는 새로운 방법

이 논문은 거대한 언어 모델 (LLM) 이 수학이나 논리 문제를 풀 때, 매번 모든 단어를 다시 계산하며 학습할 필요가 없다는 놀라운 사실을 발견했습니다. 마치 학생이 시험을 풀 때, 정답을 확인하는 과정은 전체를 보지만, 실력을 기르기 위해 다시 공부할 때는 가장 중요한 부분만 골라서 해도 된다는 아이디어입니다.

이 기술을 NAT(Not All Tokens are Needed, 모든 토큰이 필요하지 않다) 라고 부릅니다.


🧠 왜 이런 문제가 생겼을까요? (비유: 거대한 도서관의 청소)

지금까지 AI 가 학습할 때는 다음과 같은 방식이 사용되었습니다.

  1. 생성 (Rollout): AI 가 긴 이야기 (예: 수학 문제 풀이 과정) 를 써냅니다.
  2. 검토 (Reward): 사람이나 프로그램이 그 이야기를 다 읽고 "정답이다/오답이다"라고 점수를 줍니다.
  3. 학습 (Backpropagation): AI 는 생긴 이야기의 모든 단어를 다시 한 번 뒤적거리며 "어디가 틀렸지? 다음엔 어떻게 고쳐야 하지?"라고 계산합니다.

문제점:
이유를 설명하는 이야기 (Chain-of-Thought) 가 길어질수록, AI 는 모든 단어를 다시 계산해야 하므로 컴퓨터의 메모리 (RAM) 가 터지거나, 학습 속도가 매우 느려집니다.

비유: 도서관 사서가 책 한 권을 정리할 때, 책의 첫 페이지부터 마지막 페이지까지 모든 페이지를 다시 펼쳐서 확인해야 한다면 시간이 얼마나 걸리겠습니까? 하지만 사실 중요한 건 오류가 있는 부분이나 핵심 결론일 뿐입니다.


💡 NAT 의 해결책: "필요한 부분만 다시 읽기"

NAT 는 이 문제를 해결하기 위해 두 가지 똑똑한 방법을 제안합니다.

1. 무작위 샘플링 (URS): "눈을 감고 책장 넘기기"

  • 방법: AI 가 쓴 긴 이야기에서 단어를 무작위로 50% 정도만 골라냅니다.
  • 작동 원리: "이 단어는 학습에 포함하고, 저 단어는 건너뛰자"라고 랜덤하게 결정합니다.
  • 한계: 하지만 현대 AI 는 문맥을 이해하기 위해 앞서 나온 모든 단어를 기억해야 합니다. 그래서 뒤쪽 단어를 건너뛰더라도, 앞쪽 단어를 읽는 데는 여전히 많은 시간이 걸립니다. (앞쪽 페이지를 다 펼쳐야 뒤쪽을 볼 수 있으니까요.)

2. 랜덤 접두사 자르기 (RPC): "책의 끝부분을 잘라내기" ⭐ (이게 핵심입니다!)

  • 방법: AI 가 쓴 이야기의 앞부분 (접두사) 만 남기고, 뒤쪽을 무작위로 잘라냅니다.
    • 예: 100 단어로 쓴 글이라면, 50 단어까지만 남기고 나머지는 잘라버립니다.
  • 왜 좋은가요?
    • 메모리 절약: 뒤쪽 단어가 없으니, 컴퓨터는 그 부분을 계산할 필요가 없습니다.
    • 시간 단축: 앞쪽만 계산하면 되니 속도가 빨라집니다.
    • 공정성 유지: "잘라낸 부분도 학습에 반영해야 하지 않나요?"라는 의문이 들 수 있습니다. NAT 는 HT(Horvitz-Thompson) 보정이라는 수학적 마법을 사용합니다.
      • 비유: 만약 100 명 중 50 명만 뽑아 설문을 했다면, 2 배의 가중치를 주어 전체 100 명의 의견을 대표하게 만드는 것과 같습니다. 잘라낸 뒤쪽 단어도 수학적으로 보정하여 전체 학습 효과를 유지합니다.

📊 실제 효과는 어떨까요?

논문의 실험 결과 (Qwen3-8B 모델 기준) 는 다음과 같습니다.

  • 성능: 전체 단어를 다 학습한 경우 (GRPO) 와 50% 만 학습한 경우 (RPC) 의 수학 문제 풀이 정확도는 거의 똑같았습니다.
  • 메모리: 피크 메모리 사용량이 약 18% 감소했습니다. (큰 서버에서 이 정도면 엄청난 절약입니다.)
  • 시간: 학습 시간이 약 29% 단축되었습니다.

비유: 원래는 100 페이지의 책을 다 읽고 요약하는 데 10 시간이 걸렸다면, NAT 를 쓰면 중요한 앞 50 페이지만 읽고 요약해도 10 시간짜리 시험에서 같은 점수를 받으면서, 7 시간만 투자하면 됩니다.


🚫 다른 방법들은 왜 안 될까요?

논문을 보면 "단순히 뒤쪽 50% 를 잘라내는 것 (Deterministic Truncation)"은 성능이 떨어졌습니다.

  • 이유: 항상 같은 위치에서 자르면, AI 는 "결론 부분"이나 "검증 단계"를 전혀 배우지 못하게 됩니다. 마치 학생이 시험의 정답 부분만 잘라내서 공부하면, 왜 그 답이 나왔는지 이해하지 못하게 되는 것과 같습니다.
  • NAT 의 RPC 는: 무작위로 자르기 때문에, 때로는 앞부분만, 때로는 중간까지, 때로는 거의 끝까지 학습하게 되어 공정하게 모든 부분을 배울 기회를 줍니다.

🌟 결론: AI 의 미래를 위한 '스마트한 절약'

이 연구는 **"더 많은 데이터와 더 긴 문장을 무조건 다 학습해야 한다"**는 고정관념을 깨뜨렸습니다.

  • 핵심 메시지: AI 가 논리적으로 추론할 때, 모든 단어가 중요한 것은 아닙니다.
  • NAT 의 역할: 불필요한 계산을 줄여주면서도, 수학적으로 정확한 학습 신호를 유지하게 해줍니다.
  • 미래: 이 기술이 적용되면, AI 는 더 긴 문장을 더 빠르게, 더 적은 전산 비용으로 학습할 수 있게 되어, 복잡한 과학 문제나 긴 대화에서도 더 똑똑해질 수 있습니다.

한 줄 요약:

"AI 가 긴 글을 쓸 때, 모든 글자를 다 다시 계산할 필요는 없습니다. 중요한 앞부분만 잘게 잘라내서 (무작위로) 학습해도 똑똑해지고, 컴퓨터도 훨씬 가볍게 돌아갑니다!"