어려운 것을 쉽게 익히는 방법
어려운 개념을 처음 마주치면, 대부분 정의부터 읽는다.
내가 MoE (Mixture of Experts)에 대해 이해한 것을 예시로 살펴보자.
"MoE는 Mixture of Experts의 약자로, 여러 전문가 네트워크(Expert Network)를 구성하고, 라우터(Router)가 입력 토큰에 따라 적합한 전문가를 선택하는 구조입니다."
이걸 읽으면 다음 질문이 자동으로 생긴다. "전문가 네트워크가 뭐지?" → 링크를 열고. "라우터는?" → 또 링크를 열고. "토큰 임베딩은?" → 또...
돌아와서 처음 문장을 다시 읽으면, 아무것도 기억나지 않는다. 정의를 쫓아가다 보면 처음에 왜 이걸 배우려 했는지를 잃어버린다.
정의가 아니라, Why를 중심으로 질문을 바꾸면?
LLM에게 "MoE 설명해줘"라고 물으면, 대체로 이런 답이 온다.
"MoE는 토큰 임베딩 전체 차원 중 일부만 선택해 FFN을 적용합니다. 라우터가 토큰 벡터를 분석하여 가장 적합한 전문가에게 연산을 할당하고..."
정확하다. 하지만 이미 MoE를 이해한 사람이 읽어야 와닿는 설명이다. 모르는 사람에게는 낯선 단어들의 나열일 뿐이다.
질문을 이렇게 바꾸면 어떻게 될까.
"파라미터가 많다고 모델의 성능이 좋을까?" 라는 의문에서 이야기를 풀듯이 말해줘
핵심은 내가 이미 아는 것—애매하게라도, 어렴풋이 들어본 적 있는 것이라도—에서 의문을 만드는 것이다.
받게 되는 설명이 달라진다
위 방식으로 받은 설명은 이렇게 시작한다.
"파라미터가 많으면 좋은 모델이다 — 맞는 말일까?
절반만 맞다. 파라미터는 모델이 세상의 패턴을 저장하는 공간이다. 공간이 넓을수록 더 많은 것을 기억하고, 더 미묘한 관계를 포착할 수 있다. 그래서 7B보다 70B가, 70B보다 700B가 일반적으로 더 똑똑하다. 하지만 여기서 문제가 생긴다.
파라미터를 두 배로 늘리면 메모리도 두 배, 연산량도 두 배가 된다. 70B 모델이 토큰 하나를 생성할 때, 7B 모델보다 약 10배 더 많은 행렬 곱셈을 한다. '더 좋은 모델을 쓰려면 더 비싼 하드웨어, 더 느린 속도를 감수해라'가 된다.
그러면 자연스러운 질문이 따라온다. '근데 파라미터를 항상 다 써야 하나?'"
이 설명은 한 번에 읽힌다. Dense 모델을 어렴풋이라도 알고 있다면 — 그 맥락 위에서 MoE가 왜 나왔는지가 보인다. 링크를 따라가지 않아도, 정의를 암기하지 않아도.
실 사례
다음은 인풋을 만드는 방식이다. 내 머릿속에 있는 제한적인 개념에서 벗어나, 인풋을 오히려 LLM이 만들도록 하는 방식이다.


정의를 모른다고 막힐 필요 없다
어려운 것을 익힐 때 가장 흔한 실수는 **"모든 용어를 다 알고 나서 이해하려는 것"**이다.
용어는 맥락이 생긴 다음에 붙는 이름표다. 맥락 없이 이름표만 모으면, 이해가 아니라 암기가 된다.
나에게 의미 있는 출발점은 항상 내가 가진 의문이었다. MoE의 경우엔 "더 큰 모델을 더 저렴하게 쓰는 방법이 있을까?"였고, 그 질문이 생기자 나머지는 따라왔다. Dense 모델의 낭비 → 전문가를 골라 쓴다 → 라우터가 필요하다 → 그 선택도 학습된다.
정의를 암기하려 하지 않았다. 이유가 보이자, 정의는 자연스럽게 따라왔다.