TECH 으로 돌아가기
TECH HACKER NEWS 오늘 8분 읽기 27 READS

LLM 강화학습의 숨은 병목: '한 번도 못 푸는 문제'에서 어떻게 배우게 할까

배경: 요즘 LLM은 강화학습으로 똑똑해진다

요즘 나오는 추론 모델들, 그러니까 OpenAI의 o 시리즈나 DeepSeek-R1 같은 모델들이 수학 문제나 코딩 문제를 잘 푸는 비결은 강화학습(RL)이에요. 정확히는 '검증 가능한 보상을 이용한 강화학습(RLVR, Reinforcement Learning with Verifiable Rewards)'이라는 방식인데요.

이게 뭐냐면, 모델한테 수학 문제를 주고 답을 여러 번 생성하게 한 다음, 정답이면 1점, 오답이면 0점을 주는 거예요. 그리고 점수를 받은 답변의 생성 확률은 올리고, 못 받은 답변의 확률은 내려요. 사람이 일일이 좋은 답을 써줄 필요 없이 채점기만 있으면 되니까 규모를 키우기 좋거든요. DeepSeek이 R1을 만들면서 쓴 GRPO(Group Relative Policy Optimization)라는 알고리즘이 이 방식의 대표주자예요.

그런데 이 방식에는 구조적인 약점이 하나 있어요. 강화학습 연구자 마이클 누코비치(Michael Noukhovitch)가 올린 글이 바로 이 약점을 정면으로 다루는데요. 제목이 '포기하지 않음으로써 어려운 문제를 푸는 법'이에요.

문제: 한 번도 못 맞히면 배울 게 없다

GRPO가 동작하는 방식을 조금 더 뜯어볼게요. 문제 하나에 대해 답변을 예를 들어 8개 생성해요. 그 8개의 점수 평균을 구하고, 각 답변이 평균보다 잘했는지 못했는지를 계산해요. 이 '평균 대비 얼마나 잘했냐'를 어드밴티지(advantage)라고 부르는데, 이게 학습 신호가 돼요.

자, 그럼 8개를 전부 틀리면 어떻게 될까요? 점수가 전부 0이니까 평균도 0이고, 평균 대비 차이도 전부 0이에요. 어드밴티지가 0이면 그래디언트도 0이고, 모델은 그 문제에서 아무것도 배우지 못해요. 반대로 8개를 전부 맞혀도 마찬가지로 신호가 없어요.

이게 왜 심각하냐면, 정말 어려운 문제일수록 모델이 처음에는 전부 틀리거든요. 그러면 그 문제는 학습에 아무 기여를 못 하고, 모델은 이미 어느 정도 풀 수 있는 중간 난이도 문제에서만 배워요. 학생이 '풀 수 있는 문제만 계속 풀고, 못 푸는 문제는 건너뛰는' 상황이에요. 이러면 실력의 상한선을 뚫기가 어렵겠죠.

실제로 DAPO 같은 최근 알고리즘은 '전부 맞거나 전부 틀린 문제는 배치에서 빼고 다른 문제로 채운다'는 동적 샘플링(dynamic sampling)을 써요. 계산 낭비를 줄이는 건 좋은데, 어려운 문제를 더 확실하게 포기하는 방향이기도 해요.

'포기하지 않는다'는 게 무슨 뜻일까

제목의 'Never Give Up'은 딥마인드가 2020년에 낸 강화학습 논문 제목이기도 해요. 그 논문은 보상이 거의 안 나오는 어려운 아타리 게임(몬테주마의 복수 같은)을 풀기 위해, 새로운 상태를 방문하면 스스로에게 보너스 점수를 주는 탐험 전략을 제안했어요. 외부 보상이 0이어도 내부적으로 호기심 보상을 만들어서 계속 시도하게 만드는 거죠.

LLM 학습에서 '포기하지 않는다'는 것도 결이 비슷해요. 어려운 문제에서 전부 실패했다고 그 문제를 버리는 게 아니라, 어떻게든 신호를 만들어서 계속 시도하는 거예요. 이 글이 다루는 방향을 포함해서, 요즘 연구 커뮤니티에서 시도하는 접근은 크게 네 갈래예요.

첫째, 어려운 문제에는 샘플을 훨씬 더 많이 뽑는 거예요. 8개 중 0개 성공이라도 64개, 256개를 뽑으면 한두 개는 맞힐 수 있거든요. 한 번이라도 성공하면 그때부터 어드밴티지가 생기고, 그 문제의 성공률은 빠르게 올라가요. 계산 비용이 늘긴 하지만, 그 비용을 어려운 문제에 집중 투자하는 거죠.

둘째, 문제를 살짝 쉽게 만들어 발판을 놓아주는 방식이에요. 풀이의 앞부분을 힌트로 주고 뒷부분만 풀게 한다든지, 일단 풀 수 있게 만든 뒤 힌트를 점점 줄여가는 거예요. 사람이 어려운 문제를 배울 때 선배가 첫 단계만 알려주는 것과 비슷해요.

셋째, 정답과 오답이라는 0과 1 사이에 부분 점수를 만드는 거예요. 형식이 맞았다거나 중간 결과가 맞았다는 신호를 줘서 그래디언트가 완전히 0이 되는 걸 막는 방식이에요.

넷째, 학습 자체를 길게 가져가는 거예요. 엔비디아의 ProRL 같은 연구는 수천 스텝 동안 학습을 계속하면 처음에는 0%였던 문제도 어느 순간 풀리기 시작한다는 걸 보여줬어요. 쉬운 문제에서 배운 능력이 어려운 문제로 전이되는 시점이 오는 거죠.

업계 맥락: 왜 지금 이 문제가 중요한가

2025년 이후 LLM 경쟁의 핵심은 '얼마나 어려운 문제를 풀 수 있냐'로 옮겨왔어요. 수학 올림피아드, 경쟁 프로그래밍, 박사급 과학 문제 벤치마크에서 점수를 올리려면 결국 모델이 처음엔 전혀 못 푸는 문제에서 배울 수 있어야 하거든요. 데이터가 부족한 게 아니라 '있는 데이터에서 신호를 못 뽑는 것'이 병목이라는 인식이 퍼지고 있어요.

흥미로운 건 이 아이디어들이 2010년대 게임 강화학습의 탐험(exploration) 연구와 다시 만나고 있다는 점이에요. 딥마인드가 아타리 게임을 풀려고 만든 아이디어가 몇 년 뒤 LLM 수학 훈련에 재활용되고 있는 거죠.

한국 개발자에게 주는 시사점

직접 LLM을 RL로 학습시키는 팀은 국내에 많지 않지만, 이 문제를 이해하는 건 꽤 실용적이에요. 첫째, verl이나 TRL 같은 오픈소스 RL 프레임워크로 작은 모델을 파인튜닝할 때 '학습이 안 되는데?' 싶으면 원인이 이 어드밴티지 0 문제인 경우가 많아요. 데이터의 난이도 분포를 먼저 확인해보세요. 둘째, 법률, 의료, 특정 코드베이스 같은 자체 도메인에서 추론 모델을 만들려는 팀이라면 '채점기만 있으면 된다'는 장점과 '처음에 못 푸는 문제는 신호가 없다'는 단점을 같이 알아야 데이터 설계를 제대로 할 수 있어요. 셋째, 이 분야는 아직 정답이 없어서 아이디어 하나로 논문이 나오는 영역이에요. 리서치 커리어를 고민하는 분들에게는 진입 기회예요.

마무리

한 줄 정리하면, LLM 강화학습의 진짜 병목은 '모델이 한 번도 못 푸는 문제에서 어떻게 배우게 하느냐'이고, 답은 어떤 형태로든 포기하지 않고 신호를 만들어내는 데 있어요.

여러분은 어려운 문제를 배울 때 어떤 방식이 효과적이었나요? 힌트를 받는 쪽인가요, 아니면 될 때까지 계속 시도하는 쪽인가요? 모델 학습도 결국 비슷한 질문인 것 같아서 궁금하네요.


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://mnoukhov.github.io/posts/ngu/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...