- Chanwoo Park
Richard Sutton 교수의 “The Bitter Lesson”에 대한 생각
by 박찬우
2019년 3월, 강화 학습으로 잘 알려진 Richard Sutton 교수의 짧은 에세이가 ML 커뮤니티에서 화제가 된 적이 있었죠. 글의 제목은 “The Bitter Lesson”이었습니다. 70년의 AI 역사를 되돌아 보면 항상 당대의 많은 AI 과학자들은 “컴퓨팅 자원은 언제나 제한적이기 때문에 Human Knowledge를 최대한 활용하여 AI의 성능을 끌어 올려야 한다”고 주장을 했습니다. 어떻게 보면 이런 방향의 연구가 AI를 연구하는 사람들 입장에서는 더 추구하고 싶은 연구 방향이었을 것이고 저도 한명의 엔지니어로서 공감이 됩니다. 단순히 거대한 모델과 거대한 컴퓨팅 자원을 활용해서 문제를 풀었다고 하면 뭔가 시시(?)하고 기존에 잘 안 풀리던 문제를 멋있는 Theory와 Domain knowledge를 잘 녹여서 좀 더 복잡한 시스템을 구축해서 해결했을 때 남들이 쉽게 못하는 것을 해냈다는 성취감이 있었을 것 같습니다.
Sutton 교수는 단기적으로는 위와 같은 방법으로 점진적인 발전을 보일 수 있지만 Long-term으로 봤을 때는 결국 일반적인 ML 모델과 매년 폭발적으로 증가하는 컴퓨팅 자원이 뒷받침 됐을 때 AI 시스템의 Breakthrough가 일어난다고 주장 했고 이는 AI를 연구하는 사람들이 자주 잊어 버리지만 항상 마음 속에 두어야 할 “The Bitter Lesson”이라고 표현 했습니다.
Researchers seek to leverage their human knowledge of the domain, but the only thing that matters in the long run is the leveraging of computation.
이에 대한 예시로 1997년 IBM의 Deep Blue가 세계 체스 챔피언 Kasparov를 최초로 이겼을 때와 2016년 Deepmind의 AlphaGo가 이세돌을 꺾었을 때도 당시 AI 과학자들은 사람이 체스와 바둑에 대해 알고 있는 이기기 위한 전략/패턴 등의 지식을 최대한 활용해서 좀 더 Elegant한 방법으로 AI 시스템을 구축하려고 노력 했지만 결국 AI가 최초로 인간을 이겼던 방법들은 Human Knowledge를 알고리즘에서 최대한 제거하고 대규모 컴퓨팅 자원을 활용한 brute force search 또는 learning by self-play 였다고 말하고 있습니다. 그 밖에 Speech Recognition, Computer Vision 분야에서도 역사적으로 똑같은 현상이 반복되어 왔다고 주장하는 Sutton 교수의 생각을 대부분 정설로 받아들일 수 있을 정도로 기존의 Human Knowledge 기반 접근 방법, Hand-written Feature 설계 등에 비해 현재 대규모 컴퓨팅을 동원한 End-to-End 딥러닝 기법이 여러 분야에서 놀러운 성능을 보여주고 있는 것은 사실인 것 같습니다.
The bitter lesson is based on the historical observations that 1) AI researchers have often tried to build knowledge into their agents 2) this always helps in the short term, and is personally satisfying to the researcher, but 3) in the long run it plateaus and even inhibits further progress, and 4) breakthrough progress eventually arrives by an opposing approach based on scaling computation by search and learning.
Sutton 교수가 “The Bitter Lesson”을 올리고 한 달 뒤 2019년 4월에 Variational Autoencoder, Stochastic Gradient Langevin Dynamics 등의 연구로 유명한 Max Welling 교수가 이에 대한 반박성의 글로 “Do we still need models or just more data and compute?”를 게시해 관심을 끌었었는데요.
Welling 교수는 Training data distribution 안에서의 Interpolation은 ML이 잘 하는 분야이고 큰 문제가 없지만 우리가 그 밖의 영역으로 Extrapolate 하려고 할 때 Sutton 교수가 말하는 Purely Data-driven, Compute-driven 방식은 문제가 발생한다고 지적 합니다.
From my education in ML I recall one thing most vividly: there are no predictions without assumptions, no generalization without inductive bias.
데이터로만 단순 MLP(Multi-Layer Perceptron)를 학습할 때도 최소한 Ground Truth 함수가 Smooth 하다는 가정은 존재 하는 것이고, CNN(Convolutional Neural Network)의 경우는 Image에 대해 Translation Invariant한 성질이 있다는 가정을 하고 있는 구조이므로 순수 MLP, CNN도 우리가 완전히 Bias를 없앴다고 말할 수는 없을 것입니다. 또한 저희가 모델을 최적화 할 때 사용하는 SGD(Stochastic Gradient Descent)방식은 여러 가능한 Solution 중에 Norm이 최소화 되는 Solution으로 수렴하도록 Implicit하게 제약을 걸어 주기도 합니다. 이처럼 저희는 모델을 설계하고 학습 시키는 과정에서 알게 모르게 이미 많은 Bias를 주고 있었는데요. Welling 교수도 이처럼 Inductive Bias를 완전히 제거한 ML 모델은 데이터가 Sparse한 영역이나 학습 영역 이외에서 Extrapolate를 하려고 할 때 문제가 발생할 수 있다고 말합니다.
체스나 바둑을 똑같이 재현할 수 있는 완벽한 Simulator를 잘 만들어 두고 거기서 무제한으로 데이터를 생성해서 학습 하는 것이 정도라는 Sutton 교수의 주장에 대해 Welling 교수는 체스와 바둑은 Input Domain이 정해져 있는 (특정 Grid) 정말 단순한 세계를 Simulate하는 것이라 거의 완벽하게 현실을 반영하여 구현할 수 있지만, 실제로 세상의 어떠한 물리적 현상도 100% 온전히 담을 수 있는 Simulator를 만드는 것은 매우 어렵고, 어떤 방식으로든 Domain Knowledge가 개입되어 Simulator를 만들 수 밖에 없고, 그로부터 생성된 데이터 자체에 이미 Human Bias가 들어가 있는 것으로 볼 수 있다고 주장합니다.
Compute-driven AI vs. Human-knowledge based AI
지금까지 거시적인 AI의 발전 방향에 대해 두 대가들의 재미있는 논쟁을 지켜보셨는데요. 여러분의 생각은 어떠신가요? ML을 연구하는 사람이라면 한번 쯤 깊게 고민해 볼만한 주제이고 저희 알세미도 많은 관심을 갖고 있는 분야여서 블로그의 첫 글로 작성해 보게 되었습니다. 10년 전에 서울대에서 Speech Recognition 박사 과정을 하고 있던 제 친구가 인문대까지 가서 음성학, 음운론(?) 같은 수업을 듣고 있어서 이런 것도 알아야 되냐고 물어보며 신기해 했던 기억이 있습니다. 그 뒤로 2018년 구글에서 BERT가 나왔고 많은 NLP(Natural Language Processing) 문제들의 SOTA(State-of-the-art)를 갈아치웠습니다.
BERT-Large가 GPU 한 대(RTX 2080 Ti 기준)로 270일 넘는 학습이 필요했었는데 BERT 이후로 RoBERT, XLNet, GPT-3 등이 나오면서 학습하는 데 필요한 Computation은 지난 3년 동안 기하급수적으로 증가했습니다. GPT-3 175B 모델은 학습하는데 3.14E+23 FLOPs 연산이 필요하고 이는 270일이 소요 됐던 BERT-Large의 약 600배 되는 계산량 입니다. GPU를 600대를 동시에 사용한다고 해도 무려 9개월 동안 학습 해야 된다는 말이지요. 제 생각에도 NLP 분야 딥러닝 연구는 천문학적인 Computation 자원을 어느 기업이 더 많이 확보하고 잘 활용할 수 있는지의 대결이 되어 가는 것 같습니다. 이런 부분을 본다면 Sutton 교수의 말이 현실화 되어가는 것처럼 느껴지기도 합니다.
저희 알세미는 실제 반도체 소자를 AI로 모델링하고 있고 각 소자의 모델링이 정확하고 물리적으로 말이 되어야 그 소자들을 수십억 개 연결하여 애플이나 테슬라 같은 회사들이 아이폰, 자율주행 시스템에 들어가는 Chip을 디자인하고 개발할 수 있을 것 입니다. 반도체 소자를 모델링 하기 위해 주어지는 측정 데이터는 수가 적을 수도 있고, 데이터 자체에 측정 오류가 있을 수도 있어서 데이터 자체를 Fitting 하는 것보다 반도체 전문가의 Expertise를 잘 결합하여 실제 반도체가 가져야 하는 특성을 잘 보여줄 수 있는 Neural Network를 설계하고 학습하는 것이 목표가 되어야 합니다. 이런 의미에서 저희는 Knowledge-based AI를 추구하고 있고 그 Knowledge를 반도체 전문가로부터 듣고 반영하기도 하고 다른 반도체 데이터들로부터 Prior를 잘 추출하려고 노력하기도 합니다. 저희와 비슷한 고민을 하고 계신 분이 있으면 언제든 커피 한 잔 하면서 재미있게 얘기하고 싶네요.