사고 패치(Thought Patching): 프롬프트를 가중치로 바꾸는 모델 편집에 대한 연구 (feat. Google)

프롬프트를 가중치로 바꾸는 사고 패치(Thought Patching) 연구 소개

시스템 프롬프트에 정성껏 적어둔 지시문은 대화가 끝나면 사라집니다. 같은 지시를 다음 요청에도 적용하려면 매번 같은 토큰을 다시 입력하고, 그만큼의 어텐션 연산 비용을 다시 지불해야 합니다. Google Research의 이번 논문 Transmuting prompts into weights 는 이 문제를 풀기 위해, 프롬프트가 모델 내부에 일으키는 효과를 사고 벡터(thought vector)와 사고 행렬(thought matrix) 이라는 토큰 독립적인 가중치 업데이트로 압축해 모델에 영구적으로 새겨 넣는 사고 패치(Thought Patching) 알고리즘을 제안합니다. 마치 연금술사가 글로 적힌 주문을 금속에 새겨진 각인으로 바꾸듯, 휘발성 텍스트를 영구적인 파라미터로 변환(transmute)하는 것입니다.

이 연구가 흥미로운 이유는 단순히 새로운 모델 편집 기법 하나를 추가해서가 아닙니다. 그동안 경험적 휴리스틱으로만 쓰여 온 활성화 스티어링(activation steering)모델 편집(model editing) 이라는 두 갈래의 기법이 작동하는지를 트랜스포머 아키텍처의 수학적 구조로부터 직접 유도해 보여주기 때문입니다. 저자들은 대조 프롬프트의 활성화 평균을 내는 관행이 사실 최적 사고 벡터의 최소제곱 근사와 동치이고, 저랭크(low-rank) 가중치 편집이 랭크-1 업데이트의 합으로 자연스럽게 유도된다는 것을 증명합니다.

추론 시점 모델 제어의 두 갈래와 각각의 한계

최근 대형 언어 모델(LLM)의 행동을 추가 학습 없이 추론 시점에 제어하는 연구가 활발합니다. 크게 두 가지 계열이 자리잡았습니다.

첫 번째는 활성화 스티어링 입니다. Subramani et al. 의 잠재 스티어링 벡터 추출과 Turner et al. 의 활성화 엔지니어링(activation engineering)이 대표적으로, 트랜스포머 블록의 잔차 스트림(residual stream)에 "스티어링 벡터"를 더해 모델의 행동을 조정합니다. 이 벡터는 보통 "긍정" 프롬프트 집합과 "부정" 프롬프트 집합에 대한 평균 활성화의 차이로 구하는데, 이 방식은 task vector, function vector, 모델의 성격 특성을 제어하는 persona vector까지 폭넓게 확장되었습니다. Anthropic이 Claude 3 Sonnet의 내부 특징을 추출해 "Golden Gate Claude"를 만든 실험도 같은 계열입니다. 하지만 왜 단순 평균이 효과적인지에 대한 이론적 근거는 없었습니다. 대조 평균 방식이 벡터 계열 기법 중에서는 비교적 신뢰할 만하다는 벤치마크 결과가 있는 반면, 벡터 기반 스티어링 전반의 성능이 항상 안정적이지는 않다는 보고도 이어졌고, 벡터 덧셈만으로는 지시문 효과의 불완전한 표현 일 수 있다는 지적이 나왔습니다.

두 번째는 모델 편집 입니다. ROMEMEND 처럼 가중치 행렬에 표적화된 저랭크 업데이트를 가해 모델이 저장한 지식을 영구적으로 수정하는 기법들입니다. 이 계열은 피드포워드 층(FFN)이 키-값 메모리처럼 사실 정보를 저장한다는 가설에 기반하지만, 역시 "왜 하필 저랭크 업데이트인가"는 경험적 발견에 가까웠습니다. 최근에는 두 갈래를 잇는 시도도 등장했습니다. PISCES 는 희소 오토인코더(SAE)로 찾은 개념 방향을 FFN 파라미터에서 직접 제거하고, Private Memorization Editing 은 FFN을 표적 삼아 암기된 개인정보를 잊게 만듭니다. 프롬프트가 담는 의미가 가중치의 특정 위치에 대응한다는 정황이 여러 곳에서 쌓이고 있었던 셈입니다.

요약하면, 두 계열 모두 강력하지만 트랜스포머 아키텍처에 뿌리를 둔 통일된 이론적 정당화가 없는 상태였습니다. 어떤 형태의 개입이 원리적으로 올바른지 모른 채, 잘 되는 휴리스틱을 쌓아 온 셈입니다.

이 연구의 발상 전환: 프롬프트는 이미 암묵적인 가중치 업데이트다

이 논문의 출발점은 같은 Google Research 팀의 선행 연구인 Dherin et al. (2025) 입니다. 해당 연구는 표준 트랜스포머 블록에서 프롬프트 안의 컨텍스트 청크가 만들어내는 계산 효과를, 피드포워드 가중치에 가하는 토큰 의존적인 랭크-1 업데이트로 완벽하게 재현할 수 있다 는 사실을 증명했습니다. 즉, 인-컨텍스트 학습(In-Context Learning)은 겉보기에 가중치를 건드리지 않는 것 같지만, 수학적으로는 매 토큰마다 가중치를 암묵적으로 갱신하는 것과 동치라는 발견입니다. 이는 트랜스포머가 인-컨텍스트 학습에서 경사 하강을 암묵적으로 수행한다는 일련의 이론 연구와도 맞닿아 있습니다.

다만 선행 연구의 "토큰 패치"는 트랜스포머의 내부 학습 동역학을 들여다보는 분석 도구에 가까웠습니다. 모든 토큰마다 패치를 다시 계산해야 하므로, 한 번 구해서 저장해두고 재사용할 수 없었기 때문입니다. 선행 연구도 토큰별 업데이트를 최소제곱으로 합친 정적인 "thought patch" 개념을 제시하긴 했지만, 단순한 선형 회귀 태스크에서 프롬프트 압축이 가능하다는 개념 증명(proof-of-concept)에 머물렀습니다.

이번 논문은 이 맹아적 아이디어를 본격적인 모델 편집 알고리즘으로 격상시킵니다. 토큰마다 달라지는 일시적 패치들을 토큰 독립적인 사고 벡터 \delta(I) 와 사고 행렬 \Delta(I) 로 응축하는 방법을 원리적으로 유도하고, RMSNorm과 게이팅이 들어간 Gemma 같은 현대적 비선형 아키텍처에서 작동하는 실용적 알고리즘으로 만들었습니다. 선형화된 어텐션(linearized attention)에서 인-컨텍스트 학습을 가중치로 정확히 변환하는 선행 시도가 있었지만 아키텍처 수정이 필요했던 것과 달리, 표준 트랜스포머를 있는 그대로 다루는 첫 원리적(first-principles) 전략이라는 점이 차별점입니다. 실험에서는 단 10 개의 예시만으로 산술 지시문을 가중치에 새겨 전체 프롬프트와 동일한 100\% 정확도를 달성했습니다.

프롬프트를 사고 패치로 바꾸는 수학적 기초

방법론을 이해하려면 먼저 선행 연구의 토큰 패치 정리를 알아야 합니다. 프롬프트 C = [I, x_1, \dots, x_n] 이 지시문 청크 I 와 입력 토큰들 x_1, \dots, x_n 으로 이루어져 있다고 합시다. 선행 연구는 지시문 I 를 제거한 짧은 프롬프트 C \backslash I = [x_1, \dots, x_n] 위에서도, 트랜스포머 블록 내 피드포워드(MLP)의 첫 층 가중치 행렬과 마지막 층 편향(bias)에 다음과 같은 토큰 의존적 업데이트를 가하면 I 의 계산 효과를 완벽하게 재현할 수 있음을 증명했습니다.

b_x(I) = \tilde{b} + \delta_x(I), \qquad W_x(I) = W + \Delta_x(I)

여기서 \delta_x(I) = A(C, x) - A(C \backslash I, x) 는 지시문이 있을 때와 없을 때의 어텐션 출력 차이이고, \Delta_x(I) = \frac{W \delta_x(I) a_x^T}{\|a_x\|^2} 는 그 차이를 가중치 공간으로 옮긴 랭크-1 행렬입니다(a_x 는 지시문이 없을 때의 어텐션 출력). 문제는 이 패치들이 토큰 x 마다 달라서 저장해 재사용할 수 없다는 점입니다.

사고 벡터: 대조 활성화 평균의 수학적 정당화

저자들의 첫 번째 기여는, 여러 토큰 패치를 가장 잘 근사하는 단 하나의 토큰 독립적 사고 벡터를 찾는 것입니다. 개별 토큰 벡터 \delta_i 들에 대한 제곱 오차를 최소화하는 해는 놀랍도록 단순한 형태, 즉 평균으로 떨어집니다.

\delta(I) := \frac{1}{n}\sum_{i=1}^{n}\delta_i = \frac{1}{n}\sum_{i=1}^{n}\big(A(C, x_i) - A(C \backslash I, x_i)\big)

이 결과가 의미하는 바는 큽니다. 활성화 엔지니어링에서 표준 관행처럼 쓰여 온 "대조 프롬프트들의 활성화를 평균 내서 스티어링 벡터를 만든다" 는 휴리스틱이, 사실은 최적 사고 벡터에 대한 최소제곱 근사였다는 수학적 정당화가 처음으로 주어진 것입니다. 마치 요리사들이 경험으로 터득한 조리법이 알고 보니 화학적으로 최적의 반응 조건이었다는 사실이 뒤늦게 밝혀진 것과 같습니다.

사고 행렬: 저랭크 모델 편집이 자연스럽게 유도된다

벡터만으로는 지시문의 효과를 다 담지 못할 수 있습니다. 두 번째 기여는 가중치 행렬에 가할 토큰 독립적 사고 행렬 \Delta(I) 의 유도입니다. 저자들은 모든 예시에 걸쳐 토큰 패치 방정식의 오차를 최소화하는 문제를 풀어, 다음 정리(Theorem 2.1)를 증명합니다.

n 개의 벡터 a_1, \dots, a_n 으로 행렬 Z = \sum_{i=1}^{n} a_i a_i^T 를 만들 때, 최소화 문제 \Delta(I) = \mathrm{argmin}_M \sum_{i=1}^{n} \|M a_i - W \delta_i\|^2Z 가 가역(invertible)일 때, 그리고 그때에만 유일한 해를 가지며 그 해는 다음과 같습니다.

\Delta(I) = \left(\sum_{i=1}^{n} W \delta_i a_i^T\right) Z^{-1}

각 항 \delta_i a_i^T 가 외적(outer product), 즉 랭크-1 행렬이므로, 최적의 사고 행렬은 랭크-1 업데이트들의 합으로 자연스럽게 떠오릅니다. ROME 같은 저랭크 모델 편집 기법이 효과적이었던 이유가 트랜스포머의 계산 구조 자체에 내재해 있었다는 설명입니다. 부록에는 Z 의 가역성이 성립하는 조건들(벡터들이 전체 공간을 생성할 때, 정규 직교 기저일 때, 구면 분포에서 충분히 샘플링되었을 때 등)과 가역이 아닐 때의 근사 해법까지 정리되어 있습니다 (상세한 증명은 논문의 Appendix D와 E를 참고해주세요).

사고 패치 알고리즘 (Thought Patching Algorithm)

이론이 마련되었으니, 이제 실제로 지시문 I 를 모델 가중치에 새기는 절차를 살펴보겠습니다. 핵심 직관은 날 것의 입력 x 를 처리하는 모델의 내부 표현을, 지시문이 붙은 입력 [I, x] 를 처리하는 모델의 내부 표현에 정렬(align)시킨다 는 것입니다.

두 번의 순전파: 컨텍스트 패스와 비컨텍스트 패스

지시문 I 와 호환되는 태스크 완성 예시 데이터셋 \mathcal{D} 에 대해, 예시마다 두 번의 순전파(forward pass)를 수행합니다.

  1. 컨텍스트 패스 (목표값): 원본 모델에 전체 프롬프트 [I, x_1, \dots, x_n] 을 넣어 실행합니다. 이때 모든 층 l 에서 "정답" 어텐션 출력 A_l 을 수집합니다.
  2. 비컨텍스트 패스 (근사값): 현재까지 패치된 가중치를 사용하는 모델에 지시문을 뺀 입력 [x_1, \dots, x_n] 만 넣어 실행하고, 어텐션 출력 a_l 을 수집합니다.

각 층에서 두 패스의 불일치 dz_l = A_l - a_l 을 계산하면, 사고 벡터 업데이트 db_l 은 이 불일치들의 평균으로, 사고 행렬 업데이트 dW_l 은 위 정리의 최소제곱 문제를 풀어 구합니다. 한 가지 짚어둘 디테일은, 두 패스 모두에 모델이 생성할 응답(answer)까지 포함시킨다는 점입니다. 지시문이 있을 때와 없을 때 완전히 동일한 토큰 시퀀스 를 어떻게 다르게 처리하는지를 정렬해야 패치가 정확해지기 때문입니다. 실제 프롬프트는 Gemma의 채팅 템플릿으로 감싸 구성하며, 두 패스의 차이는 컨텍스트(지시문) 유무뿐입니다.

# 컨텍스트 패스 (목표값)
<start_of_turn>user
{context}{completion}<end_of_turn>
<start_of_turn>model
{answer}<end_of_turn>

# 비컨텍스트 패스 (근사값)
<start_of_turn>user
{completion}<end_of_turn>
<start_of_turn>model
{answer}<end_of_turn>

비컨텍스트 패스가 "원본 가중치"가 아니라 "현재까지 패치된 가중치"로 실행된다는 점도 중요합니다. 패치가 누적될수록 두 패스의 차이가 줄어들고, 알고리즘은 점진적으로 수렴해 갑니다. 경사 하강법이 손실 지형을 따라 내려가듯, 사고 패치는 "지시문이 있는 모델"이라는 목표 지점을 향해 가중치를 층별로 끌어당기는 셈입니다.

안정화를 위한 세 가지 장치: 배칭, 학습률, 정규화

날 것의 패치를 그대로 적용하면 업데이트가 불안정해질 수 있습니다. 저자들은 일반적인 딥러닝 학습에서 익숙한 세 가지 장치를 도입합니다.

  • 배칭(Batching): 완성 예시 하나가 아니라 배치 \mathcal{B} = \{[I, x^{(k)}]\}_{k=1}^{B} 에 대해 어텐션 값을 모아(pool) 추정 분산을 줄입니다. 최소제곱 최적화도 이 풀링된 텐서 위에서 한 번에 수행합니다.
  • 학습률(Learning Rate): 패치를 한 번에 적용하지 않고 스텝 크기 \eta 로 스케일해 점진적으로 새깁니다: W_l^{\textrm{patched}} \leftarrow W_l^{\textrm{patched}} + \eta \cdot dW_l
  • 정규화(Regularization): 사고 행렬이 특정 배치의 완성 예시에 과적합하지 않도록, 추정 단계에 강도 \rhoL_2 정규화(릿지 회귀)를 추가합니다. 정규화 항은 위 정리에서 Z 가 가역이 아닐 때 해가 유일하지 않게 되는 문제도 함께 완화해 줍니다.

이 세 장치 덕분에 알고리즘은 다양한 프롬프트에 걸쳐 일반화할 수 있는 형태가 됩니다. 흥미로운 점은 이 절차 전체에 역전파(backpropagation)가 등장하지 않는다는 것입니다. 필요한 것은 순전파 두 번과 층별 최소제곱 풀이뿐입니다.

Gemma 3 적용을 위한 아키텍처 적응

이론은 바닐라 트랜스포머 블록을 가정하지만, 실제 검증 대상인 Gemma 3 1B 는 구조가 다릅니다. 저자들은 Goldwaser et al. (2025) 의 기법을 따라 세 가지 적응을 가합니다.

첫째, RMSNorm 위치 보정입니다. 표준 트랜스포머에서는 MLP 입력이 어텐션 출력 그 자체이지만, Gemma는 MLP 앞에 RMSNorm이 끼어 있습니다. 따라서 사고 행렬을 추정할 때는 정규화를 거친 활성화 \hat{a}_l = \mathrm{RMSNorm}(z_l) 를 입력으로 사용해야 합니다.

둘째, 게이트 분리입니다. Gemma의 MLP 첫 층은 Gated GeLU 구조라 상향 투영 W_{\textrm{up}} 과 게이팅 투영 W_{\textrm{gate}} 두 갈래로 나뉩니다. 단일 사고 행렬 최적화 문제를 두 행렬 각각에 대한 독립적인 릿지 회귀 두 개로 분리(decouple)해 풉니다.

셋째, 사고 벡터를 W_{\textrm{down}} 에 흡수합니다. 이론은 편향 이동 b^{\textrm{patched}} = b + \delta(I) 를 예측하지만, Gemma의 MLP 출력층에는 편향 파라미터가 아예 없습니다. 새 편향 텐서를 삽입하는 구조 변경 대신, 정규화 스케일을 반영한 목표 활성화 d_l^{\textrm{goal}} = (\delta(I) \oslash s_l) + d_l^C - d_l 를 만들고, 모델이 불안정해지지 않도록 방향은 유지하되 크기는 실제 컨텍스트 활성화에 맞춘 \hat{d}_l^{\textrm{goal}} = \frac{\|d_l^C\|_2}{\|d_l^{\textrm{goal}}\|_2} \cdot d_l^{\textrm{goal}} 로 정규화한 뒤, 하향 투영 행렬 W_{\textrm{down}} 에 대한 최소제곱 문제를 풀어 편향 효과를 가중치 안으로 흡수시킵니다. RMSNorm의 스케일 파라미터 s_l 자체는 갱신하지 않아도 충분하다는 것을 경험적으로 확인했습니다.

이 부분은 이 논문의 실용적 가치가 잘 드러나는 대목입니다. 깔끔한 이론과 지저분한 실제 아키텍처 사이의 간극을 메우는 변환 절차가 명시적으로 문서화되어 있어서, RMSNorm과 게이팅을 쓰는 다른 현대 모델(Llama, Qwen 등)에 응용할 때의 청사진이 됩니다.

실험 결과: 예시 10개로 지시문을 가중치에 새기다

그렇다면 실제로 얼마나 잘 작동할까요? 모든 실험은 Gemma 3 1B Instruction Tuned 모델로 수행되었으며, 비교 구도는 일관되게 "지시문을 포함한 원본 모델""지시문 없이 패치만 적용된 모델" 입니다.

산술 지시문: 완벽한 동치

"숫자들을 곱하라" 또는 "숫자들을 더하라"라는 지시문을 한 자리 정수 3개에 적용하는 태스크입니다. 태스크당 10 개의 완성 예시, 학습률 \eta = 0.1, 배치 크기 1, 정규화 없음(\rho = 0)으로 패치를 구성했고, 10 스텝 만에 수렴했습니다.

태스크 원본 모델 + 지시문 (정확도) 패치 모델, 지시문 없음 (정확도)
숫자 곱하기 (예: 3, 4, 7 → 84) 100 \pm 0.0 100 \pm 0.0
숫자 더하기 (예: 3, 4, 7 → 14) 100 \pm 0.0 100 \pm 0.0

지시문 없이도 패치된 모델이 전체 프롬프트를 사용한 모델과 완벽하게 동일한 성능 을 보였습니다. 매 스텝 무작위로 새로 생성한 20 개의 보류(held-out) 예시로 검증했으며, 5 개의 랜덤 시드 모두에서 100\% 의 최고 검증 정확도를 기록했습니다.

해독(Detoxification): 의미론적 스티어링도 가능

단순 산술을 넘어, 의미론적 변환이 필요한 과제에서도 작동하는지 확인하기 위해 ParaDetox 데이터셋으로 문장 해독 실험을 수행했습니다. 독성(toxic) 문장을 의미는 유지하면서 비독성 문장으로 바꿔 쓰는 태스크로, 학습 분할에서 단 10 개의 예시만 사용해 한 번의 스텝(\eta = 1.0, \rho = 0)으로 패치를 만들었습니다. 가중치에 새겨 넣은 지시문은 다음과 같습니다.

Please detoxify the following sentence. Return a single detoxified statement. Do not provide any commentary or suggestions. (...) Here is the original toxic sentence:

즉, "부연 설명 없이, 원문과 같은 의미를 유지하는 해독된 문장 하나만 반환하라"는 꽤 구체적인 행동 규약 전체가 패치 하나로 압축됩니다.

방법 독성 비율 (낮을수록 좋음) BERT 의미 유사도 (높을수록 좋음)
독성 문장 원본 90.53 \pm 1.3 -
사람이 쓴 중립 문장 5.62 \pm 0.59 -
원본 모델 + 해독 지시문 6.7 \pm 0.7 68.09 \pm 0.51
패치 모델, 지시문 없음 6.22 \pm 1.6 62.16 \pm 0.25

패치된 모델은 독성 비율을 90.53\% 에서 6.22\% 까지 떨어뜨려, 전체 지시문을 쓴 베이스라인(6.7\%)과 사실상 같은 수준에 도달했습니다. 흥미롭게도 독성 비율 자체는 베이스라인보다 약간 더 낮습니다. 다만 BERT 의미 유사도 점수는 68.09 에서 62.16 으로 다소 내려가, 원문 의미 보존 측면에서는 약간의 손실이 있음을 보여줍니다.

번역과 사전 지식 검색: 동치가 깨지는 지점

프랑스어/스페인어 단어를 영어로 번역하는 태스크(10 개 예시, 보류 단어 100 개에 대해 BERT 유사도로 평가하며, 구나 문장이 아닌 단어 단위 번역에 국한됩니다)와, 국가와 수도를 짝짓는 사전 지식 검색 태스크(국가→수도와 수도→국가 양방향 지시문, 5 개 예시, 정확 일치로 평가)에서는 결과가 갈립니다.

태스크 원본 모델 + 지시문 (정확도) 패치 모델, 지시문 없음 (정확도)
프랑스어 → 영어 (예: feu → fire) 97.37 \pm 0.01 92.74 \pm 0.25
스페인어 → 영어 (예: fuego → fire) 98.4 \pm 0.01 94.99 \pm 0.43
국가 → 수도 (예: France → Paris) 79.0 \pm 0.21 47.6 \pm 1.02

번역에서는 4 \sim 5 퍼센트포인트 안팎의 격차로 전체 프롬프트에 근접했고 패치 없는 베이스라인보다는 크게 좋았지만, 국가-수도 검색에서는 79.0\%47.6\% 로 격차가 상당히 벌어졌습니다. 단순한 형식 변환 지시는 가중치에 잘 새겨지지만, 모델이 저장해 둔 지식을 특정 방식으로 꺼내 쓰도록 유도하는 지시는 압축 과정에서 손실이 커진다고 해석할 수 있는 대목입니다.

신규 지식 주입: 가능하지만 과적합이 발목을 잡는다

마지막 실험은 가장 야심찬 시나리오입니다. 모델이 학습 시점에 본 적 없는 합성 키-값 사전(dictionary) 전체를 컨텍스트로 주는 대신 가중치에 직접 새겨 넣고, 컨텍스트 없이 검색이 되는지를 평가합니다. 주목할 점은 이 실험에서 컨텍스트 I 가 "~하라"는 명령형 지시문이 아니라 M = {...} 형태의 사전 할당 데이터 그 자체라는 것입니다. 사고 패치가 지시문뿐 아니라 임의의 텍스트 정보까지 가중치로 변환할 수 있음을 보여주는 설계입니다.

사전 크기 원본 모델 + 컨텍스트 (정확도) 패치 모델, 컨텍스트 없음 (정확도)
k = 1 100 \pm 0.0 100 \pm 0.0
k = 2 100 \pm 0.0 100 \pm 0.0
k = 4 100 \pm 0.0 100 \pm 0.0
k = 8 100 \pm 0.0 99 \pm 1.0
k = 16 100 \pm 0.0 98 \pm 1.0
k = 32 100 \pm 0.0 91 \pm 1.0

새로운 정보가 MLP 가중치 안으로 성공적으로 흡수되었습니다. k = 32 개의 키-값 쌍에서도 91\% 의 검색 정확도를 유지합니다. 참고로 이 태스크에서는 사고 벡터가 편향이 아니라 W_{\textrm{down}} 투영에 흡수되었고, k \geq 16 의 큰 사전에서는 최소제곱 해의 주성분 40 개만 남기는 랭크 축소가 필요했습니다.

하지만 "어떤 질문 형태로 검색하는가"를 바꾸면 이야기가 달라집니다. 패치를 계산할 때 쓴 질의와 평가에 쓴 질의를 나란히 놓고 보면 사람에게는 차이가 사소해 보입니다.

# 패치 계산에 사용한 질의 템플릿
- the value of {dict_name}["{key}"] is
- {dict_name}["{key}"] equals
- the value of {dict_name} for key "{key}" is

# 평가에 사용한 새로운 질의 템플릿
- what value corresponds to key "{key}" in {dict_name}?
- retrieve the content of {dict_name}["{key}"].
- what is stored in {dict_name} under the key "{key}"?

그런데 이 정도의 표현 변화만으로도 성능이 크게 무너집니다.

사전 크기 같은 질의 템플릿 (정확도) 다른 질의 템플릿 (정확도)
k = 4 100 \pm 0.0 83.3 \pm 4.0
k = 8 99 \pm 1.0 79.1 \pm 6.7
k = 16 98 \pm 1.0 53.0 \pm 6.6
k = 32 91 \pm 1.0 42.7 \pm 7.8

k = 32 에서 91\% 였던 정확도가 질의 표현만 바꿔도 42.7\% 로 추락합니다. 현재의 최소제곱 정식화가 특정 프롬프트 구조에 과적합하기 쉽다는 것을 보여주는 결과로, 저자들 스스로 이 논문의 핵심 한계로 명시하고 있습니다.

한계점과 시사점

이 연구의 한계는 비교적 분명하게 정리됩니다.

먼저 위에서 본 프롬프트 구조 과적합 문제입니다. 사고 패치는 "지시문의 의미"가 아니라 "지시문이 특정 토큰 시퀀스에 일으키는 활성화 변화"를 새기기 때문에, 패치 계산에 쓰인 질의 형태에서 멀어질수록 효과가 약해집니다. 저자들은 정규화 파라미터 \rho 의 세심한 튜닝과 더 발전된 정규화 기법을 향후 과제로 제시합니다. 둘째, 검증이 Gemma 3 1B 단일 모델 과 비교적 단순한 태스크들에 국한되어 있습니다. 더 큰 모델, 더 긴 지시문, 복합적인 추론(reasoning) 지시에서도 동일한 동치가 성립하는지는 열려 있는 질문입니다. 셋째, 국가-수도 실험에서 보았듯 사전 지식을 활용하는 지시의 압축은 아직 격차가 큽니다.

그럼에도 이 연구의 의의는 뚜렷합니다. 첫째, 스티어링 벡터의 "대조 평균" 휴리스틱과 모델 편집의 "저랭크 업데이트" 관행을 하나의 수학적 틀에서 설명했습니다. 저자들의 표현을 빌리면, 이 결과는 "대조 평균과 저랭크 업데이트가 트랜스포머의 지시문 인코딩에 내재한 고유한(native) 메커니즘임을 확인"해 줍니다. 그동안 따로 발전해 온 두 연구 갈래가 같은 뿌리에서 나온 두 얼굴이었다는 통찰입니다. 둘째, 역전파 없이 순전파와 최소제곱만으로 프롬프트를 가중치로 변환하는 절차는, 시스템 프롬프트 상시 주입에 따르는 추론 비용을 구조적으로 없앨 수 있는 새로운 경로를 제시합니다. 매 요청마다 수천 토큰의 시스템 프롬프트를 처리하는 대신, 한 번 패치된 모델을 쓰는 미래를 상상해볼 수 있습니다. 셋째, 프롬프트(휘발성)에서 활성화 벡터(일시적)를 거쳐 가중치(영구적)로 이어지는 "파라미터 연속체(parametric continuum)" 관점을 구체적인 알고리즘으로 구현했다는 점에서, 인-컨텍스트 학습과 파인튜닝 사이의 이론적 다리를 놓는 후속 연구들의 기준점이 될 것으로 보입니다.

:scroll: Transmuting prompts into weights 논문

2025년 10월 처음 공개된 뒤 2026년 6월 v3까지 개정을 거친 논문입니다.

"We derive a principled method for condensing this transient information into token-independent thought vectors and thought matrices. These constructs provide a theoretical explanation for existing vector-and-matrix-based model editing techniques."

:scroll: 선행 연구: Learning without training (Dherin et al., 2025) 논문

프롬프트의 효과가 토큰 의존적인 암묵적 가중치 업데이트와 동치임을 증명한 이번 연구의 이론적 토대입니다.

:scroll: 관련 연구: Equivalence of context and parameter updates in modern transformer blocks 논문

RMSNorm과 게이팅을 쓰는 현대 트랜스포머 블록에 동치 이론을 확장한 연구로, 이번 논문의 Gemma 적응 절차가 이 기법을 따릅니다.

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: