소비자용 GPU 한 대(RTX 4090, 24GB)에서 "끝없이 깊게 생각하고, 평생 배우는 AI"를 만들기 위한 연속 연구 — CTS, System 1.5, System 2.5, System 3. 한 시스템이 벽을 부수면 새로운 벽이 드러나고, 다음 시스템이 그 벽을 다시 부수는 도미노 사슬을 수식과 작동 원리까지 차근차근 풀어 봅니다.
사람이 어려운 문제를 풀 때, 여러 갈래의 풀이를 머릿속에서 나무(tree)처럼 펼쳐 보고 가장 좋은 길을 고릅니다. 이게 몬테카를로 트리 탐색(MCTS)이에요. 그런데 트랜스포머로 이걸 하면, 탐색한 모든 가지마다 중간 계산 결과(KV-캐시)를 통째로 들고 있어야 합니다.
CTS는 트리의 각 칸으로 넘어가는 계산을, 캐시를 쌓는 대신 DEQ 고정점 풀이로 바꿉니다. DEQ는 답을 "한 점으로 수렴시키는" 방식이라, 깊이가 아무리 깊어져도 한 칸당 메모리가 일정(O(1))합니다.
메타-정책(ν): 탐색의 4가지 손잡이(탐색 강도·솔버 허용오차·라우팅 온도·정지 임계값)를 상황마다 자동으로 조절해, 정확도와 속도의 균형을 재학습 없이 맞춥니다.
FAISS 의미적 조상 검색: 트리는 들쭉날쭉 탐색하므로, "시간상 가까운 조상"이 아니라 "의미상 비슷한 조상"을 찾아와야 합니다. 이를 압축 색인으로 99MB 이내에서 처리해, 추론 깊이와 문맥 길이를 분리합니다.
공간(메모리) 문제는 풀었지만, 시간(속도)이라는 새 벽이 드러납니다. DEQ는 답 하나를 찾으려고 Broyden 솔버로 매번 50~100번 반복해야 합니다.
게다가 O(1) 약속은 탐색 단계에만 해당합니다. 최종 답을 글로 풀어내는 디코딩에는 여전히 $O(L)$ KV-캐시가 필요(≤18GB)하고, 가지 수 $W$가 늘면 메모리도 선형으로 늘어납니다. "느림"이라는 이 한계가 다음 도미노를 쓰러뜨립니다.
Fast-Weight Programmer(FWP)는 수렴된 고정점 $z^*$를 가벼운 하이퍼네트워크로 받아, 작은 가중치 오버레이로 압축합니다.
비슷한 후속 질문이 오면, 50단계 솔버를 통째로 건너뛰고 메모($\Delta W$)를 얹은 채 단 1단계(O(1))로 답합니다. 이게 문맥 독립적 디코딩(Context-Free Decoding)이에요.
금융용 메모를 의료 질문에 잘못 쓰면 자신만만한 헛소리(hallucination)를 합니다. 그래서 대조 라우터가 질문이 메모 주제와 비슷한지 코사인 유사도로 잽니다.
$\Delta W$는 그 세션에서만 유효한 단기 기억(해마 비유)입니다. 배포 뒤 끊임없이 바뀌는 환경(매년 바뀌는 금융 법규 등)을 평생 학습으로 장기 기억화하려 하면, 두 가지 치명적 모순이 터집니다.
CaLoRA·InfLoRA 같은 최신 망각 방지 기법은 기울기를 SVD로 분해합니다. 그런데 DEQ에서 이걸 하려면 역야코비안을 강제로 펼쳐야(unrolling) 해서 메모리가 폭발합니다.
유연함(가소성)을 주입하는 최신 기법 FIRE는 가중치를 등거리($\lVert W\rVert_2=1$)로 맞춥니다. 그러면 $L=1$이 되어 DEQ의 필수 조건 $L<1$이 깨지고, 출력이 수렴 못 하고 NaN으로 발산합니다.
옛 과목에 중요했던 파라미터에 빨간 자물쇠를 채워 새 공부가 함부로 못 건드리게 하는 게 EWC입니다. "얼마나 중요한가" 점수가 Fisher 정보(FIM)예요.
문제는 DEQ에서 이 중요도를 보통 방식으로 구하면 언롤링으로 메모리가 터진다는 것. FP-EWC는 IFT를 점수함수에 직접 적용해, 고정점에서 곧장 선형계를 푸는 방식으로 우회합니다.
오래 공부하면 머리가 굳습니다(가소성 상실). FIRE는 가중치를 등거리($\lVert W\rVert_2=1$)로 만들어 모든 방향으로 똑같이 늘려 유연함을 살리지만, 이는 $L=1$ → 발산을 부릅니다. C-FIRE는 목표를 살짝 낮춰 $\gamma$-등거리성으로 바꿉니다.
• $\gamma<1$ → 앞으로 가는 길(forward)이 수렴함. (제자리 무한반복 방지 — 잘 이해하신 부분)
• $\kappa\le 19$ → 뒤로 가는 길(backward, 기울기 계산)이 안정적임. (여기에 따라오는 보너스)
DEQ는 학습할 때 기울기를 구하려고 $(I-J)^{-1}$, 즉 행렬을 거꾸로 푸는 계산을 합니다. 조건수 $\kappa$는 "이 거꾸로 풀기가 얼마나 까다로운가"를 재는 숫자예요.
결론: "$\gamma=0.9$ 때문에 $\kappa\le19$가 된 것"이 맞습니다. $\gamma=0.9$라는 한 번의 선택이 forward 수렴($L=0.9<1$)과 backward 기울기 안정($\kappa\le19$)을 동시에 보장합니다.
안정적인 평생학습이 가능해졌지만, System 2.5는 근본적으로 단 하나의 공유 가중치 행렬 $W\in\mathbb{R}^{d\times d}$라는 "물리적 그릇" 안에 갇혀 있습니다.
다만 DEQ에 평범한 MoE를 그냥 붙이면 두 가지가 망가집니다. ① 라우팅이 수축성을 깨고, ② 자는(비활성) 전문가의 중요도를 못 구합니다. System 3은 세 장치로 해결합니다.
라우터가 "지금 생각 중인 상태 $z$"를 보고 공책을 고르면 야코비안이 엉켜 수축성이 깨집니다. 그래서 라우터가 오직 입력 질문 $x$만 보고 고르게 설계합니다.
top-k 라우팅에선 질문마다 일부 전문가만 깨어 있어, 자는 전문가는 기울기가 0이라 보통 방식으로 중요도(FIM)를 재면 망가집니다. 해결책은 각 전문가가 실제로 맡은 질문들에 한정해서만 조건부 FIM을 계산하는 것.
새 질문이 기존 어떤 전문가와도 별로 안 비슷하면, "완전히 새로운 분야"라 보고 새 공책을 한 권 더 만듭니다(C-FIRE로 초기화해 수축성 보장).
한 전문가는 자기 도메인만 다루므로 풀이 지형이 단순해집니다. 활성 전문가의 야코비안 스펙트럼 반경이 $\rho(J_i)\approx0.4$로 떨어져(단일 모델은 0.85), 더 강한 수축 → 수렴 반복이 18 → 9.5회로 줄어듭니다.
활성 메모리는 전문가가 늘어도 평탄하게 유지되지만, 파라미터 저장 공간은 전문가 수에 비례해 늘어납니다.
이로써 깊이(CTS) → 속도(1.5) → 안정(2.5) → 용량(3)의 도미노가 완성되어, 단일 소비자 GPU 위의 "무한 추론 · 평생 학습 AI"라는 목표에 한 걸음 더 다가섭니다.
네 시스템에 등장한 핵심 용어를 시스템별로 묶어 쉬운 말로 정리했습니다.