EP 83
이야기로 읽는 트랜스포머: 윤회하는 토큰의 순례
오프닝: 2026년 1월 24일, 트랜스포머 기본 이어가기 00:00
노정석 녹화를 하고 있는 오늘은 2026년 1월 24일 토요일 아침입니다.
최승준 벌써 1월이 후반부네요.
노정석 그렇습니다. 네, 1월이 시작된 게 엊그제 같은데 후반부가 됐고, 지난 시간에 이어서 오늘은 트랜스포머의 기본, 도대체 왜 얘가 이렇게 동작하는 걸까라는 부분을 너무 깊게 알고리즘이나 수학을 이용하지 않고 최대한 풀어서 설명해 보려는 시도가 될 것 같은데요. 승준님이 말씀하셨던 것처럼 시간이 아마 지금밖에 없을 거예요. 저희 사실 12월 말 1월 지나가면서 또 뭐 모델이 발표되지는 않았지만 이 각종 harness들 쏟아져 나오는 걸 보면 무언가 또 그다음으로 가는 그런 느낌이 있지 않습니까? 뭐 시간이 점점 더 압축되고 있는 그런 느낌인데 이제 곧 또 한 번 뭐 무한의 달리기 타이밍이 올 거라서 그 전에 그때가 아니면 지금이 아니면 할 수 없는 일을 좀 해보자 해서 조금 재미있는 세션 만들어 보고 있는데요. 오늘은 이제 지난번에 이어서 여전히 승준님과 함께 트랜스포머 도대체 이 토큰은 어떻게 튀어나오는가 이 이야기 좀 더 해보도록 하겠습니다.
‘윤회하는 토큰의 순례’와 10x 뉴노멀 문제의식 01:11
최승준 네 그래서 지난 시간에 원리를 생각하는 프롬프팅에서 약간 빌드업을 한 다음에 이제 원리를 오늘은 좀 알아보는 시간을 가지려고 하는데요. 제가 이야기를 좀 만들어 봤습니다. 윤회하는 토큰의 순례라고 해서 한 번에 auto-regressive하게 토큰이 이제 샘플링되는 거, 토큰에서 hidden state를 갖다가 샘플링되는 과정을 한 게 한 번의 삶이고 그다음 턴이 그게 윤회한다는 심상을 가지고서 이야기를 만들었거든요. 그리고 여기 표현한 거는 아마도 2011년에 나온 게임인 Journey라는 그 약간 예술성 있는 게임에 제가 아무래도 영향을 받았던 것 같아요. 그래서 그런 느낌이 조금 납니다.
그래서 제가 오늘 준비한 내용으로 한번 들어가 보면, 일단 이 탐색의 배경이 — 요새 정석님이 서두에도 말씀해 주셨지만 — harness나 이런 것들이 너무 많이 나오잖아요. 그래서 계속 발전이, Claude뿐만 아니라 온갖 곳에서 다양한 버전의 CLI나 플러그인, 스킬이 나오고 있어서 약간 저는 호기심이 줄어들었어요. 그리고 그러면서 어떤 생각을 좀 해보게 됐거든요. 그래서 이 탐색의 배경이 되는 생각으로 10x가 뉴노멀이 되어서 1x가 되면 어떻게 되는 건가, 이게 답이 있는 게 아니고 그냥 질문을 떠올려 본 거예요.
그래서 요새 보면 AI 스쿼드, 당연히 멀티 에이전트를 돌리는 소규모 팀들과 소규모 팀들이 서로 상호 작용하면서 이제 교학상장할 수 있는 연합의 판을 짜는, 협력과 경쟁을 지렛대 삼는 그런 시도들이 많은 상황이고, 변주된 형태의 계약의 등장, 그런 것들도 저희 정석님도 소개하시고 논의가 되고 있는 중인 것 같습니다.
타임라인을 제가 관찰을 했을 때 그래서 모두가 빠르게 제품을 만들고 그거를 이제는 워낙에 그냥 혼자서도 바로 PoC 이상의 것을 만들 수 있으니까 시장에서 그걸 실험하고 개선하려고 할 거잖아요. 그러니까 PMF를 찾으려고 할 때 그러면 당연히 소프트웨어의 캄브리아기 대폭발이 될 것 같은데 그거를 시장이 다 흡수할 수 있는가, 피로도가 혹시 있지 않을까 막연히 생각을 해본 거예요.
그래서 저도 올해 신년 초에 애니멀 웰이라는 게임을 하나 2024년에 나온 걸 굉장히 재미있게 플레이를 했거든요. 근데 1년에 GOTY 게임 하나 하기도 어렵잖아요. 나이를 먹고 나서 그래서 결국 지갑 열기 전에도 제가 그 게임을 선정하는 거에서도 입소문 나는 것 중에서도 한두 개를 고르게 되도록 어마어마하게 많은 게임들이 있어 소프트웨어도 캄브리아기 대폭발이 된다고 하면 그게 다 관심을 받기는 어려울 것 같다라는 생각이 들고 뭐 요즘도 이미 그렇긴 하지만요.
그래서 따라서 코드와 제품을 10x로 뽑는 팀 엔지니어가 10x의 이익으로 이어져야만 하는 문제가 있는 것 같다. 그런데 모두 그럴 수 있을까? 지금은 여러 가지 AI harness나 AI 멀티 에이전트를 활용해서 생산성을 10x로 올린다고 하는데, 그게 10x의 가짜 생산성인 건 혹시 아닐까, 그런 얘기들을 하게 되지 않을까, 그런 상상을 좀 해봤고요.
그래서 10x가 뉴노멀로 이제 누구나 다 10x를 하게 된다면 1x가 되기까지 얼마나 시간이 있을까, 100x의 경우도 마찬가지고요. 기존 체제 안에서 한다고 하면 그냥 하루를 더 밀도 있고 여러 맥락을 다루는 바쁜 상태로 AI들을 이제 일을 시키면서 살게 될 뿐인 뉴노멀, 아니면 거기에 못 맞추면 모두가 0.1x로 살게 되는 거 아닌가. 답을 가지고 있지는 않지만 이런 생각을 하면서 좀 정초를 보냈었거든요. 말씀하십시오.
노정석 예, 지금 사실 시의적절한 의제이긴 한데 사람들이 다 여기에 눈을 뜨고 있잖아요. 작년이 조금 앞서가는 사람들이 무언가 빨리 간 것에 대한 과실을 딸 수 있는 시기였다면, 지금은, 적어도 이 판에 들어올 것 같은 사람들은 막 속속속 다 도착을 하고 있는 상황이어서 그들의 생산성도 다 올라가고 있기 때문에 승준님이 말씀하셨던 10x가 뉴노멀이 된다는 것 자체가 이젠 10배 오른 생산성이 이제 1x가 스탠다드가 되어 버리는 그런 걸 말씀하시는 거잖아요. 지금 이미 그렇게 되어 가고 있죠.
최승준 그래서 그게 이제 개밥먹기 부트스트래핑을 하고 있다 보니까 너무 많은 도구들이 튀어나오는 게 저는 증거라고 생각하거든요. 생산성이 올라서 그걸 만들고 이미 CLI 류의 캄브리아기 대폭발을 지금 겪고 있는 걸지도.
노정석 그렇게 되면 저희가 아무래도 익숙하던 게 소프트웨어 업계이기 때문에 소프트웨어 업계는 과거에는 어쨌건 무언가 만들어야 되는 시간과 노력이라는 그 기본 생산 비용
생산비 0의 시대: 소프트웨어 공급 폭발과 AI slop 05:43
노정석 누가 더 잘 만들 수 있느냐 누가 더 좋은 엔지니어 풀을 가지고 있느냐 뭐 이런 것 때문에 좀 갈리던 시장이었는데 그 생산에 들어가는 가격이 0이 된 거잖아요. 그래서 누구나 그 품질을 다 낼 수 있게 되면서 소위 공급이 폭발적으로 증가하고 있는 거잖아요. 그럼 저희가 어렸을 때 배웠던 경제학 원론의 가장 첫 번째 나오는 수요와 공급의 논리에 따라서 시장의 가격과 수요 등을 움직이기 마련이니까 사실은 가격이 계속 떨어지겠죠.
최승준 그렇죠. 그러다 보니까 약간 제가 GOTY라는 게임에 비유를 한 거가 많은 것들이 물론 시장에 내놓고 개선을 한다고는 하지만 요새 칭해지는 AI slop에 해당하는 소프트웨어일 가능성이 있고 그다음에 그러다 보면 사람들은 결국에는 예술품에 주목을 하게 되지 않을까 뭐 그런 생각도 좀 해보게 됐습니다.
노정석 네, 경제학은 당연히 희소함에 대한 학문이었고, 사실 경제 자체가 언제나 ‘희소한 게 가격이 높다’, 너무 abundant하면 가격은 떨어진다라는 굉장히 간단한 원칙을 가지고 가는 거니까, 저희가 그 안에 있기 때문에 이 현상을 너무 과대평가하는 건지도 몰라요. 사실 동네 빵집의 예, 분식집의 예, 미용실의 예, 치킨집의 예 그다음에 우리가 쿠팡이나 11번가 같은 데서 흔히 볼 수 있는 소위 commodity라고 생각하는 그런 부분들.
근데 그런 것들도 과거 한 30~40년 전을 보면, 제조업의 폭발적인 성장이 있기 전까지는 다 하나하나가 희소한 물품들이었고 그걸 만들던 사람들은 전부 다 부자 되던 시기였는데 지금은 뭐 전 세계에서 모두가 그런 것들을 만들 수 있어서 이 commoditization이라고 그러잖아요. commodity화되는 거죠.
그런데 소프트웨어가 이제 그 시기에 들어간 거죠. 그래서 그게 이제 저희가 직접적으로 영향을 받기 때문에 그 부분에 대해서 일종의 러다이트 운동스러운 반발을 하고 있는 거지, 저희가 층위를 옮겨서 다른 관점에서도 더 넓게 바라보면 수많은 industry에서 일어났던 일이 저희한테 일어나는 것뿐이잖아요. 쉽게 요약하면 그래서 승준님이 말씀하신 것처럼 10x가 새로운 1x가 되고 그다음에 뭐 100x가 새로운 1x가 되고 하는 그 타이밍이 무지무지하게 빨리 오고 있는 것 같다는 느낌이 들어요.
이제는 소프트웨어가 저희 뭐 Chrome Claude 플러그인이나 이런 것도 보듯이 모두가 다 이제 개인화된 소프트웨어로 막 나아가고 있잖아요. 그럼 과연 B2B SaaS라든지 대형 어떤 소프트웨어라든지 이런 것들이 필요가 있을까, 브라우저랑 OS만 있으면 되는 거 아닌가라는 논의가 이미 된 거 아닐까요? 근데 이제 기획이 그래서 훨씬 더 중요해졌거든요. 기획 없이 그냥 막 만들어서 토큰을 갈아 넣기만 하면 승준님이 말씀하신 것처럼 AI slop이 나오죠. 그게 아닌 제대로 된 소프트웨어는 여전히 다른 층위의 기획적인 노력이라든지 감성적인 노력이라든지 이런 것들이 들어가니까 사실은 경쟁의 어떤 관점이 더 abstract level로, 그러니까 상위 레벨로 이동한 것뿐이지 본질은 변하지 않았다고 봅니다. 어차피 예전에도 소프트웨어 만드는 사람들 정말 많았고, slop 소프트웨어들도 여전히 많았습니다.
그런데 지금 그게 훨씬 더 많은 양으로 다가오니까, 그리고 그러한 slop 소프트웨어에서 영향을 받지 않고 나름대로의 생태계를 유지하던, 소위 학교도 잘 나오시고 좋은 직장도 갖고 계셨던 그 엘리트 계층들한테 이게 직접적인 타격이 되니까 좀 과대 해석되는 거지, 자연스러운 과정인 것 같아요. 타임프레임이 굉장히 압축적으로 일어나는 것, 그게 좀 숨 막히고 힘들 뿐이지. 한 발짝 떨어져서 제3자의 시각으로 바라보면 ‘당연히 일어날 일이 일어나네, 소비자 입장에선 박수 칠 일 아닌가요?’
최승준 소비자 입장에서는 선택의 폭은 확실히 넓어지고 너무 많은 게 나오더라도 결국에 내 인지에 들어올 수 있는 거는 한두 개니까 결국에는 대부분의 것들이 무시되지만 늘 다룰 수 있는 범위 안에서만 보일 것 같기도 해요. 하여튼 이런저런 생각이 흐르는데요. 그런데 이제 아무리 10x가 되더라도, 10x가 되다 보니까 결국 나오는 얘기가 ‘인간이 병목이다’라는 공감대를 조금 얻고 있는 것 같아요.
CLI 루프 도구와 ‘인간이 병목이다’의 변주 10:09
노정석 네, 그럴 수 있죠. 근데 그걸 또 넘어서는 예제들도 많이 나오잖아요. 그러니까 예를 들어 베어 메탈의 Claude Code나 Codex를 쓰면 인간의 병목인 게 여실히 드러나거든요. 왜냐하면 그 사이사이 구간을 넘을 때마다 의사결정을 해주고 계속 디렉션을 줘야 되니까요. 근데 그 프레임워크 자체를 빌려와서 아예 내장한, 예를 들어 Ralph loop라든지 Oh-My-Opencode 저도 Oh-My-Opencode 진짜 잘 쓰고 있거든요. 근데 이제 딱 필요한 만큼의 어떤 쥐어 짜기 프레임워크를 잘 만들어 놔서 밤에 항상 자기 전에 Oh-My-Opencode가 밤새 돌만한 일들을 고르는 재미에 요새 빠져 있거든요.
최승준 결국 일종의 while loop인 거죠. 그리고 이제 약간 앙상블하고
노정석 그렇죠. 그런데 토큰을 갈아 넣으면 품질은 어떻게든 수렴해서 올라가게 돼 있으니까, 나오는 품질을 보면 되게 좋아요. ‘인간이 병목이다’인데, 그런 식으로 인간의 병목점이 되는 부분까지도 encapsulation 돼서 아래 레이어에 계속 들어가 버리니까 이런 부분도 좀 넘어서고 있는 거 아닌가라는 생각도 좀 들더라고요. 예 저도 요새 업무의 거의 한 6시간 정도가 Codex, Oh-My-Opencode, Antigravity를 끼고 모든 업무를 얘를 통해서 진행하거든요. 근데 과거에는 그냥 이메일과 파워포인트를 직접 잡았던 일들이 얘를 끼고 얘를 하나의 층위로 놓고 하니까 제가 그냥 저만을 위해서 상시 대기하는 직원 한 7 8명이랑 같이 일하는 그런 기분이 들어서.
최승준 어쨌든 컨텍스트 관리를 하시긴 하셔야 되잖아요. 매니징 하려면. 아니에요? 그것도 넘어섰어요?
노정석 매우 좋은 질문인데, 컨텍스트에 집중하는 노력이 예전보다는 훨씬 덜해졌어요. 그러니까 목표점, 저희 연말 목표 하루 목표 해가지고 아침에 투두 리스트에 뭘 적잖아요. 그 투두 리스트가 가지고 있는 에너지 레벨에 더 집중하게 되거든요. 이게 measurable하면서, 오늘 하루에 끝낼 수 있으면서, 내 주변에 있는 리소스와 조합을 통해서 만들어질 수 있는 일인지. 그 컨텍스트를 머릿속에서 압축해서 목표를 만드는 거, 그 컨텍스트요. 그러니까 제가 정하는 투두리스트에 딱 한 두 줄짜리의 문장이 갖고 있는 에너지 레벨이 무어냐에 따라서 사실은 에이전트가 하는 일들의 퀄리티가 확 달라지는 그런 경험을 조금 하게 되거든요. 승준님 말씀이 맞기도 하고 틀리기도 하고 그래요. 맞는 부분은 여전히 컨텍스트에 들어가는 노력은 굉장히 증가했는데 그것도 또 도구를 통해서 끊임없이 약간 self-reinforcement가 되니까 그것도 그냥 좋아지고. 만약에 뭐가 좀 안 되는 게 있다면 모호한 것들을 이렇게 eval prompting을 하잖아요. 승준님도 저에게 가르쳐 주신 방식이고 그래서 더 에너지 레벨이 높은 프롬프트로 만들어서 걔를 task의 출발로 삼으면 또 잘 가거든요. 그래서 이거는 보는 관점에 따라서 어느 하나의 층위로, 하나의 관점으로 정리할 수 없는 굉장히 그래프스러운 식으로 일들이 진행되고 있어서 저도 답하기는 좀 어렵네요. 하다 보니까 이야기가 흘렀습니다.
뇌와 트랜스포머 비유: 기계의 생각으로 인간을 보기 13:45
최승준 네 근데 뭐 관련이 있는 얘기로 다시 돌아갈 것 같긴 합니다. 그래서 어쨌든 저는 인간에 관해서 좀 생각해 보는데 약간 엉뚱하지만 발상을 바꿔서 기계의 생각을 비유 삼아서 들여다보면 이라고 좀 생각을 해봤어요. 그래서 뇌하고 기계의 트랜스포머가 동체는 아니지만 비슷한 일을 한다고 했을 때 좀 미루어 짐작할 수 있는 부분이 있지 않을까가 이제 엉뚱한 가설이에요. 그래서 일단 첫 번째 전제는 둘 다 빈 서판이 아니라는 겁니다. 일단 트랜스포머도 파라미터가 다 차 있잖아요. 랜덤일지언정 처음에는 하지만 재배선 되잖아요. 회로들이 만들어지고 가중치가 조정이 되고 있는 뉴런들을 재배선할 뿐이잖아요. 그래서 처음부터 차 있고 비어 있는 존재는 아니고
근데 인간도 처음에는 비어 있었겠지만 어느 정도 태어난 다음에는 이미 차 있는 상태에서 유년기가 지나면은 사실 뉴런 자체는 많이 생기지는 않는다고 하잖아요. 저도 정확하게는 모르지만 하지만 재배선 같은 것들은 여전히 뇌 가소성 때문에 일어나는 거고 미엘린이 더 강화된다거나 어떤 쪽으로 더 잘 흐른다거나 그래서 일단 거기에 약간 심상을 가지고 있고 그렇다면 저도 이제 나이가 이제 많이 먹어가는 시점에서 나 자신의 뇌를 재배선하는 게 가능한 뭔가를 배운다는 건 결국에는 그거에 상응하는 물리적인 현상이 있는 거잖아요. 뭔가는 바뀌어 있어야지 배움이 생기는 거잖아요. 그걸 어떻게 잘 일어나게 할 수 있을까 그런 고민들을 하기도 했었거든요.
노정석 인간의 뇌와 트랜스포머가 저는 똑같은 원리의 기계라고 생각하는 사람이어서 네, 간단한 재밌는 실험이 있는데요.
승준님 혹시 그 speech jammer라는 거 아세요? 누가 말 많이 하는 사람이 있으면 말 못하게 하는 그 재미있는 도구가 있는데, 뭘 하는 거냐면 자기가 하는 말을 헤드폰을 끼고 들을 때, 미묘하게 몇백 밀리세컨드 정도의 시차를 두고 어긋나게 해서 다시 들려주는 거거든요. 그럼 사람들이 말이 막혀요. 이게 증빙하는 게 뭐냐면 인간의 뇌도 그냥 autoregressive한 머신이다는 걸 보여주는 거거든요. 우리가 말을 하면 그냥 말하는 것 같지만, 사실 말하는 것과 동시에 그 output이 input으로 다시 뇌로 바로 들어가서 합쳐지는 구조로 되어 있거든요. 그래서 그게 어긋나면 embedding이 꼬여서 말하다가 생각이 멈춰요. 더 이상 생각이 안 가고 ‘왜 이러지’ 하는 상황에 금방 도달하거든요. 얘기인즉슨 우리 뇌도 그냥 autoregressive 머신이다.
최승준 그렇군요. 오늘 할 얘기가 딱 맞아떨어지는 얘기네요. 그래서 이 링크는 나중에 소개하기로 하고 제가 윤회하는 토큰의 순례라는 이야기를 조금 슬라이드로 만들어 봤어요. 이걸 제 타임라인에 이미 공유를 하긴 했었는데요. 한번 보시죠.
토큰 1인칭으로 본 생성: prefill·KV cache ‘기억의 궁전’ 16:23
노정석 재밌겠어요. 이것도 승준님이 프롬프팅을 하셔서 이미지 생성과 텍스트 등도 다 AI한테 일을 시키신 거죠.
최승준 그렇죠 이거는 이 슬라이드 형태로 나온 거는 저희 녹화하기 1분 전에 나왔습니다. 그게 가능했던 거는 제가 Claude를 믿고 있었기 때문이죠. 한 10분 돌리면 나올 것이다
노정석 된다라는 걸 이미 알고 있었죠. 네
최승준
일단은 얘기가 이제 토큰을 주인공으로 생각을 했어요. 그다음에 저는 이번에 생각하는 거가 그 프롬프트를 입력하면 prefill이라는 게 되잖아요. 그래서 한번 쫙 그 병렬로 돌아가 가지고 KV cache들이 쭉 이미 쌓여져 있는 상태 그게 기본적으로 저희가 쓸 때는 시스템 프롬프트도 prefill 돼 있었을 거고 처음에 유저 프롬프트 해 가지고 쫙 어떤 구조물이 있는 상태에서 생성이 된다고 생각을 해서 그랬을 때 다음 토큰이 하나가 생성하는 1인칭 관점에서 좀 보자 라는 거였어요. 그래서 저는 여기에 구조물들이 쌓여 있는 거가 key하고 여기 열쇠 모양 key value의 구조물들이 이렇게 건물처럼 있는 상태로 일단은 생각을 해봤습니다. 그리고 오늘 궁전의 가장자리에 새 탑이 하나 더 세워질 것이다 그게 나다라는 생각을 했습니다. 그래서 예를 들어서 이제 여기 비유에는 32층의 레이어가 나오는데 처음에 시작해 가지고 32층을 다 통과하고 나면 다음 일이 벌어 윤회가 일어나는 그런 심상이에요. 한번 가보시죠.
레이어 내부 여행(1): embedding→norm→QKV 분화·RoPE 18:03
노정석 그래서 처음에는 토큰이 hidden space로 embedding 되죠. 그래서 그거에 대한 이미지예요. 그래서 어떤 이때는 정확한 vocabulary가 어떤 숫자에 대응하는 거에 의해서 이게 숫자화됐다가 그게 아직은 맥락이 없는 hidden space로 embedding이 일어나서 그게 이제 흘러가는 거를 residual stream이라고 볼 수 있거든요. 그래서 이 hidden space x가 계속 자기 자신을 덧대는 작업들이 일어납니다. 근데 그거를 잘하기 위해서는 이게 뭐였죠? RMS였나요? 약간 자기 자신을 좀 normalize 하는 거에서 시작을 하잖아요. 그래서 요새는 — 예, 그렇죠 — 많은 트랜스포머들이 pre-norm post-norm 할 때 바닐라는 post-norm이었다면 요새는 먼저 이렇게 좀 줄여놓고 가는 그런 거를 하죠. 그래서 이거를 약간 표준의 호흡을 얻는 느낌이다. 그다음에 숨을 고른 뒤 분화할 준비를 한다.
분화가 일어나죠. QKV 부위로 이제 분화가 일어난 다음에 그거를 다시 multi-head로 쪼개는 그런 거예요. 여러 개의 머리 또는 여러 개의 눈 그다음에 여러 개의 key 여러 개의 value 이런 것들을 가지고 있는데 그거를 통해서 자기 자신을 다시 덧대거든요. 그런데 요새는 GQA라고 해서 KV cache를 좀 효과적으로 쓰려고 공유하는 부분이 있다고 하더라고요. 저도 이거는 잘 몰랐었는데
노정석 Group Query Attention
그래서 그런 것들이 이제 어텐션을 통해서 자기 자신을 쪼개고 쪼개는 게 아니라 복제를 한 다음에 다르게 이제 관점들을 만들고서는 여러 관점으로 보고 그걸 다시 합치는 작업을 해서 그거를 Q가 내가 던지는 질문, K가 내가 남길 표지 V가 내가 남길 물 이렇게 해서 시적으로 좀 표현이 됐고요. 그다음에 이게 RoPE 그러니까 이게 position encoding이라고 했었죠. 그래서 옛날과 다르게 요새는 그 회전하는 느낌으로 그거를 이제 감아서 토큰의 위치가 시퀀스에서 어딘가를 이제 표지 삼는 그런 거를 이제 이미지적으로 표현을 해봤습니다. 그리고 이제 그다음에 시작을 할 때는 그 hidden state가 KV를 남기고 그다음으로 넘어가더라고요. 그래서 계속 갈 때마다 구조물들을 적재하는 방식으로 되는 것 같거든요.
그래서 처음에 어떤 지금 이 주인공이 hidden state가 또는 x가 이렇게 쭉 가는데 그때마다 한 층을 통과할 때마다 많은 그 multi-head로 보고 거기에서 얻어낸 걸 가지고서는 K와 V를 만든 다음에 그거를 마셔서 자기 자신을 바꾸는데 그 표지들을 계속 기록을 남기면서 가는 그런 느낌이에요.
근데 이때 attention score라고 보통 하는 것들이 어느 시퀀스에다 주목을 할지를 그걸 점수를 매기는 건데 그거를 가지고서는 자기 자신에서 나왔던 V 어떤 값 또 거기에 어떤 지식이 들어 있을 수도 있는데 그거를 가중합을 하는 부분이 있고 그거를 자기 자신을 변화시키는 뭔가를 마시는 느낌으로 좀 표현을 해 봤습니다.
레이어 내부 여행(2): attention=soft lookup (Andrej Karpathy) 21:18
노정석 근데 이거를 Andrej Karpathy도 그렇고 다른 사람들도 그런데, ‘soft lookup’이라는 표현을 하더라고요. 보통 어떤 걸 조회할 때는 키를 가지고 쿼리를 던져서 밸류를 얻어내는 방식으로 작동하잖아요.
그런데 soft lookup이라고 하는 거는 그게 정확하게 딱 하나만 얻는 게 아니라 몇 가지를 얻어서 약간 그 점수를 주고서 이거는 0.1 이거는 0.4 그렇게 해가지고 가중합을 얻는 거를 이제 soft lookup이라고 보통 그 Andrej Karpathy가 얘기를 했는데 그 어텐션도 결국엔 soft lookup이고, 이후에 나오는 dense layer를 2개 합친 FFN(feed-forward network)도 soft lookup이고, MoE도 soft lookup이 반복되는 그런 느낌이 있습니다. 그래서 하나를 고르는 일이 아니라 비율로 섞는 일이다.
V들의 가중합으로 혼합물을 만들어서 residual stream 자기 자신을 이제 덧대는 그런 거를 이미지로 좀 표현을 해 봤습니다. 그래서 이게 교체되지 않고 계속 x에다가 델타를 더하는 느낌으로 가고 이게 계속 자기 자신을 더 뭔가 더 의미들을 맥락을 넣는 느낌으로 그려져 봤고요.
MoE 라우팅의 심상: 384 experts·top-k 선택과 스케일링 22:31
노정석 그다음에 이제 이게 384개는 DeepSeek이 384개였고 Kimi K2가 384개였죠. sparse auto Mixture-of-Experts에서 근데 DeepSeek은 256개였던 것 같아요.
그래서 요새 그런 추세가 있는 거를 좀 비유적으로 푼 게 어떤 층에 갔더니 384개의 문이 있는데 그중에서 게이트 또는 라우터가 가장 이 현재의 주인공 x와 연결이 될 만한 것들을 8개만 top-k로 뽑아준다 그런 느낌이 그리고 그것이 들어가서 하는 거는 이제 이게 이제 라우터가 표현이 된 건데요. 그 x가 복제돼 가지고 동시에 이제 8방을 다 들어가서 거기에서 지식을 취하죠. 그리고선 다시 자기로 합하는 거예요. 똑같은 가중합이거든요. 아까의 그 어텐션하고 약간 비슷한 느낌인 거죠. 그래서 사실은 이게 읽기만 하는 게 아니라 자기 자신을 변형시키는 건데 약간 써놓고 보니까 이 이렇게 읽기처럼 표현하는 게 정보를 취합하는 느낌이 더 난 것 같아서 이미지를 좀 바꿔봤고요. 그래서 또 잔차 그러니까 residual을 다시 이제 겹쳐서 연결한다라는 거를 이제 표현을 해 봤습니다. 그래서 이제 라우터가 하는 일이 중요하죠.
그리고 이 방식으로 굉장히 파라미터를 늘릴 수 있는 거잖아요. 보통은 어마어마하게 큰 파라미터라고 하면 FFN 하나로 만들면 훨씬 더 그게 그 계산이 많이 FLOPs가 투자되는데 적당한 크기의 것들을 여러 expert로 나눠 놓으면 훨씬 더 파라미터를 키우는 방식으로 지금 스케일링을 하고 있는 거니까 이제 그것에 대한 이야기이기도 합니다. 그게 병렬적으로 일어난다. 근데 이런 식으로 되는 것들이 어 32층 그러니까 예를 들어서 아까 384개의 expert가 있다 했을 때 그게 전체 트랜스포머에서 384개가 있는 게 아니더라고요. 그러니까 한 번에 트랜스포머 블록에 384개의 MoE가 있는 거였어서 그런 것들이 예를 들어서 32개의 레이어라고 하면 그리고 그때 이제 sparse하게 8개씩이 선택이 된 거잖아요. 그래서 전체 트랜스포머 블록이 32개 있다고 하면, 384개씩 32층이 있는 건데, 그중에서 실제로 activation되는 거는 각각 8이니까 8 곱하기 32만큼 훨씬 적게 있어요. 근데 그거를 할 때는 기록은 안 남아요. KV cache는 없어요. 그러니까 MoE 연산을 할 때는요. 건축물 같은 느낌으로 계속 탑이 생성되는 건 32층짜리 K와 V의 지표들인데, 흔적이 남는 거는 MoE 쪽에는 없고 어텐션 쪽에서 생긴다는 거죠. 그래서 이게 트랜스포머가 결국에는 소통하고 생각하고 소통하고를 계속 그거를 이제 층을 넓혀서 깊어가게 하면서 그거를 한다는 거죠.
그런데 이게 흥미로운 게, 최소 두 층이 있어야 induction circuit 같은 게 생긴다고 하더라고요. 트랜스포머 초기 연구인데, 두 개의 층이 있어야 induction head가 하나의 정보를 다른 데다 복사하고 다루게 하는 일을 할 수 있다는 거죠. 기록을 만들고 그다음에 그걸 활용해야 되기 때문에, 하나의 레이어에서는 안 되고 2개 이상의 레이어에서 다뤄야 회로들이 생긴다는 부분은 어떻게 보면 되게 당연한 것 같아요. 뭔가를 적어놔야 그걸 활용할 수 있으니까요.
노정석 저희가 한 2년 전에 많이 다뤘던 논문 중에 Physics of LLM이라는 논문에서 트랜스포머 블록의 넓이를 넓히고 그다음에 이제 depth를 줄이고 embedding space를 좁게 만들고 넓게 만들고 하는 거를 이제 small model에 가져가서 실험을 해서 대략 일종의 conjecture를 만든 거죠. 추정을 만든 거죠. ‘이게 이런 역할을 하는 것 같다.’ 저층은 저수준의 embedding space를 잡는 걸 하고, 고층으로 갈수록 더 추상적인 정보를 처리하게 layer가 잡힌다. 근데 그거는 누가 그렇게 정해준 게 아니라 학습 과정에서 emerge하는 거죠.
최승준 그렇죠 그게 이제 자리가 잡는 거죠. 그런 역할들이 그래서 지금 주인공이 같은 실루엣으로 표현이 되고 있긴 하지만 사실 엄밀히 말하면 얘가 좀 다른 모양이 되어 있는 상태거든요.
노정석 원래 본인의 모습에 무언가 다른 정보들이 덕지덕지 붙어 있는 형태로 계속 바뀌어가고 있는 거죠.
최승준 경험 경험치가 올라가 있고 성장해 있고 여러 가지 맥락을 함유하고 있는 그런 상태가 되어 있고요. 그리고 그런 것들이 계속 반복이 일어나서 이제 다음에 건네줄 준비가 됩니다. 근데 그 전에 약간 경계선이 생기는데 그냥 건네줄 수가 없고 다시 바꿔줘야 돼요. 숫자로 또는 문자로 그게 이제 sampling인 거죠.
그래서 일단 뭐 이게 vocab이 뭐 3만 2천 개 정도의 vocab이다라고 그냥 가정했을 때 그중에서 어 이런 분포의 좋은 분포에 해당하는 거를 이제 한 그 상위 확률적으로 얻어내서 그거를 다음 토큰에게 건네주는 그래서 얘는 사라지지만 후임자가 그거를 받아서 auto-regressive 합니다. 그러니까 자기 회귀를 하는 거죠.
그런데 그 자기 회귀라는 존재는 이전에 그 전임자가 남겨놨던 KV를 다 보는 거예요. 한 번에 그 auto 한 번 이렇게 sampling 되는 과정이 1층에서 시작해서 32층까지 가 가지고 여기에서 이제 넘겨주는 그런 건데 그런 흔적들이 모든 생성의 한 토큰 생성할 때마다 다 탑들이 쌓여 있는 거거든요.
KV가 그리고 그거를 다시 multi-attention으로 그걸 바라보고 뭘 어떻게 할까를 한 층 한 층 한 층마다 이제 고민을 하는 그래서 약간 순례라는 제목을 제가 잡아본 거가 얘가 윤회하면서 이게 되게 약간 웅장한 여정을 가져간다 라는 이야기를 하고 싶었던 것 같아요. 그리고 그러면서 그 어떤 기록에 건축물 같은 것들이 들어서는 거죠. 그랬을 때 우리가 prompting을 한다는 건 여기에 갑자기 커다란 건축물을 한 번에 확 세우는 거예요. 그 건축물도 아름다워야 되지 않을까요?
노정석 네 그렇죠 네 네 여기가 끝 슬라이드인가요?
최승준 아니 아니요. 이게 이제 이제 이게 여기가 마지막입니다.
노정석 사실 저 사람 하나라고 표현한 게 사실 토큰 하나를 얘기하신 거거든요. 그렇죠.
최승준 그래서 토큰에서 시작해서 hidden state가 된 상태죠.
노정석 그렇죠. 얘가 이제 그 다음 next input 토큰으로 다룬 그 하나의 토큰을 지금 여기서 사람으로 표현하신 거고 걔가 이제 여행을 거쳐서 이 output으로 딱 나온 게 이제 다음 토큰으로 다시 들어가는 그 과정 딱 하나를 얘기하신 거죠. 네
최승준 한 라운드인데 이게 하나의 토큰이 이제 생성이 되는 여정인 거죠. 그래서 약간 KV cache가 이게 자라나는 기억의 궁전이고 파라미터는 고정돼 있잖아요. 움직이지 않는 지형인데 KV cache는 거기에서 자라나는 기억의 궁전이고 토큰은 그 둘 사이를 오가는 순례자다. 그래서 그런 것들이 이제 계속 반복되고 그리고 그 연쇄의 궤적이 우리가 의미라고 부르는 풍경을 만든다라고 이제 이야기를 만들어 봤습니다. 이게 도움이 되려나 모르겠는데요.
노정석 예 저도 이걸 들으면서 생각이 그 생각을 하고 있었어요.
왜냐하면 얘가 이 아키텍처와 소위 텐서의 여행을 PyTorch나 이런 걸로 한 번이라도 조금 따라가 본 사람에게는 이 스토리텔링은 너무 탁 바로 무슨 얘기하는지 알 텐데 그 거기에 대한 knowledge가 없으신 분들이 이걸 듣기에는 그냥 무슨 말인지 알겠는데 무슨 말인지 모르겠어가 될 확률은 있을 것 같아요. 네
최승준 그게 약간 배경 지식이 있을 때 조금 더 재미있는 건데 그러니까 이게 지식을 전달하는 그러니까 뭔가를 배워내는 데 도움이 되기보다는 음미하는 데 좀 도움이 됐으면 하는 바람이긴 합니다.
노정석 맞아요. 그런데 사실은 저희가 neural net을 맨 처음에 배웠던 게 예전에 2015년 10년 전을 생각해 보면 MNIST를 fully FFN으로 그냥 저희가 그때 perceptron이라고 얘기하던 FFN 형태로만 만들고 FCN fully connected network로만 만들어 보는 걸 제1번으로 하고 그다음에 이제 convolution 붙여 보는 거를 만들고 그다음에 convolution에서 뭐 다양하게 뭐 VGG부터 ResNet이나 이런 거 배우다가 그다음 RNN으로 넘어가서 RNN에 굉장히 간단한 여러 가지를 배우다가 그 뒤로 이제 조금 고급이 되면은 이 LSTM이라든지 GRU라든지 이거 근데 거기서부터는 컨셉만 하지 구현은 안 해요. 그냥 라이브러리를 갖다 붙여버리는 형태가 되고 거기서 이제 그다음으로 가면 그 고급이 attention을 구현해 보는 거였다고 저는 생각하거든요. 굉장히 그 구간이 또 넘기가 어려웠어요. RNN에서 attention 하는 거 근데 attention을 이해하고 나면 transformer가 왜 저렇게 도는지는 또 직관적으로 되거든요.
그래서 transformer도 승준님도 아마 시간을 굉장히 많이 투입하셨던 걸로 알고 그 제일 처음에 vocabulary를 만들고 tokenizer를 이해해야 되고 그다음에 거기서 나온 것들이 embedding으로 들어가고 그리고 예전에는 그때 position embedding을 더 했었잖아요. 그런 다음에 이제 attention block으로 가고 attention block에서도 사실 이해할 수 없는 일들이 굉장히 많이 일어나죠. 이게 왜 이렇게 돼 있는지 철학적으로 이해는 안 되지만 그냥 아키텍처를 이해하기 위해서 이해하고 넘어갔던 것들이 많잖아요. 저는 그때 참 이해가 안 됐던 게 multi-head로 쪼개면서 attention 내 embedding이 예를 들어 256이면 multi-head로 하면서 그 256을 앞에서부터 그냥 잘라요. 8개씩
최승준 잘게 자르죠.
노정석 네, 잘게 자르면 그게 다 묶여서 하나의 embedding인데 얘를 쪼개서 attention 연산을 하고 뒤에서 다시 합치고. 이게 철학적으로 무슨 의미가 있는 건지 지금도 사실 이해는 안 되거든요. 그냥 단순히 ‘embedding을 여러 공간으로 나눠서 더 다양한 가능성을 탐색한다’ 정도로 이해하고 넘어갔는데.
최승준 그렇죠, 저도 그 정도로 이해하고 있는 거고, 다양한 관점으로 다루는 거죠.
노정석 맞아요. 그래서 attention block이 생기고, 그게 다시 하나로 concatenation이 돼서 위로 넘어가서 layer norm 한번 거치고, 그러고 나서 FFN을 들어가서 한 번 더 승준님이 방금 말씀하신 soft lookup이 생기고, 그러면 다시 똑같은 dimension으로 결과가 튀어나오면
최승준 그러니까 이 주인공이 같은 dimension이에요. 같은 인물로 계속 쭉 가는 거고요.
노정석 예 그다음 transformer block으로 들어가는 거고 이 계속 층위에 따라서 반복되는 거고 네, 그리고 그 사이사이에 있는 residual, 자기 자신을 더해주는 것들이 있었는데, 이게 생긴 이유는 굉장히 깊은 block에서도 gradient가 죽지 않고 저 앞에까지 살아가라는 목적으로 만들어진 건데, 지금 생각해 보면 또 굉장히 철학적인 의미가 있는 거잖아요. 승준님.
최승준 예, 그게 그냥 residual connection이 gradient 감소만 막는 게 아니라, 원래 시작했던 의미에서 중력을 좀 가지고 거기에 관련된 것들이 더 달라붙게 하는, 약간 그런 느낌이거든요.
노정석 맞아요. 그리고 이제 그 부분에서 혁신을 가져온 게 이게 그거잖아요. 최근에 발표됐던 DeepSeek의 MHC
최승준 MHC 고속도로를 여러 개 만들고 이제 폭발하지 않게 약간 이제 그 SyncOn인가 뭐 그 알고리즘으로
노정석 Manifold Constrained Hyper Connection이었던 것 같은데
최승준 그거는 뭐 이제 성현님이 잘 다뤄주셔야죠.
노정석 맞아요. 그런 식으로 해가지고 그 구간을 또 한 번 효율화한 거고 또 최근에 또 DeepSeek이 냈던 논문이 N-gram이었는데
최승준 N-gram 그거는 이제
노정석 걔는 또 그거죠. attention block이
최승준 그쵸? 그걸 효율화시키는 거죠.
노정석 예 너무 단어 바이 단어로 하고 있으니까 걔를 그냥 의미별로 묶어서 던져주면 훨씬 더 의미 있어지는 거 아니냐
최승준 그러니까 그러면 오히려 추론의 연산 능력을 더 쓴다는
노정석 맞습니다. 그래서 저희가 이제 성현님한테 DeepSeek이 가장 올해 작년과 올해 내놨던 그 MHC와 N-gram 관련해 가지고 이제 곧 수업을 듣긴 할 텐데 그런 것들이 더해지면서 그리고 또 여기 재밌는 거 승준님 그 지난번에 제가 말씀드렸던 Nemotron 걔는 Mamba block이랑 transformer block이 짬뽕 돼 있거든요. 그리고 Mamba block 자체가 그냥 sequence라는 자체를 갖고 있기 때문에 거기에는 positional embedding을 더하는 구간이 전혀 없어요. 음 그냥 Mamba block 몇 번 지나고 나면 그 안에서 sequence 정보는 생겼다고 가정하고 그다음 attention block과 MoE로 넘기거든요. 근데 또 돼요.
최승준 뭐 하여튼 흥미로운 흥미로운 일 여러 파생들이 있어서 재밌네요.
어디까지 공부해야 하나: 선형대수+토이 구현, Andrej Karpathy 커리큘럼 35:17
노정석 그래서 이게 제가 이걸 장황하게 말씀드린 이유는 이 부분에 제가 승준님한테 이 질문을 드리기 위해서인데 이 세상을 앞으로 계속 이해해 나가는 데 있어서 어느 정도 깊이 알아야 된다고 생각하세요? 예를 들면 저는 이 transformer의, journey of tensor라고 할까요, 하나의 토큰이 겪는 여행 정도는 한 번은 알아봐야 지금 일어나는 뉴스를 해석할 수 있는 힘 정도는 생긴다는 생각을 하고 있는데, 그게 아니고서는 그냥 몰려다니는 것밖에 안 되거든요. ‘이거 된대, 이거 된대’라고 하면서 몰려다니면서 생각이 좀 부유하게 되는 성향이 있는 것 같아서. 이 바닥을 좀 제대로 이해하고자라고 하는 열망이 있고 이게 정말 본인의 인생에서 중요하다면 이거는 한 번은 해봐야 되지 않나라는 생각들은 하는데 승준님에게 질문을 드리면, 적어도 승준님이 방금 이야기한 이 내용들을 이해하려면 어느 정도 레벨까지는 알고 있어야 될 것 같다고, 좀 가혹하게 코멘트해 주시면 뭐라고 말씀해 주실 것 같아요?
최승준 근데 뭐 저도 잘 아는 거는 아닌데 어 근데 사실 그게 방금 질문해 주신 거가 그 말씀드리고 싶은 부분이긴 했어요. 그러니까 이런 걸 왜 어디까지 탐구하느냐 그래서 일단은 후반부에 할 얘기였었는데 이 부분이
노정석 한번 가져와서 같이 해서 얘기해 보시죠.
최승준
‘모르지만 옳은 방향으로 잘 다룰 수 있어야 하는 문제’가 있다고 봐요. 예를 들면 지금 transformer에 대한 얘기를 오늘 했다고 하면 그게 어려울 수도 있는데, 뭔가 내가 새로 배우고 싶은 것이나 해결하고 싶은 문제들이 내가 원래 알고 있지 않았던 도메인의 것이라면 — 배움은 당연히 원래 알고 있지 않은 걸 배우는 거니까 — AI를 지렛대 삼아서 모르지만 옳은 방향으로 잘 다룰 수 있어야 하는 문제, 그걸 어떻게 해낼 수 있을 것인가가 요새 제 관심사거든요. 그리고 지금 원리를 이해하는 prompting이라고 제목을 잡은 거가 prompting을 원리에 입각해서 좀 잘 하면 좀 도움이 되지 않을까라는 그런 가설이 있는데 그런 가설들이 혹시라도 직교적인 MVK 그게 MVK가 작년에 저희가 인식하게 된 용어잖아요.
Minimum Viable Knowledge가 존재할까, 직교적인 걸로. 그래서 그런 어떤 최소한의 어떤 그 직교적인 knowledge가 있으면 그거를 선형 조합해서 또는 합성 함수처럼 써서 다른 것들을 해낼 수 있는 최소한의 뭔가가 있다고 하면 그거를 내 뇌에 업데이트 시켜야 되는 거 아닌가 이런 거예요.
그래서 질문하신 거에 이제 답을 하자면 그거를 알기 위해서의 방법이 뭐가 있을까 개밥 먹기를 해봐야 된다. 완전히 모르는 거를 한 번에 하기는 어렵고 조금 어느 정도 알기도 하고 모르기도 하는 것에 대해서 이 MVK 같은 것들을 형성할 수 있는지 좀 실험을 해봐야 될 것 같다라는 거예요. 저 개인적으로는 이걸 이야기로 만들어 보기도 하고 이야기를 만든 다음에 MoE에 대한 상이 굉장히 잘 잡히고 KV cache에 대한 상도 굉장히 잘 잡혀요
노정석 맞아요. 네
최승준 그렇다면 그걸 달성하게 한 거는 무슨 knowledge예요? 이야기를 만드는 능력인가요? 그래서 저도 답이 없지만 한번 CoT를 해보는 거예요. 나 스스로를 끌어올리게 하는 거예요. 굉장히 기초적인 역량이 뭐였냐, 수학에 대한 기초적인 역량이 그래도 약간은 있었던 것 같고, 이야기 형태로 그거를 바꾸는 게 저 스스로에게 도움이 됐었거든요. 근데 이게 누구에게나 공통적인 축, 그 basis는 아닐 수 있죠. 어쨌든 그게 다양하게 있을 수 있는데, 그런 것들을 조금 알아차릴 수 있는 과정이 필요하다. 그게 무슨 맥락이 됐든.
노정석 그 두 가지 포인트에 대해서 얘기하고 싶은데 첫 번째 포인트 그래서 승준님 이 트랜스포머의 심상을 이해하기 위해서 트랜스포머의 이 아키텍처나 알고리즘이나 안에서 실제로 일어나는 일들을 어느 정도 레벨까지 알고 있어야 적어도 이러한 철학적인 사유나 아니면 세상에 대한 해석 누가 DeepSeek이 새 논문을 내놨다고 하더라도 ‘아, DeepSeek의 새 논문, 박수!’가 아니라, 저게 어떤 의미고 왜 필요한지 정도의 해석이 가능하려면 공부는 어디까지 해야 됩니까가 저의 아주 단도직입적인 질문이었는데, 그거 계속 지금 승준님이…
최승준 빙빙 돌려서 얘기했는데 여기에 답은 이미 여기다가 써놨습니다.
노정석 네 어느 정도까지 해야
최승준 학부 1,2학년 수준의 선형대수는 알아야 돼요.
노정석 오케이. 그리고?
최승준 그리고 한 번 정도 약간 토이라도 구현을 해보긴 했어야죠. 트랜스포머에 대한, 예 그게 이제 학습까지는 아니더라도 그 inference 정도라도 좀 한번 토이라도 만들어 보는 건 확실히 도움이 되죠. 뭐 학습까지 시켜봤으면 더 좋겠지만
노정석 토큰이 어떤 여행을 거치는지 정도의 감은 한 번은 돌아볼 필요가 있다. 사실 승준님이 방금 말씀하신 딱 그 정도의 커리큘럼이 Andrej Karpathy가 Eureka Labs에서 만들고 있는 커리큘럼이거든요. 그렇죠
최승준 근데 그거를 그냥 구현까지만 해봐도 음미할 수 있는 거는 안 따라올 수 있다고 저는 생각해요. 구현하고 이렇게 내가 쓸 수 있는 정도지만 그 의미까지를 알아차리는 시도는 안 하는 경우들도 저는 많다고 생각합니다. 근데 그게 꼭 필요한 건 아니고요.
노정석 그래서 저는 제가 이제 누군가가 저에게 물어볼 때 어떤 마일스톤 너가 이게 되면은 일단은 충분한 knowledge가 생긴 거니까 거기서부터는 더 깊게 논문 파지 말고 덮고 그냥 비즈니스 세계로 다시 나와도 돼라고 하는 그 분기점이 저희가 이제 트랜스포머 블록에 이걸 쫙 던질 때 던지는 어떤 그 텐서의 블록의 dimension이 그 embedding 그다음에 sequence length 그다음에 이제 batch의 숫자 이렇게 3개가 묶음이 돼 가지고 가잖아요. 그 3개가 들어가서 어떻게 쪼개지고 다시 모이는지 정도 그 dimension이 다시 풀어 헤쳐졌다 다시 만나는 것 정도까지만 계산이 되면 너 다 이해한 거다라고 그렇게 얘기하거든요.
최승준 그렇죠 근데 제가 이번에 다시 이거를 책을 사서 이제 한국어판이 12월 달에 Gilbert Strang 선형대수 6판이 나와서 저는 한국어판도 사서 보고 있는데 이게 3Blue1Brown이 트랜스포머 얘기했을 때 그 행렬과 벡터의 곱을 내적의 관점이 아니라 선형 결합의 관점으로 보는 게 중요하다는 얘기를 했었어요. 2년 전에
노정석 너무 잘 만들어진 콘텐츠죠. 그거
최승준 그거를 그런가 보다 하고서는 그때 아하가 좀 있긴 했었는데 그게 사실은 이 Strang에 의해서 2천년대 초반에 선형대수는 완전히 커리큘럼이 이게 대세가 된 거를 저는 모르고 있었어요. 저는 90년대에 배웠기 때문에 그래서 이 선형대수를 완전히 이거를 되게 예술적으로 기초를 막 정초해 놓은 거를 보고서는 깜짝 놀라서 다시 보고 있는데요.
노정석 근데 이 그림을 보다 보니까 이게 그야말로 그냥 transform이네요.
최승준 그렇죠. 근데 이게 이제 부분 내 공간을 직교적으로 표현한 건데 그게 하여튼 굉장히 탁월하게 그걸 설명을 해냈어요. 그래서 저도 다시 보면서 이제 기초를 재밌어서 보고 있기도 하지만 또 모르는 것들도 많이 발견해서 보는데 그냥 다시 아까 dense layer FFN으로 돌아가면은 이 열들의 의미가 있고 질문이 그 어떤 뭐 프롬프트 결국에는 embedding하고 어떤 weight하고 곱해지잖아요. 커다란 weight하고 그런데 그 embedding의 상태가 일종의 가중치나 질문 같은 거라고 하면은 결국에 열들의 열 벡터들에 들어있는 지식이 조합이 되는 그런 심상이 가능하거든요. 근데 그거를 깨닫고서는 이게 다 soft lookup으로 볼 수 있구나가 그때서 좀 이해가 되더라고요. 그랬을 때는 그 저희가 계속 얘기했던 오늘의 주인공 hidden state의 그 개에 들어있는 거가 어떠한 score나 뭐 가중치라고 했을 때 거기에 없는 0인 거는 열에 있는 정보를 못 끌어내요. 조합이 안 돼요. 근데 얘는 어디서 시작을 했나요? 토큰에서 시작을 했죠. 그러니까 프롬프트에 그게 결국에는 이 정보를 끌어낼 수 있는
노정석 키가 다 들어있는 거죠.
최승준 들어 있어야지 된다는 거죠. 프롬프팅을 할 때 조합이 일어나게끔 근데 모든 블록에서 그 soft lookup이 반복되는 심상이거든요. 그래서 이게 굉장히 비약이 있게 얘기하는 거긴 하지만, 라는 느낌이었어요. 연초에
노정석 저희 그 아까 말씀드리려던 첫 번째 포인트가 트랜스포머 공부를 어디까지 해야 되냐라는 게 하나였고 대충 이야기가 한번 된 것 같고 linear algebra 정도의 지식과 그다음에 트랜스포머 블록에 대해서 어느 정도 한 번 돌아가는 로직 정도나 그 안에 벡터 스페이스가 조금은 이해가 돼야 된다 정도까지가 답이었고
Minimum Viable Knowledge: 양질 전환과 ‘토큰 갈아넣기’로 도메인 확장 44:41
노정석 그다음에 두 번째가 사실 이 minimum viable knowledge 포인트인데, 저는 여기에 대한 제 나름의 개똥 철학이 하나 있어요.
최승준 뭔데요?
노정석
이게, 저는 여기에 대한 답이 사실 양질 전환이거든요. 예를 들어서 어느 재벌 회장님이 한 분 계시다고 생각해 봅시다. 이 회장님은 거의 우리 기준에서 무한의 자원을 가지고 있죠. 그러면 이분이 biology나 신약 개발에 대해서 하나도 모르는데 신약 관련 신사업을 만들고 싶어요. 그럼 어떻게 할까요?
그냥 돈의 힘으로 거기에 전문가라고 생각되는 사람들을 우르르 다 hire해서 데려온 다음에, McKinsey도 hire하고 Bain도 hire하고 해서 돈을 뿌려요. 그리고 나서 그들에게 report generation을 시킬 겁니다. Generate된 report 중에서 common keyword가 있으면 ‘아, 이게 에너지 레벨이 높은 거구나’라고 해서, common keyword만 뽑아서 다시 압축적인 보고서를 만드는 걸 비서실장한테 시킬 거죠.
그러고 나서 맨 마지막에 남겨진 report 5장 정도를 읽으며 심상을 구성하고 가장 에너지 레벨이 높은 right question들이 무언지를 알게 되면 거기서부터 출발해서 그게 방금 승준님이 말씀하신 것과 딱 연관되거든요. 그 인출할 수 있는 가장 에너지 레벨이 높은 그 key들 query들을 손에 쥔 다음에 또 다시 세상을 상대로 모든 걸 다 알고 있는 전문가 계층을 상대로 여러 가지 질문을 하면서 거기에서 오는 피드백들을 하면서 정말 빠른 속도로 그 모르는 도메인에 대한 어떤 빈 구석들과 무엇이 본질이고 무엇이 sub이고 무엇이 main인지를 갖춰 나가거든요. 근데 그러면은 그러면서 아 이거는 신사업해야 되겠다 하지 말아야 되겠다 할 거면 어느 수준까지 돈을 써야 되겠다까지가 이렇게 나오거든요. 그게 이제 minimum viable knowledge를 취득하는 그 재벌 회장님의 어떤 methodology예요. 자 그런데 거꾸로 이제 우리 현실로 돌아와 보면 우리 이제 그걸 누구나 할 수 있는 세상이 된 거잖아요. 예를 들어 제가 그 화장품을 만드는데 어떤 새 물질에 대해서 뭘 해야 되겠는데 저는 화학 지식이 깊지 않기 때문에 그 물질에 대해서 지식이 없어요.
그러면 제가 Oh-My-Opencode와 그다음에 요새 막 그 Claude Code skill 같은 거 잔뜩 묶여가지고 뭐 scientist skill 넘어오고 marketing skill 넘어오고 뭐 넘어오고 막 이런 것들 굉장히 잘 정리된 거 많잖아요. 그것들을 갖고 와 가지고 제 목적에 맞춰 가지고 어떤 skill을 고르면 될까를 라운드를 한 다음에 skill들을 거의 한 50개를 골라요. 승준님 그리고 나서 그 skill들을 딱 탑재한 다음에 걔를 그냥 Oh-My-Opencode한테 돌리고 제가 자거든요.
그러면 아까 그 회장님들이 하시던 그 methodology가 제가 그냥 어쩌면 McKinsey 컨설턴트보다 훨씬 똑똑한 프론티어 모델들 다 돌려오는 거죠. 뭐 아침에 뭐가 떨어져 있어요 report가 그러면 저는 이제 그것만 보면서 다시 가장 에너지 레벨이 높은 게 이거구나 이런 식으로 그룹핑이 됐구나라는 걸 알면서 이 MVK가 생기거든요. 근데 그게 안 생긴 상태에서 무언가 모델한테 가서 Gemini한테 Deep Research를 하건 뭘 하건 간에 돌려봤자 아무것도 안 나오더라고요. 그래서 이게 승준님이 지난 시간 얘기하셨던 거랑 저는 거기서 약간 또 램프가 탁 켜졌거든요. 맞네. 정확하게, 제가 2주 사이에 승준님이 저한테 ‘그 도메인에 대한 term들을, 복잡한 것들을 왕창 밀어 넣으면 모델의 capability가 훨씬 증가한다’라는 거 가지고 실험을 한 건데, 잘하더라고요.
그러면서 이제 회장님 심상과 제가 예전에 Google에서 검색 관련한 일을 하면서 느꼈던 그 양질 전환의 경험들이 굉장히 많이 있었거든요. 쓰레기들이 잔뜩 있는데, 그 쓰레기들도 일단 양이 많으면 어떻게 추릴까 고민만 조금 하면 언제나 quality가 꺼내진다. 나중에 그런 작업들을 계속 반복하다 보니까, quality는 언제나 quantity의 부속 변수였구나라는 생각이 들어서 이 minimum viable knowledge가 그런 식으로 만들어지고
그런 식으로 지금 우리가 의지만 있다면 도메인 확장을 끊임없이 이뤄낼 수 있는 그런 시기에 살고 있기 때문에 지금 중요한 거는 제가 저희 그 어디 도망자 연합 단톡방도 그렇고 요새 또 한 번 승준님과 제가 느끼는 게 세상이 한 번 새해가 되면서 또 한 번 살짝 딸깍했다라는 느낌, 얘기를 좀 하잖아요. ‘애들이 다 미쳤다’ 이런 얘기하시면서, 모두가 다 이 방법론을 차용하면서.
최승준 그게 아까 초반에 얘기했던 이거죠.
노정석 네, 토큰 갈아대기를 하고 있거든요. 근데 저는 그게 답이라고 생각하고 있죠. 토큰을 갈아대는 게 어마어마한 의미가 있는 일이다.
최승준 그렇죠 그거를 많이 해봐야 결국에는 내 나의 뇌에 그거를 하는 회로가 들어서게 되긴 하거든요.
노정석 그러니까 그 harness라는 것들도 이미 의미가 있고 그 harness를 잘 다루고 쓰는 거 그리고 harness를 잘 다루기 위해서 모델들이 어떻게 조합돼야 되는지에 대해서 심상을 떠올리시는 분들을 보면
최승준 뭐 많이 해봤을 거예요. 그게 결국에는 머릿속에 들어와야 되고 그 방법론이나 그게 이제 약간 체화되는 경험이 되어야 하는데 하여튼 일단 그거는 뭐 중요한 말씀을 해 주셨다고 보고요. 저도 굉장히 공감합니다. 연습을 많이 해야 되는 거는 너무 당연하고 제가 아까 게임 얘기 잠깐 했었잖아요. 이거 산으로 갈 수도 있지만 빠르게 하면 그 게임이 너무 예술품 같아서 재미있게 했어요. 근데 어느 공간에 굉장히 어렵거든요. 한 150번에서 200번 정도 도전을 해서 결국 하긴 했는데 그거를 하려면은 근육 기억이 만들어져야 그게 한 일주일 쉬고서는 다시 못하는데 물론 회복은 할 수 있지만 그거를 할 수 있다라는 생각과 이미 한 사람이 있기도 하고 그거를 이제 반복해 가지고 내가 그거를 완전히 내 걸로 만드는 작업이 있어야지 통과하는 구간들이 게임에 있더라고요. 그래서 비슷한 생각을 하긴 했었어요. 어 이거는 한 최소 100번 해 보는 거
노정석 네 RLVR의 구간이네요.
최승준 그렇죠, 중요한 것 같아요. 그리고 제가 오늘 전달하고 싶었던 핵심 심상은, 여러 번 소개해 드렸던 프롬프팅 태도에서 ‘천 번째 생성도 첫 번째 생성을 본 것처럼 감탄하는 것’에 대한 얘기를 한 번 더 하고 싶었어요. 사실 지금은 abundant, 풍요, 누구나 하는 거긴 한데, 한 토큰 생성하는 거가 사실은 경이로운 일일 수 있다. 그리고 거기에 많은 의미들이 있는 것 같다. 그리고 조금 전에 정석님이 하신 말씀의 주인공을 토큰으로 해도 몇 개는 통하거든요. 여러 개를 보고 생각하고 세우고 고르고 이런 것들이 있어서 한번 얘기를 해 봤고요.
2/6~2/7 문래동 행사 소개와 프롬프트 공유, 마무리 51:53
최승준 이제 시간이 많이 지나서 마무리를 해야 될 것 같은데 2월 6일하고 2월 7일에 저의 요새 최근에 갈고닦은 프롬프트들을 소개하는 그런데 저만 하는 게 아니라 이 AI에 대해서 좀 얘기하고 싶은 사람들이 미래가 울퉁불퉁하다 그게 고르지 않은 미래인데 이게 선택하지 않은 미래일 수도 있다. 그래서 이제 여기는 미디어 아티스트들이 같이 좀 얘기를 해보는 그런 거를 준비하고 있거든요. 그래서 약간 광고도 해봤습니다. 문래동에서 2026년 2월 6일, 7일인데, 아직 신청 폼이 만들어지지는 않았어서요. 일단 이 정도 소개해 드리고요.
그래서 거기에서 이렇게 요새 만들어 보고 있는 프롬프트들 그런 것들을 조금 소개를 했는데요. 한번 관심 있으신 분들은 여기 살펴보시면 제가 요새 고민했던 것들을 압축해서 넣어 놓은 그런 건데 그래도 약간만 짚자면 이런 것들이 한두 문장 넣으면 한 네 페이지 정도 읽을 거리로 팽창시켜 줘요.
그래서 저는 약간 제 지론일 수도 있는데 요약보다 더 길게 읽는 거를 선호하거든요. 딱 줄여서 얘기하기보다는 줄여져 있는 거를 팽창해 가지고 있는 접근으로 이런 프롬프트를 만들어 내가 공부하고 싶은 것들을 전체 문서를 넣는 게 아니라 한 문단 정도를 요 프롬프트에 넣으면 흥미로운 얘기들이 막 생성이 되는 걸 살펴보시죠. 그래서 한번 제가 자료를 공유해 놓을 테니 보시면 좋을 것 같습니다. 그래서 여기까지 준비를 해봤고요. 오늘은 이 정도로 마무리하도록 하겠습니다.
노정석 저희가 언제 3Blue1Brown 트랜스포머 영상을 보면서 한번 같이 따라가 보는 것도 이 시리즈에 딱 연결되는 좋은 시도가 아닐까라는 생각이 드네요.
최승준 여전히 봐도 통하는 얘기이기 때문에
노정석 어쨌건 지난주에 이어서 이번 주도 승준님의 토큰 이야기 두 번째 세션 정도로 마무리하겠습니다. 오늘도 즐거운 시간이었습니다. 감사합니다, 승준님.