The Bitter Lesson from Richard Sutton

Bitter LessonRichard Sutton이라는 세계적인 석학이 작성했다.

Sutton 교수는 University of Alberta 에서 교수로 재직중이시며 Deempind에서 Research Scientist role을 맡고 있기도 하다. 이 글이 주는 교훈은 뭘까? 아무리 전세계의 전문가들이 각종 alogirhtm을 제시하면서 “이 benchmark에서는 이 algorithm을 쓰면 0.2점 좋아져서 SOTA에요”라고 하며 한계를 돌파하려고 해도 결국 computing power를 늘리는 것 보다 덜 효과적이라는 것이다. 물론 모든 pixel input에 대해서 단순한 MLP를 쓰는 것 보다 공간정보 (spatial information)를 보존하고 인접한 pixel 끼리는 correlation이 높다는 사람의 bias (prior)를 주입한 CNN은 간단하면서도 매우 아름답우며 성공적이었고 제한된 computing power (GPU resource) 상황에서 최선이었다고 볼 수 있다.

어떻게든 조금이라도 좋은 alogrithm을 제안하려는 노력은 반드시 필요한 것이 맞지만 제한된 resource라는 가정이 깨지고 수백, 수천대의 GPU를 가용할 수 있다면 어떨까? 특정 domian, dataset에서만 좀 더 좋아보이는 새로운 architecture, learning algorithm 보다 더 큰 model을 학습할 수 있는 분산 학습 (distributed training)을 공부하고 적용하여 model 크기를 키우는 것이 더 효과적일 것이다. 간단한 architecture인 transformer를 수백 billion scale로 확장하여 새로운 in-conetxt learning이라는 새로운 능력이 발현되는 걸 통해서 우리는 많은 걸 느껴야 할 것이다. 이런 OpenAI와 Google의 주장을 이해한 기업들은 따라가는 것이고 그렇지 못한 기업들은 도태될 것이다.

물론 large scale로 가기 위해서는 무식하게 computing power만 투자해선 안된다. DNN의 training dynamics를 모르고서는 이를 학습하는 것이 불가능하다. 왜 loss가 터지는지? 어떠헥하면 더 안정적이게 잘 학습할 수 있는지?에 대한 연구는 계속 되어야 할 것이다.

필자도 2년 전 대학원에서 처음 deep learning을 할 때는 100M이 안되는 scale의 model에서 어떠헥든 SOTA를 갱신해 paper를 쓸 생각 뿐이었고 그게 맞는 것으로 보였으나 지금은 회사에서 연구 개발을 하며 large scale training을 하는것의 중요성을 뼈저리게 느끼고 있다. (물론 architecture, learning algorithm 개선이 불필요한 것은 절대 아니다)

다음은 Bitter Lesson의 전문이다 (DeepL로 번역).

The Bitter Lesson

70년간의 AI 연구를 통해 얻을 수 있는 가장 큰 교훈은 계산을 활용하는 일반적인 방법이 궁극적으로 가장 효과적이며 큰 차이로 가장 효과적이라는 것입니다. 그 궁극적인 이유는 무어의 법칙, 즉 계산 단위당 비용이 지속적으로 기하급수적으로 감소한다는 일반화 때문입니다. 대부분의 AI 연구는 에이전트가 사용할 수 있는 연산이 일정한 것처럼 수행되어 왔지만(이 경우 인간의 지식을 활용하는 것이 성능을 개선하는 유일한 방법 중 하나), 일반적인 연구 프로젝트보다 약간 더 오랜 시간이 지나면 필연적으로 훨씬 더 많은 연산이 가능해집니다. 연구자들은 단기간에 차이를 만들 수 있는 개선을 추구하기 위해 해당 도메인에 대한 인간의 지식을 활용하려고 하지만, 장기적으로 중요한 것은 계산의 활용뿐입니다. 이 두 가지가 서로 상반될 필요는 없지만 실제로는 상반되는 경향이 있습니다. 하나에 투자한 시간은 다른 하나에 투자하지 않은 시간입니다. 한 가지 접근 방식에 투자하는 데에는 심리적인 이유가 있습니다. 그리고 인간 지식 접근 방식은 계산을 활용하는 일반적인 방법을 활용하기에 적합하지 않은 방식으로 방법을 복잡하게 만드는 경향이 있습니다. AI 연구자들이 이 쓰라린 교훈을 뒤늦게 깨달은 사례는 많으며, 그 중 가장 눈에 띄는 몇 가지를 검토하는 것은 유익한 일입니다.

컴퓨터 체스에서 1997년 세계 챔피언 카스파로프를 이긴 방법은 대규모 심층 검색에 기반했습니다. 당시 체스의 특수한 구조에 대한 인간의 이해를 활용하는 방법을 추구하던 대다수의 컴퓨터 체스 연구자들은 이 방법을 경악스럽게 바라보았습니다. 특수 하드웨어와 소프트웨어를 사용한 검색 기반의 단순한 접근 방식이 훨씬 더 효과적이라는 것이 입증되자, 인간 지식을 기반으로 한 체스 연구자들은 패배를 인정하지 않았습니다. 그들은 ‘무차별 대입’ 검색이 이번에는 이겼을지 모르지만 일반적인 전략이 아니었고, 어쨌든 사람들이 체스를 두는 방식이 아니었다고 말했습니다. 이 연구자들은 인간의 입력에 기반한 방법이 승리하기를 원했고, 그렇지 못했을 때 실망했습니다.

컴퓨터 바둑에서도 비슷한 패턴의 연구가 진행되었지만, 20년 정도만 더 늦어졌습니다. 초기에는 인간의 지식이나 바둑의 특수한 특징을 활용하여 검색을 피하기 위해 막대한 노력을 기울였지만, 검색이 대규모로 효과적으로 적용되자 이러한 모든 노력은 무의미하거나 오히려 더 나빠지는 것으로 판명되었습니다. 또한 가치 함수를 학습하기 위해 스스로 놀이를 통한 학습을 사용하는 것도 중요했습니다(다른 많은 게임과 체스에서도 그랬지만, 1997년 세계 챔피언을 처음 이긴 프로그램에서는 학습이 큰 역할을 하지 못했습니다). 스스로 놀이를 통한 학습, 그리고 일반적인 학습은 대규모 계산이 가능하다는 점에서 검색과 유사합니다. 검색과 학습은 AI 연구에서 대량의 계산을 활용하는 가장 중요한 두 가지 기술 클래스입니다. 컴퓨터 체스에서와 마찬가지로 컴퓨터 바둑에서도 연구자들은 초기에는 인간의 이해를 활용하는 데 주력하여 검색을 덜 필요로 했고, 훨씬 후에야 검색과 학습을 도입하여 훨씬 더 큰 성공을 거두었습니다.

음성 인식 분야에서는 1970년대에 DARPA가 후원하는 초기 대회가 있었습니다. 참가자들은 인간의 지식, 즉 단어, 음소, 성대 등에 대한 지식을 활용하는 여러 가지 특별한 방법을 사용했습니다. 다른 한편에서는 숨겨진 마르코프 모델(HMM)에 기반하여 보다 통계적이고 훨씬 더 많은 계산을 수행하는 새로운 방법들이 등장했습니다. 역시 통계적 방법이 인간 지식 기반 방법보다 우세했습니다. 이로 인해 자연어 처리 분야는 수십 년에 걸쳐 점진적으로 통계와 계산이 이 분야를 지배하게 되는 큰 변화를 겪게 되었습니다. 최근 음성 인식 분야에서 딥 러닝이 부상한 것은 이러한 일관된 방향의 가장 최근 단계입니다. 딥 러닝 방식은 인간의 지식에 대한 의존도가 훨씬 낮으며, 방대한 훈련 세트에 대한 학습과 함께 훨씬 더 많은 계산을 사용하여 훨씬 더 나은 음성 인식 시스템을 만들어냅니다. 게임에서와 마찬가지로 연구자들은 항상 자신의 머리가 작동한다고 생각하는 방식으로 작동하는 시스템을 만들려고 노력했지만, 무어의 법칙을 통해 대규모 연산이 가능해졌고 이를 잘 활용할 수 있는 수단이 발견되면서 궁극적으로 비생산적이고 연구자의 시간을 엄청나게 낭비하는 것으로 판명되었습니다.

컴퓨터 비전에서도 비슷한 패턴이 있었습니다. 초기 방법에서는 비전을 가장자리 또는 일반화된 실린더를 검색하거나 SIFT 기능의 관점에서 생각했습니다. 하지만 오늘날에는 이 모든 것이 폐기되었습니다. 최신 딥러닝 신경망은 컨볼루션과 특정 종류의 불변성 개념만 사용하며 훨씬 더 나은 성능을 발휘합니다.

이것은 큰 교훈입니다. 한 분야로서 우리는 여전히 같은 종류의 실수를 계속 저지르고 있기 때문에 이를 완전히 배우지 못했습니다. 이를 파악하고 실수를 효과적으로 방지하려면 이러한 실수의 매력을 이해해야 합니다. 우리는 우리가 생각하는 방식으로 구축하는 것이 장기적으로는 효과가 없다는 씁쓸한 교훈을 배워야 합니다. 이 쓰라린 교훈은 1) AI 연구자들이 종종 에이전트에 지식을 구축하려고 시도해왔고, 2) 이는 단기적으로는 항상 도움이 되고 연구자에게 개인적으로 만족감을 주지만, 3) 장기적으로는 정체되고 심지어 더 이상의 발전을 저해하며, 4) 결국 검색과 학습을 통한 계산 확장에 기반한 반대 접근 방식을 통해 획기적인 발전이 이루어졌다는 역사적 관찰에 기반합니다. 최종적인 성공은 인간 중심의 선호된 접근 방식에 대한 성공이기 때문에 씁쓸함이 묻어나고 종종 불완전하게 소화되기도 합니다.

이 쓰라린 교훈에서 배워야 할 한 가지는 범용 방법, 즉 사용 가능한 계산이 매우 커져도 계산이 증가함에 따라 계속 확장할 수 있는 방법의 강력한 힘입니다. 이러한 방식으로 임의로 확장되는 것으로 보이는 두 가지 방법은 검색과 학습입니다.

쓰라린 교훈에서 배워야 할 두 번째 일반적인 요점은 실제 마음의 내용은 엄청나게, 헤아릴 수 없을 정도로 복잡하다는 것입니다. 공간, 사물, 다중 에이전트 또는 대칭에 대해 생각하는 간단한 방법과 같이 마음의 내용을 생각하는 간단한 방법을 찾으려는 시도를 중단해야 한다는 것입니다. 이 모든 것은 본질적으로 복잡한 임의적인 외부 세계의 일부입니다. 이러한 복잡성은 끝이 없기 때문에 모든 것을 내장해야 하는 것이 아니라, 이러한 임의의 복잡성을 찾아서 포착할 수 있는 메타 메서드만 내장해야 합니다. 이러한 방법의 핵심은 좋은 근사치를 찾을 수 있다는 것이지만, 근사치를 찾는 것은 우리가 아닌 다른 사람이 해야 합니다. 우리는 우리가 발견한 것을 포함하는 것이 아니라 우리처럼 발견할 수 있는 AI 에이전트를 원합니다. 우리가 발견한 것을 포함하면 발견 프로세스가 어떻게 수행될 수 있는지 확인하기가 더 어려워질 뿐입니다.

  • 전문
The Bitter Lesson Rich Sutton March 13, 2019 The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. The ultimate reason for this is Moore's law, or rather its generalization of continued exponentially falling cost per unit of computation. Most AI research has been conducted as if the computation available to the agent were constant (in which case leveraging human knowledge would be one of the only ways to improve performance) but, over a slightly longer time than a typical research project, massively more computation inevitably becomes available. Seeking an improvement that makes a difference in the shorter term, 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. These two need not run counter to each other, but in practice they tend to. Time spent on one is time not spent on the other. There are psychological commitments to investment in one approach or the other. And the human-knowledge approach tends to complicate methods in ways that make them less suited to taking advantage of general methods leveraging computation. There were many examples of AI researchers' belated learning of this bitter lesson, and it is instructive to review some of the most prominent. In computer chess, the methods that defeated the world champion, Kasparov, in 1997, were based on massive, deep search. At the time, this was looked upon with dismay by the majority of computer-chess researchers who had pursued methods that leveraged human understanding of the special structure of chess. When a simpler, search-based approach with special hardware and software proved vastly more effective, these human-knowledge-based chess researchers were not good losers. They said that ``brute force" search may have won this time, but it was not a general strategy, and anyway it was not how people played chess. These researchers wanted methods based on human input to win and were disappointed when they did not. A similar pattern of research progress was seen in computer Go, only delayed by a further 20 years. Enormous initial efforts went into avoiding search by taking advantage of human knowledge, or of the special features of the game, but all those efforts proved irrelevant, or worse, once search was applied effectively at scale. Also important was the use of learning by self play to learn a value function (as it was in many other games and even in chess, although learning did not play a big role in the 1997 program that first beat a world champion). Learning by self play, and learning in general, is like search in that it enables massive computation to be brought to bear. Search and learning are the two most important classes of techniques for utilizing massive amounts of computation in AI research. In computer Go, as in computer chess, researchers' initial effort was directed towards utilizing human understanding (so that less search was needed) and only much later was much greater success had by embracing search and learning. In speech recognition, there was an early competition, sponsored by DARPA, in the 1970s. Entrants included a host of special methods that took advantage of human knowledge---knowledge of words, of phonemes, of the human vocal tract, etc. On the other side were newer methods that were more statistical in nature and did much more computation, based on hidden Markov models (HMMs). Again, the statistical methods won out over the human-knowledge-based methods. This led to a major change in all of natural language processing, gradually over decades, where statistics and computation came to dominate the field. The recent rise of deep learning in speech recognition is the most recent step in this consistent direction. Deep learning methods rely even less on human knowledge, and use even more computation, together with learning on huge training sets, to produce dramatically better speech recognition systems. As in the games, researchers always tried to make systems that worked the way the researchers thought their own minds worked---they tried to put that knowledge in their systems---but it proved ultimately counterproductive, and a colossal waste of researcher's time, when, through Moore's law, massive computation became available and a means was found to put it to good use. In computer vision, there has been a similar pattern. Early methods conceived of vision as searching for edges, or generalized cylinders, or in terms of SIFT features. But today all this is discarded. Modern deep-learning neural networks use only the notions of convolution and certain kinds of invariances, and perform much better. This is a big lesson. As a field, we still have not thoroughly learned it, as we are continuing to make the same kind of mistakes. To see this, and to effectively resist it, we have to understand the appeal of these mistakes. We have to learn the bitter lesson that building in how we think we think does not work in the long run. 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. The eventual success is tinged with bitterness, and often incompletely digested, because it is success over a favored, human-centric approach. One thing that should be learned from the bitter lesson is the great power of general purpose methods, of methods that continue to scale with increased computation even as the available computation becomes very great. The two methods that seem to scale arbitrarily in this way are search and learning. The second general point to be learned from the bitter lesson is that the actual contents of minds are tremendously, irredeemably complex; we should stop trying to find simple ways to think about the contents of minds, such as simple ways to think about space, objects, multiple agents, or symmetries. All these are part of the arbitrary, intrinsically-complex, outside world. They are not what should be built in, as their complexity is endless; instead we should build in only the meta-methods that can find and capture this arbitrary complexity. Essential to these methods is that they can find good approximations, but the search for them should be by our methods, not by us. We want AI agents that can discover like we can, not which contain what we have discovered. Building in our discoveries only makes it harder to see how the discovering process can be done.