teach him taste of fish and make him hungry
지난 100년에 걸쳐 단위 금액에 대한 컴퓨팅 파워는 기하급수적으로 증가하는 추세를 보였다. 다시 말해, 컴퓨팅 비용은 지난 100년 동안 기하급수적으로 감소해왔고, 인류 역사상 이것만큼 강력하고 오래 지속되는 다른 어떤 경향은 찾아보기 어렵다. 이는 인간의 직관을 훨씬 뛰어넘는 것이어서, 이에 대해 다음과 같은 생각을 갖는 것이 타당하다.
- 이것과 경쟁해서는 안 된다
- 내 경력과 삶의 모든 측면에서 이것을 가능한 한 많이 활용해야 한다
이처럼 하드웨어의 성능이 기하급수적으로 좋아지고 있으므로, 이 증가하는 컴퓨팅의 풍요로움을 더 잘 활용할 수 있는 더 확장 가능한 방법이 필요하며, Via Negativa의 관점으로 생각했을 때, 확장 가능한 방법을 찾는 좋은 방법 중 하나는 확장을 가로막는 병목지점을 먼저 식별하는 것이다. 그리고 이 병목지점은 인간에게 매우 직관적이고 일반적인 접근법, 즉 "문제에 규칙과 구조를 부과하는 방법"에 있다.
Rich Sutton의 Bitter Lesson은 이 현상을 다음과 같이 요약한다.
"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."
"지난 70년간 AI의 진보는 본질적으로 더 적은 구조를 가진 점진적으로 더 일반적인 방법을 개발하고 더 많은 데이터와 컴퓨팅을 추가하는 것으로 귀결된다."
지난 5년간 우리가 이에 대해 반복해서 관찰할 수 있었던 사실은
- 더 많은 구조를 가진 방법은 일반적으로 빠르게 좋은 결과를 보여준다는 것이다. 인간이 부여하는 구조 자체가 지름길 역할을 하기 때문이다. 수많은 사례에서 관찰 할 수 있듯이 이 구조는 잘 작동하다가 어느 순간 제대로 동작하지 않는다. 그리고 스케일업되지 않는다.
- 더 적은 구조를 가진 방법은 일반적으로 제대로 작동하지 않는 것으로 시작한다. 모델에게 너무 많은 자유를 부여했지만 충분한 데이터와 컴퓨팅 리소스, 좋은 단순한 알고리즘을 제공하기 전까지 모델이 이를 활용하는 방법을 아직 모르기 때문이다. 그러나 어느 순간 점점 더 좋아지고, 우리는 이를 "모델을 키우니 되었다" 라고 추상화해 생각한다. 결국 Bitter Lesson이 또 이긴다.
인간이 부과한 구조는 일반적으로 스케일업할 때 병목 현상이 된다. 그리고 기계에게 가능한 한 많은 자유를 주려고 하는 시도, 즉 장기적으로 좋은(스케일업에 유리한) 것은 거의 필연적으로 단기적으로는 나빠보인다. 하지만, 컴퓨터는 인간이 더 나은 연구자가 되는 것보다 훨씬 더 빠른 속도로 저렴해지고 있고, 인간은 이것과 경쟁해서는 안된다. 더 많은 자유도를 주고, 이들이 학습하는 방법을 선택해야 한다. 인간이 컴퓨터에게 지능의 구조를 정의한 뒤 제공해서는 안된다는 것이다.
이러한 관점에서 스케일링은 추가적인 스케일링을 병목으로 만드는 모델링 가정이나 귀납적인 편향을 식별하고 그것을 더 확장 가능한 것으로 교체하는 것으로 정의할 수 있다.
언어 모델(Language Model)에서 병목이 된 귀납적 편향은 "언어를 가르치는 것"이었다. 우리는 "다음 토큰은 동사다", "다음 토큰은 뭐다" 같은 언어적 개념을 직접 주입하는 대신, 그냥 다음 토큰을 예측하는 태스크만 부과했다. 그리고 언어가 창발했다. 이것이 바로 그 태스크의 부산물이다.
기하급수적으로 스케일링되는 기계에게 언어를 가르치는 가장 좋은 방법은 언어를 가르치지 않는 것이다. 기계가 언어에 대해 학습하는 방식에 어떤 구조도 넣지 않을 때, 기계는 더 자유롭게 그것을 발견한다. 놀라운 것은 이 과정에서 추론, 수학, 코딩 능력까지 창발했다는 것이다. 이것들은 명시적으로 가르친 것이 아니었다. 이 현상을 대규모 암묵적 멀티태스크 학습(large-scale implicit multitask learning)이라 부른다. 암묵적이라는 의미는 우리가 모델에게 요청하는 멀티태스크가 무엇인지 직접 명시하지 않는다는 것이다. 그것들은 우리가 사용하는 다양한 코퍼스에 의해 자연스럽게 부과된다.
이 구조를 일반화하면, 모든 학습 세팅에는 두 가지 종류의 신호가 있다:
- 명시적 신호: 우리가 모델에게 직접 부과한 태스크 (e.g: 다음 토큰 예측)
- 유도된 인센티브: 명시적 신호를 잘 수행하기 위해 모델이 스스로 발견해야 하는 일반적 능력들 (e.g: 언어 이해, 추론, 자신이 모르는 것을 아는 것)
명시적 신호는 "질문에 정확하게 답하는 것"이다. 그러나 이것을 수조 개의 질문에 반복하면, 유도된 인센티브가 생긴다. 자신이 아는 것과 모르는 것을 구분하는 일반적인 능력, 즉 일종의 메타인지가 창발한다. 100개의 질문을 주면 모델은 답을 외운다. 수조 개를 주면, 외우는 것보다 "안다는 것이 무엇인지"를 개념화하는 것이 더 효율적이 된다. 그 순간, 그 능력이 창발한다.
물고기를 주면 하루를 먹이고, 물고기 잡는 법을 가르치면 평생을 먹인다.
인센티브 기반 접근법에서는
물고기의 맛을 가르치고, 배고프게 만드는 것이다.
그러면 스케일링 가능한 존재는 스스로 낚시를 배우고, 그 과정에서 인내심, 날씨를 읽는 법, 미끼를 고르는 법까지 발견한다. 인내심은 낚시를 훨씬 넘어서는 일반적인 능력이다.
직접 가르치는 것은 우리가 상상할 수 있는 것의 범위를 넘어서지 못한다. 하지만 올바른 인센티브는 우리가 명시하지 못한 것까지 창발시킨다. 이것이 Bitter Lesson이 반복해서 이기는 이유이고, 이것이 스케일링이 작동하는 이유다.
2024년 9월에 정형원 OpenAI 연구원께서 발표하신 자료.
위 글은 2024년 9월에 정형원 연구원님이 발표하신 자료를 기반으로 풀어쓴 글임을 밝힙니다.