Deepseek에 대한 오해와 인공지능 발전의 미래 방향

Deepseek에 대한 오해와 인공지능 발전의 미래 방향

이 글에는 다음 내용이 담깁니다.

  • Deepseek R1이 "완전히 RL로 훈련되었으며 이는 모델이 인간의 슈퍼비전 없이 혼자서 학습하는 것이 알파고와 같이 우월하다는 것을 증명한다"는 오해
  • RL은 "모델이 완전히 혼자서 배우는 것"이라는 설명이 실제 구현을 생각해보면 왜 부적합한지
  • RL에서 리워드 정의의 모호함과 어려움
  • 미래에는 LLM의 훈련 레시피가 LLM부터 VLA agent까지 전부에 적용될 것이라는 제 주장
  • R1의 의의 1. 고품질 SFT 데이터의 중요도 하락
  • R1의 의의 2. LLM에 있어, pretraining 혹은 SFT를 통해 모델에 이미 내재되어 있는 능력을 끌어내어 "극대화"하는 데에, RL이 쓸모가 있다는 것의 증명
  • R1의 의의 3. 기존의 RL을 사용하는 방식과 인식과는 조금 다르게 RL을 쓸 수 있다는 사례. reward model 없이 휴리스틱으로 채점한다, 가르친다기보단 유도한다, 복잡한 구조(MCTS 등)은 필요하지 않다.
  • RL로 모델의 내재적인 능력을 '극대화'하도록 '유도'하는 접근론에 추가적인 광범위한 확장 가능성이 있다는 제 주장
  • R1 위에 PRM/MCTS 등을 더 올린다면?

Deepseek R1에 대해 "완전히 RL로 훈련되었으며 이는 모델이 인간의 슈퍼비전 없이 혼자서 학습하는 것이 알파고와 같이 우월하다는 것을 증명한다"라는 비약적인 설명이 많이 보이는 것 같습니다.

일단 전제부터 틀렸습니다. R1는 R1-Zero와 R1으로 나뉘어 RL의 cold-start 문제를 방지하기 위해 SFT 데이터를 일부 사용한 버전이 있다는 건 매우 사소한 문제입니다. 그것보다 위와 같은 논리로 R1에 대해 설명하는 대다수의 사람들이 간과하고 있는 건 base model의 존재입니다. R1 리포트에는 이미 자신들이 deepseek v3 base에서부터 학습을 했음이 당당히 적혀 있습니다. 그리고 제가 보기에 그것은 지극히 당연히 필수적인 요소입니다. Internet corpus 혹은 그에 준하는 large-scale token으로 학습된 pretrained weight가 없는데 RL을 하면 어떤 일이 벌어질 지 아시나요? 제가 예상하기엔, 학습이 거의 전혀 되지 않을 겁니다.

근거 하나 없이 무슨 주장이냐고 할 수 있는데, 사례를 통한 증명은 차고넘치게 가능합니다. Unsupervised pretraining 없이 RL만 해서 general model을 만든 사례, 단 하나라도 들어보셨나요? 알파고가, 바둑 말고 단 하나의 태스크라도 더 수행할 수 있나요? 전혀 아닙니다. RL은 고전적으로 매우 좁은 도메인의 태스크를 뾰족하게 잘 수행하도록 튜닝하는데 유리합니다. 그럼 다른 방법으로는 성공한 사례가 있냐고요? 그럼요, ChatGPT를 위시한 LLM 도메인이 그렇죠. Pretraining에서부터 post-training으로 이어지는 multi-stage training recipe를 따르면 인간의 입출력을 매우 잘 근사하는 general foundation model을 만들 수 있다는 것을 수많은 사례가 강건하게 증명해주고 있습니다.

Deepseek R1 리포트에서도 이러한 사실은 엿볼 수 있습니다. R1 튜닝 과정에 대한 그래프를 보면 겨우 8K스텝밖에 사용하고 있지 않습니다. from-scratch 세팅에서는 겨우 Atari 게임 하나를 학습하는데도 K(Kilo)가 아닌 M(Million) 단위 rollout이 필요하다는 것을 생각하면, RL 이전 훈련의 중요성을 엿볼 수 있습니다. 어떠한 관점으로는 RL은 모델에 새로운 능력을 가르치는 게 아니라 이미 모델에 내재되어 있는 능력을 극대화해 끌어내는 방법이라고 볼 수도 있는데요, 이에 대해서는 후술합니다.

R1 리포트, Figure 2. AIME accuracy of DeepSeek-R1-Zero during training.

base model의 존재를 무시하면 안되는 이유는 따로 있기도 한데, 비용입니다. post-training보다, pretraining에 들어가는 비용이 압도적으로 크며, 이는 Deepseek v3 레포트에서도 확인할 수 있습니다.

v3의 훈련 비용입니다. R1 비용은 정확히는 알려져 있지 않으나, v3의 pre/post training 비용이 스케일 레벨에서 차이나는 것을 감안했을 때, R1 훈련 비용 역시도 pretraining과 비교하면 크지 않은 수준이라 짐작됩니다.

그럼 왜 RL만으로는 충분하지 않을까요? 저는 vision-language-action modality에서 general foundation model을 만드려고 하는 사람으로서 이에 대한 고민을 많이 해왔습니다. 그 답은, 학습 시그널이 어디에서 어떻게 오냐에 있습니다. 모두가 아시다시피 머신러닝은 최적화의 학문이라 해도 과언이 아닙니다. “모델”이나 “아키텍처”라는 건 그 자체로는 아무 의미가 없습니다. 단지 이들은 “원하는 함수를 근사할 수도 있는 함수류(hypothesis class)”를 말하는 것뿐이고, 이들이 ”원하는 함수“가 되기 위해서는 ”목적함수“의 정의와 ”최적화 알고리즘“이 필요합니다. (그리고, 아키텍처와 최적화 알고리즘이 모두 어느정도 발굴된 현 시대에서는 목적함수가 이 중 가장 중요하고요. 저는 과거 이러한 사실을 이미 아래 글에서 설명한 바 있습니다.)

인공지능의 미래에 대한 이야기 몇 단락: 2. 목적함수와 애벌레
이전 글: https://milkclouds.work/brief-look-at-ai-future/ o1, o3, inference time scaling 글을 쓰는 지금 이 시전, 2024년 12월 21일 오전 4시에는 o3에 대한 이야기가 많이들 나옵니다. OpenAI o1의 다음 모델인데, o2가 이미 상표권이 있어서 다음 버전 이름이 o3이라는 카더라도 있고요. 이전 글에서도 언급했지만, 저는 inference time scaling이 되는 날이 올

흔히들 말하는 SFT와 RL의 차이점도 이 목적함수에서 옵니다. SFT는 데이터와 유사할수록 좋다고 정의하고, RL은 cummulated sum of reward가 높을수록 좋다고 정의합니다. 여기까지는 매우 흔한 설명입니다.

하지만 여기서도 RL에 대해 흔히들 오해하는 점이 있는데, "모델이 완전히 혼자서 배운다"라는 점입니다. 원론상 그렇다뿐이지 실제로는 많은 경우 reward의 정의를 인간이 하기 때문에 이는 꽤나 부적합한 설명입니다.


좀 뜬금없을 수 있지만, 잠깐 에이전트 이야기를 하겠습니다.

자율주행 자동차를 만들고 싶은데 RL로 만든다고 합시다. 그럼 대충 1틱이 지나갈 때마다 +1의 리워드, 충돌할 때마다 -10의 리워드를 준다고 해봅시다. 얼핏 보기에 문제없는 세팅처럼 보일 수 있지만, 이미 리워드의 설계에 인간이 꽤 많이 개입한 상황입니다. 대체 1:10이라는 숫자는 무슨 근거로 나온 것이며, 정말로 이렇게 학습하면 주행을 잘 할까요? 그에 대한 답변은 당연히 아닙니다. 제가 모델 본인이면 항상 정지해 있거나 제자리에 빙빙 돌게 학습할 것 같네요. 그럼 충돌도 안 하고 리워드가 매우 효과적으로 최대화될 것이니까요.

정의한 리워드를 잘 극대화한 자율주행 에이전트

그럼 다른 방식으로 리워드를 잘 정의하면 되지 않냐고요? 어떻게요? 한번 이 글을 읽는 독자분이 리워드를 어떻게 정의할지 생각을 해봅시다. 그리고 자신이 '원하는' 주행의 모습을 생각해봅시다. 자신이 정의한 리워드를 통해 학습했을 때, 자신이 '원하는' 주행의 모습이 나올 것이라 확신할 수 있나요? 아닐 겁니다. 그리고, 유감스럽게도, 이것은 독자분 뿐만 아니라 누구에게나 그렇습니다. 그래서 RL'만'으로 general agent를 못 만들고 있는 것이고요.

reward function을 모델로 근사하면 되지 않나요?

이 말도 의미가 없습니다. 근사하면 되지 않냐고 말할 수 있지만, 그럼 근사할 대상(target)이 무엇인가요? target이 없어서 demonstration을 사용해 reward model을 학습하겠다고 말한다면, 일단 demonstration을 쓰는 이상 그 대신 behavior cloning을 안 쓸 이유가 없습니다.

저도 리워드 정의 어떻게 할까 궁금해서 gpt에게 물어봤습니다. 이 전부를 담는 리워드를 자신의 손으로 설계할 수 있으신가요?

이러한, 리워드의 정의가 어렵고 모호하다는 점은, 그 어떤 에이전트를 만들 때도 있어서도 공통적으로 대두되는 악명높은 문제입니다. R1이 base model 없이 RL만으로 학습이 어렵다고 제가 말하는 이유기도 합니다. 아니 그러면 이런 상황에 자율주행을 어떻게 해야 하냐? 그에 대한 현 시대에서 자율주행 업계에 잘 알려진 해법은 large-scale imitation learning을 해야 한다, 입니다. 그럼 대체 RL과 imitation learning의 차이점이 무엇일까요? 간단합니다. Imitation learning은 behavior/demonstration에 녹아있는 implicit reward를 배우고, 일반적으로 말하는 RL에서는 explicit reward를 정의합니다. implicit reward에는, 위의 gpt4o가 말한 안전/효율성/주행 편의성/교통 법규 준수/환경적 요인을 전부 담아낼 수 있습니다. demonstration이 이미 그렇게 되어있으니까요.

이는 implicit vs explicit이라는 매우 간단한 차이이지만 큰 차이를 만듭니다. RL“만”을 사용해 general 모델을 만들자고 하는건 “연구자 개인이 자신의 손으로 인간을 처음부터 만들 수 있음”이라는 착각에서 온다고 생각합니다. 하지만 imitation learning을 pretraining으로서 “먼저” 시작하면, 인간에게서 RL에서보다 훨씬 dense한 학습 시그널을 implicit하게 전달받을 수 있습니다. 그리고, ChatGPT를 통해 성공은 이미 담보되어 있습니다. 왜 에이전트 이야기를 하다 갑자기 ChatGPT 이야기를 하냐고 하실 수 있는데, 현재까지의 맥락이 state고 다음 나올 텍스트 토큰이 action이라고 해봅시다. 그럼 이미 NTP(Next-Token Prediction)을 하는 ChatGPT는 훌륭한 에이전트입니다.

또한 나아가, 저는 이 large-scale pretraining 후의 post-training이라는 레시피가 VLA agent를 포함한 어떤 곳에서도 사용할 수 있으며 사용될 것이라 예측합니다. 이미 Pi를 창업한 Sergey Levine 교수는 2024년 11월 강연에서 이러한 의견을 슬라이드를 통해 내세운 바 있습니다. IL이 좋니 RL이 좋니 하나만 고르라고 싸우는 건 지극히 비생산적인 논의입니다. 나중에는 그냥 IL 후에 필요하면 RL하고 아니면 말 겁니다. 둘 중 하나만 선택하면 그 접근론에 수반되는 단점을 지울 수 없습니다. RL은 scale되지 않고, IL은 특정 목표에 대한 뾰족한 optimization이 안됩니다. 그럼 둘 다, 단계별로 쓰면 됩니다.

Levine 교수의 2024년 11월 강연 슬라이드

에이전트 이야기는 끝내고, 처음의 R1 이야기로 되돌아와봅시다.

R1이 왜 이렇게도 성공적으로 잘 작동할까요? 저는 (1) 좋은 base model이 있었기 때문이고 (2) RL의 비중을 이전보다 높인 좋은 post-training recipe를 찾았기 때문이라고 봅니다. (1)은 pretraining 잘했다, (2)는 post-training 잘했다고 요약되겠네요. 이 이상 비약적인 설명은 필요하지 않습니다. Pretraining 후의 post-training이라는 레시피는 ChatGPT의 등장 이래 바뀐 적이 없습니다.

그리고 R1 이후로도 RL을 잘 사용해 성능을 끌어올리고 고품질의 SFT 데이터 비중을 줄여 효율성을 챙기는 접근들은 계속 나올 것입니다. (수많은 빅테크 회사들이 고품질 SFT 데이터 수집에 열을 올리고 있음을 감안하면, 이는 작지는 않은 변화입니다. 이는 perceptron.inc의 창업자 역시도 밝힌 바 있습니다. ) 하지만 RL도 절대 만능은 아닙니다. 인간의 지성을 휴리스틱으로 정의된 리워드 함수를 통해 모방할 수 있다는 명제는 절대 참이 아닙니다. 따라서 RL은 pretraining 혹은 SFT를 통해 모델에 이미 내재되어 있는 능력을 끌어내어 극대화하는 데에 쓸모가 있지, 홀로 무언가를 할 수 있는 게 아닙니다. 또한 세상에는 채점 가능한 문제도 있지만 아닌 문제가 훨씬 많습니다. 위에서 이미 말한 내용의 연장선상이기도 합니다. 에이전트 만드려고 할 때 RL이 애매한 경우가 훨씬 많다고요. 그리고 이러한 제 주장은 Deepseek R1 리포트를 봐도 틀리진 않은 것 같습니다. 그들은 정답에 대한 리워드와 구조에 대한 리워드 2가지만 주고 있죠. 이것은 직접적으로 모델에 무언가를 "가르친다"보다는 모델이 무언가를 할 수 있게 "유도한다"에 가깝습니다.

deepseek r1의 reward modeling

fine-grained한 정확한 "채점"이 애초부터 불가능하니 그것을 포기하고, 모델의 내재적인 성능을 끌어낼 수 있게 "유도"합니다. 과거 인공지능의 미래에 대한 이야기 몇 단락: 2. 목적함수와 애벌레에서 저는 수학/코딩 외에 정답이 존재치 않는 문제들은 어떻게 튜닝할 것인지는 어려운 문제라고 말했지만, 이 "유도"한다는 접근론은 정답이 모호한 문제들에 있어서도 꽤나 유효하게 scale 될 것 같아 재밌어질 것 같네요.

또한 Deepseek도, 최근 공개된 Kimi도 고수준 추론을 위해 MCTS와 같은 복잡한 구조가 필요하지는 않다는 점을 말해주고 있습니다. Jim Fan 역시도 이를 지적했고, 저는 과거 글 인공지능의 미래에 대한 이야기 몇 단락: 2. 목적함수와 애벌레에서부터 복잡한 구조는 일반적으로 scale되지 않기에 딱히 필요치 않을 것이라 주장하고 있습니다. 아래는 Jim Fan의 분석입니다. 저는 complex tree search, value function, dense reward modeling을 사용하지 않는다는 점도 '유도한다'와 같은 맥락이라고 생각합니다.

Kimi's (another startup) and DeepSeek's papers remarkably converged on similar findings:

> No need for complex tree search like MCTS. Just linearize the thought trace and do good old autoregressive prediction;
> No need for value functions that require another expensive copy of the model;
> No need for dense reward modeling. Rely as much as possible on groundtruth, end result.

참고로, PRM(Process-Reward Model)과 MCTS를 시도해봤으나 좋지 않은 이유들이 있었음은 R1 리포트에도 잘 나와 있습니다. 제가 말한 내용들과 같은 맥락입니다.

1. fine-grained step의 정의가 어렵다 2. 리워드 정의가 어렵다 3. reward hacking
MCTS의 난점. 1. exponentially larger search space 2. token generation의 복잡성 때문에 fine-grained value model의 훈련이 어려움

여기까지가 R1과 RL 이야기입니다. 이 이외로도 R1의 학습 효율성과 비용에 대해서도 재밌는 이야기가 많습니다. 다만 이 이야기는 나중에 기회가 된다면 풀어보는 걸로 하고, 링크 정도만 몇 개(ref1, ref2) 걸어두겠습니다. 읽어주셔서 감사합니다.

+추가

글을 전부 쓰고 난 뒤에 발견했는데 재밌는 논문이 또 나왔네요. 결국은 각각의 훈련 방식의 특성과 장단점을 이해하고 그것을 끌어내는 게 교훈인 것 같습니다.

https://arxiv.org/abs/2501.17161

SFT is necessary for RL training when the backbone model does not follow instructions.
...
Note that due to the difference in backbone model, our results do not contradict with DeepSeekAI et al. (2025), which suggests that SFT is unnecessary for downstream RL training

+추가

PRM/MCTS가 여러 태스크에 대해 scalable하지 않다는 건 이제 설명이 필요없을 겁니다. 그런데, scalable한 것 다음에 non-scalable한 것을 하는 것은 매우 자연스러운 발상입니다. 그럼, R1 위에 PRM/MCTS 등을 더 올린다면 어떻게 될까요? 아래 트윗에 끄적여뒀으니 한번 참고해보시면 좋을 것 같습니다. 감사합니다.