악분의 다이어리

유튜브 감상-6년 걸릴 공부를 3일로 끝내는 법


요약

  • 이 영상은 ChatGPT 이후 학습 방식이 bottom-up에서 top-down으로 바뀔 수 있다는 주장을 중심으로, 문제에서 출발해 필요한 기초로 내려가는 학습법을 설명한다.
  • AI를 단순히 답을 대신 내는 도구로 쓰는 것이 아니라, 코드와 논문을 이해하기 위한 tutor로 삼아 계속 follow-up 질문을 해야 한다고 강조한다.
  • 화자는 자신이 vibe coder가 아니며, AI가 만든 코드도 반드시 읽고 이해해야 한다고 말한다.
  • 대학과 기존 교육 체계의 가치를 부정하기보다는, 오래된 사고방식이 학습 독점을 유지하려는 구조를 비판한다.

질문지

  • top-down 학습은 어떤 문제에서 출발할 때 가장 잘 작동하는가?
  • ChatGPT를 tutor로 쓸 때, 답만 받는 방식과 이해를 검증하는 방식은 어떻게 다른가?
  • AI가 작성한 코드를 사용할 때 어느 지점까지 직접 이해해야 하는가?
  • bottom-up 교육 방식이 확장성은 좋지만 비효율적이라고 말하는 이유는 무엇인가?
  • 대학 교육의 역할은 ChatGPT 이후 어떻게 바뀌어야 하는가?

대본

[00:00:00~00:02:05] Why a 5-Year-Old Tweet Reappeared on My Timeline / Kapathy’s Three Lines / Why It Was Impossible to Do in 2020 / From High School Graduate to OpenAI Researcher
확인 필요: 이 구간의 자동 자막은 Twitter, OpenAI, Tesla, podcast, chat, project, Google 같은 단어 조각만 제공되어 발화 내용을 충실히 복원할 수 없다.

[00:02:06~00:04:40] Clip A: Flip Your Study Order (Top-Down Learning)
사람들이 가장 빠르게 배우는 방식은 top-down approach라고 부를 수 있는 방식이라고 생각한다. 문제에서 시작하면 더 빨리 배울 가능성이 높다. 먼저 문제를 잡고, 그 문제를 풀기 위해 필요한 모든 것을 읽고, 더 많은 문제를 찾고, 다시 그것들을 읽으면서 문제의 핵심으로 내려간다. 실제 과제에서 시작해 아래로 내려가는 것이다.

하지만 이것은 매우 드문 학습 방식이다. 학교에서는 모두 기초부터 시작해야 한다는 마음가짐을 갖는다. machine learning을 하고 싶다면 처음 4년 정도는 machine learning을 할 생각을 접어야 한다는 식이다. 수학, matrix multiplication, linear algebra 같은 것들을 쌓고, 그다음에는 지금은 매우 오래된 단순한 ML, 예를 들면 linear regression 같은 것들을 배운다. 물론 이런 것들도 부분적으로 쓰이지만, production grade ML에 도달하기까지는 매우 오래 걸린다.

왜 그럴까? top-down approach는 확장하기가 매우 어렵기 때문이다. 항상 곁에 있어 주는 선생님이 필요하고, 어느 시점에 정확히 어떤 조각을 배워야 하는지 알아야 한다. 반대로 bottom-up은 먼저 이것을 배우고, 그다음에는 항상 이것을 배운다는 식이라 훨씬 확장하기 쉽다. 하지만 매우 비효율적이다.

이제 ChatGPT로 모든 것이 바뀐다. 사람들은 교육이 바뀔 것이라고 늘 말하지만, ChatGPT를 curriculum의 일부로 가르치지 않는 대학은 거의 진지하게 받아들이기 어렵다. 이것이 두 살 때부터 배우는 course가 아니라는 것은 실제로 말이 안 될 정도다. 갑자기 foundational knowledge에 대해 대학이 독점권을 갖지 않게 됐다. 어떤 foundational knowledge든 ChatGPT에서 얻을 수 있다.

사람들은 top-down problem solving이 어떻게 작동하는지 아직 제대로 내면화하지 못했다. 그들은 “그러면 문제를 실제로 이해하지 못할 것이다”라고 말하곤 하지만, 그것은 사실이 아니다. 문제에서 시작해 재귀적으로 내려가면 된다. machine learning을 배우고 싶다면 ChatGPT에 “어떤 project를 하면 좋을까? project를 작성해 달라”고 묻는다. 버그가 생기면 버그를 고치기 시작하고, 그러다 보면 무언가가 동작한다.

거기서부터 machine learning 문제의 특정 부분을 잡는다. “여기서는 무슨 일이 일어나는가? 이 module이 model을 학습하게 만드는 intuition을 설명해 달라”고 묻는다. 그러면 그것이 설명해 주고, matrix multiplication과 linear algebra를 사용한다는 것을 알게 된다. 다시 “그것들은 어떻게 작동하는가? 이 부분의 ML에 대한 intuition을 정말 이해할 수 있게 graph 몇 개를 만들어 달라”고 묻는다. 그러면 갑자기 foundational knowledge가 생긴다. 더 이상 bottom-up으로 갈 필요가 없다.

이 전환은 교육이 이루어지는 방식을 근본적으로 바꿀 것이라고 생각한다.

[00:04:58~00:06:47] Clip B: How to Use AI as a Tutor
예를 들어 diffusion model의 모든 코드를 작성해 달라고 한다. 그러면 코드가 전부 작성되고, 나는 무슨 일이 일어나는지 전혀 모른다. “좋아, 코드가 엄청 많네”라고 느낀다. 그런 다음 그것이 동작하게 만들려고 하고, 함께 debug하고, 무엇이 잘못됐는지 알려 준다. 그러면서 “여기서는 이런 일이 일어나고, 여기서는 이런 일이 일어난다”는 intuition을 쌓기 시작한다.

그다음에는 모든 code line이 정확히 무엇을 하는지 계속 자세히 이해해 나간다. “이 부분은 무엇을 하는가? 이 부분은 무엇을 하는가?”라고 묻는 식이다. 예를 들어 diffusion model에서는 ResNet block이라는 부분을 볼 수 있다. ResNet block은 여러 transformation을 수행하고 residual도 갖는다. residual은 data가 특정 방식으로 지나가게 해서 model이 더 쉽게 학습하도록 만드는 것이다.

처음에는 이것이 어떻게 되는지 전혀 모른다. 그래서 ChatGPT에 follow-up을 계속 묻는다. 그러면 방금 말한 것과 비슷하게 설명해 주지만, 여전히 “그게 무슨 뜻이지? 더 효율적으로 학습한다는 게 무슨 말이지?”라는 큰 물음표가 남는다. 그럴 때 다시 follow-up을 한다. “이것 때문에 어떻게 더 효율적으로 학습하는가?”라고 묻는다. 그러면 gradient가 여러 방식으로 흐를 수 있고, 그 장치가 없으면 특정 지점에서 막힐 수 있다는 식으로 설명해 준다.

model에게 계속 질문해서 정말 이해할 때까지 간다. 이해했다고 생각되면 “이것이 내 이해인데, 완전히 맞는가?”라고 model에게 말한다. 그러면서 작은 trick들도 배우기 시작한다. 예를 들어 “이 개념을 12살에게 설명하듯 설명해 달라”는 방식은 아주 좋다. 그러면 bookstore에 있다고 상상하고 embedding을 store의 서로 다른 book으로 생각해 보라는 식으로, AI와 관련된 개념을 현실 세계의 개념에 연결해 준다. 그러면 나 같은 사람도 훨씬 쉽게 reasoning할 수 있다.

[00:06:59~00:08:17] Clip C: “I Am Not a Vibe Coder”
나는 paper를 word for word로 읽지는 않는다. ChatGPT를 사용한다. 예를 들어 “이 paper가 다르게 한 것들의 list를 달라”고 지시한다. paper들은 이미 알고 있는 technique을 가져와 거기에 새로운 것을 추가하는 경우가 많다. 그래서 “기존 것과 비교해서 정확히 무엇을 다르게 했는지 매우 concrete하게 list로 말해 달라”고 묻는다.

그것은 좋은 summarization이다. 그렇게 보면 이 paper는 아마 해 볼 가치가 없으니 다음으로 넘어가야겠다고 판단할 때도 있고, 이 paper는 정말 좋다고 판단할 때도 있다. 나는 실제로 구현하기로 결정했을 때만 paper를 깊게 읽는다. 그리고 bug가 있을 때 읽게 될 가능성이 높다. 내 code를 모두 넣고 “이것을 내 code에 구현해 달라”고 말할 수도 있다.

하지만 code를 정말 읽어 보는 것은 항상 확실히 한다. 그것은 매우 중요하다. code를 그냥 던져 넣으면 안 된다. 절대 알 수 없기 때문이다. 나는 vibe coder가 아니다. code에 관해서는 매우 opinionated하다. 구체적인 것을 정말 만들고 싶다면 모든 것을 이해해야 한다. 특히 어떤 field의 forefront를 밀고 있다면 더 그렇다. 나는 모든 foundation을 이해하고 싶다.

[00:08:36~00:09:53] Give AI the Work, but Don’t Leave the Understanding to It
대학은 당신의 learning에 대한 monopoly를 갖고 싶어 한다. 평생 대학에 가는 것이 왜 중요한지 사람들에게 말해 온 professor라면, 갑자기 더 이상 그것이 필요하지 않게 되었을 때 그 상태를 유지하기 위해 할 수 있는 모든 일을 하려 할 것이다. 가장 똑똑한 사람들이 모두 스스로 배우기 시작하면 어떻게 될까? 그러면 가장 똑똑한 사람들은 대학에 가지 않을 것이고, 대학에서 가질 수 있는 status는 줄어든다.

진행자는 이것을 ego가 도전받는 상황이라고 말한다. 누군가는 10년 동안 교육을 받고 400,000달러의 debt를 지고 PhD dissertation을 통과했는데, Gabriel Peterson이 “나는 현재 zero ML or math experience로, ChatGPT의 도움을 받아 전통적으로 PhD만 하던 일을 하고 있다. ChatGPT가 PhD level이라는 것을 증명하기 위해 무엇이 더 필요한지 모르겠다”고 말하는 상황이라는 것이다.

화자는 그것이 꽤 좋은 post라고 말한다. 다만 분명히 하자면, professor와 PhD를 한 사람들은 incredible job을 해 왔다. 그들은 세상에 매우 멋진 일을 했고, 매우 중요한 것들에 대해 research를 해 왔다. 자신이 그 사람들을 깎아내리는 것처럼 들릴 수 있지만 전혀 그렇지 않다. 깎아내리는 것은 오래된 사고방식과 함께 오는 concept들뿐이다.

[00:09:54~00:10:15] Clip D: 3 Days of Top-Down vs. 6 Years of Bottom-Up
top-down으로 diffusion model을 배우는 데는 3일이 걸린다. bottom-up으로 배우려면 배우기 전까지 6년이 걸린다. 그것이 완벽한 analogy다.

정확히 그렇다. 대학 이후 diffusion model을 배우고 싶다면, 그것을 만나기 전까지 최소 6년의 schooling이 필요하다. calculus 1, calculus 2, linear algebra를 해야 하고, 그다음에야 machine learning을 소개받을 수 있다.

[00:10:15~00:10:57] The Two Protagonists Now — Ending
확인 필요: cleaned transcript에는 이 ending 구간의 usable speech가 남아 있지 않아 대본 내용을 추가로 옮길 수 없다.

개인적으로 써먹을 부분

  • 프롬프트
    • 답만 받지 않는다.
    • 중간과정을 전부 보여준다.
    • 왜 되고, 왜 안되는지 묻는다
  • 학승방법
    • 구체적인 프로젝트를 잡는다
    • 우선 돌아가게 만들고, 같이 디버깅하고 뭐가 잘못되었는지 찾고 고친다.
  • 논문 등 자료검색
    • 기존 거랑 비교해서 내가 아는 것과 다른것을 리스트로 알려줘, 기존 기술대비 정확히 뭘 했는지 구체적으로
  • AI에게 일을 시켜도 되지만, 이해를 맡기면 안된다.