EXPERTSTEER: Intervening in LLMs through Expert Knowledge (ArXiv 2025)

아래는 논문 “EXPERTSTEER: Intervening in LLMs through Expert Knowledge”(arXiv:2505.12313) 의 전체 구조, 핵심 아이디어, 방법론, 수식적 의미, 실험 내용 및 분석을 체계적으로 정리한 설명입니다.


논문 핵심 기여 요약

EXPERTSTEER는 외부 Expert 모델이 가진 전문 지식을 임의의 Target LLM에 activation steering으로 전달하는 최초의 일반적 방법입니다.

기존 activation steering은 항상 자기 모델이 생성한 steering vector만 사용했기 때문에:

  • 모델 자체의 한계 내에서만 steering 가능
  • 더 큰 전문가 모델의 지식을 가져오는 것이 불가능
  • cross-model steering이 되지 않음

이 논문은 Auto-encoder 기반 차원 정렬 → Mutual Information 기반 layer mapping → RFM(Recursive Feature Machine) 기반 steering vector 추출 → Inference-time activation intervention이라는 4단계 파이프라인을 제안하여 문제를 해결합니다.


Figure 1 기반 전체 Pipeline 요약 (p.3)

논문은 EXPERTSTEER를 다음 4단계로 설명합니다.

1) Representation Alignment (Auto-Encoder)

  • Expert 모델의 hidden size: dEd_E
  • Target 모델의 hidden size: dTd_T
    → 서로 다른 차원을 encoder fθf_\theta 로 dEdTd_E \to d_T 변환
    → decoder gϕg_\phi 로 복원
  • Loss:
L=1Kk||hi,kEgϕ(fθ(hi,kE))||2L = \frac{1}{K}\sum_k ||h^E_{i,k} – g_\phi(f_\theta(h^E_{i,k}))||^2

기능: Expert 모델의 표현을 target LLM이 해석할 수 있는 공간으로 투영(projection).


2) Intervention Layer Pairing (Mutual Information 분석)

각 Expert layer ii, Target layer jj 에 대해 MI 계산:

MI(i,j)=1KkI(fθ(hi,kE);hj,kT)MI(i,j) = \frac1K\sum_k I(f_\theta(h^E_{i,k}); h^T_{j,k})

MI가 낮을수록 두 layer의 표현 차이가 크므로
→ 지식 개입이 가장 필요한 지점

따라서 MI가 가장 낮은 P개의 (i,j) layer pair를 선택하여 intervention 수행.

OBS(Optimal Brain Surgeon) 원칙:
신경망 개입은 최소한의 위치에서 선택적으로 이뤄져야 한다(p.4).


3) Steering Vector Generation (RFMs: Recursive Feature Machines)

RFM은 다음 2개 구성요소로 이루어짐:

① Kernel Ridge Regression (KRR)

Expert hidden states (H_i) 를 medical/financial 등의 positive vs negative로 구분하는 binary classifier 학습.

② AGOP (Average Gradient Outer Product)

gradient outer product를 평균내어 feature importance matrix 형성:

Mt+1=1Kkπt(hi,k)πt(hi,k)M^{t+1} = \frac{1}{K} \sum_k \nabla \pi_t(h_{i,k}) \nabla \pi_t(h_{i,k})^\top

여기서 πt\pi_t는 iteration t의 KRR predictor.

Steering vector

Mτ=UΛUM_\tau = U\Lambda U^\top

가장 큰 eigenvalue에 대응하는 eigenvector u1u_1 을 steering vector로 사용.

→ Expert 모델 representation이 가진 가장 강력한 domain-specific 방향(의학/수학/금융)을 추출.


4) Expertise Intervention (Inference-time Activation Addition)

선택된 (i,j) layer pair에서:

  • Expert layer에서 구한 steering vector νiν_i
  • Auto-encoder encoder fθf_\theta로 Target 차원에 변환
  • Target model activation 수정:
h^jT=hjT+εfθ(νi)\hat{h}^T_j = h^T_j + \varepsilon \cdot f_\theta(\nu_i)

이 값이 다음 layer로 전파되며 Target model이 Expert model의 지식을 반영하도록 steering됨.

파라미터 업데이트 없음, 순수 inference-time 개입.


Why This Works? 핵심 논리

  1. Representation Alignment: 서로 다른 hidden size로 인해 발생하는 구조적 불일치 제거
  2. Low-MI layer pairing: Target이 Expert 지식을 충분히 갖고 있지 않은 layer에 집중 개입
  3. RFM 기반 Feature Extraction:
    PCA/Mean Difference보다 훨씬 강력한 비선형 feature importance 학습
    (논문 ablation에서도 RFM이 압도적으로 우수한 결과)
  4. Inference-time Activation Steering:
    비용이 거의 0에 수렴하며 파라미터 업데이트를 하지 않음 → catastrophic forgetting 없음

실험 결과 요약 (p.6–7 Table 2)

세 domain(Medical, Financial, Math)에서 3개 target 모델(Llama-3.1 8B, Qwen2.5 7B, Gemma 2B)에 대해:

EXPERTSTEER의 특징적 성과:

  • Llama-3.1-8B: 의료 분야에서 baseline 대비 +4.98 점 향상
  • Qwen2.5-7B: 금융 분야에서 baseline 대비 +5.34 점 향상
  • Gemma-2B: 매우 작은 모델에도 고정적 개선

특히 cross-family(예: Expert=Qwen → Target=Llama)에서도 잘 작동하는 것이 핵심.

→ 기존 activation steering은 동일 모델 내에서만 작동했음을 극복한 성과.


General-domain Transfer (Table 3, p.7)

Expert model = Qwen2.5-14B
Target = Llama-3.1 / Qwen2.5 / Gemma

  • COPA / NLI / ARC-C / Humanities 등 다양한 NLU task 성능 개선
  • Safety domain에서도 improvement

대형 Expert 모델의 능력을 소형 Target이 흡수하는 cross-model general knowledge transfer 성공.


Linguistic Expertise Transfer (Chinese, Table 4, p.7)

Expert: Llama3.1-8B-Chinese-Chat
Target: Llama-3.1-8B, Qwen2.5-7B

XCOPA-zh, XNLI-zh, StoryCloze-zh, Flores에 대해 성능 증가.

→ EXPERTSTEER는 언어적 지식도 전이 가능.


Ablation Study 핵심 요약 (p.8)

(1) Feature Extraction: RFM > PCA > MD

표 5에서 RFM이 다른 방법 대비 압도적.

(2) Expert Selection 중요

Figure 2에서

  • Expert를 generic model로 바꾸면 성능 저하
  • 진짜 전문 모델을 expert로 둘 때 가장 큰 gain

(3) RFMs → AE 순서(AE→RFMs 아님)

Figure 3:
RFMs-AE가 AE-RFMs 대비 훨씬 우수
→ feature extraction은 반드시 원본 hidden space에서 해야 함.


Efficiency (p.9)

  • 2000개의 샘플로 충분(약 17분 학습)
  • Inference는 단순한 벡터 더하기로 오버헤드 거의 없음
  • 작은 모델일수록 gain이 더 큼(Figure 5)

논문의 Overall Contribution (요약)

  1. Activation Steering을 Expert 모델 기반 Cross-model Steering으로 확장
  2. Auto-encoder 기반 Representation Alignment 제안
  3. MI 기반 Layer Pairing 제안
  4. RFM 기반 steering vector 추출 도입
  5. Medical / Finance / Math / General / Chinese 등 광범위 domain에서 강력한 성능 개선

아래는 논문 EXPERTSTEER의 방법론(Methods) 전체를 논문 구조 그대로, 하지만 훨씬 이해하기 쉽게수식·직관·절차 중심으로 재구성한 설명입니다.


EXPERTSTEER 방법론(Methodology) — 전체 구조 요약

논문은 EXPERTSTEER를 4단계 파이프라인으로 구성합니다:

  1. Representation Alignment
    (Expert hidden → Target hidden 공간 정렬)
  2. Intervention Layer Pairing
    (어떤 Expert layer와 Target layer를 연결할지 MI로 계산)
  3. Steering Vector Generation (RFMs)
    (Expert hidden states에서 domain-specific vector 추출)
  4. Expertise Intervention
    (Target LLM의 forward pass 중 hidden activation에 steering vector 삽입)

그림 기준: Figure 1 (p.3).


1. Representation Alignment (표현 공간 정렬)

(p.3 Section 3.1)

문제

  • Expert LLM과 Target LLM은 hidden dimension이 다름
    • 예: Expert 4096-d, Target 3072-d
  • 그대로는 Expert의 steering vector를 Target 모델에 넣을 수 없음.

해결책: Layer-wise Auto-Encoder

각 Expert layer (i) 에 대해 독립적인 Auto-encoder를 학습:

Encoder

fθi:dEdTf_{\theta_i}: \mathbb{R}^{d_E} \to \mathbb{R}^{d_T}

Decoder

gϕi:dTdEg_{\phi_i}: \mathbb{R}^{d_T} \to \mathbb{R}^{d_E}

둘 다 Affine Linear (1-layer) 로 구성.

Training objective (Reconstruction loss)

L=1Kk=1K|hi,kEgϕi(fθi(hi,kE))|22L = \frac{1}{K} \sum_{k=1}^K |h_{i,k}^E – g_{\phi_i}(f_{\theta_i}(h_{i,k}^E))|_2^2

✔ 역할: Expert hidden → Target hidden 크기로 투영(projection)
✔ 장점: Target 모델이 이해 가능한 feature space로 변환됨
✔ Autoencoder는 layer-wise로 따로 학습 (독립적)

→ 이후 단계에서 Expert steering vector 또는 Expert hidden states를 Target 공간으로 mapping할 수 있게 됨.


2. Intervention Layer Pairing

(p.4 Section 3.2)

목표

Expert layer ii 와 Target layer jj
지식을 개입하기 가장 적합한 layer pair (i, j)를 찾아야 함.

관찰

Target 모델이 이미 Expert와 비슷한 표현을 가진 layer는 굳이 개입할 필요 없음.

→ 따라서, Expert와 Target 표현이 가장 다른 layer를 찾아 개입해야 효율적.

이를 위해 Mutual Information (MI) 사용.


Mutual Information 계산

MI(i,j)=1Kk=1KI(fθi(hi,kE),;hj,kT)MI(i, j) = \frac{1}{K} \sum_{k=1}^K I(f_{\theta_i}(h_{i,k}^E),; h_{j,k}^T)

여기서 MI는

I(X;Y)=p(x,y)logp(x,y)p(x)p(y)dxdyI(X;Y)=\int\int p(x,y)\log\frac{p(x,y)}{p(x)p(y)} dxdy

해석

  • MI가 낮다
    → Target layer j의 표현이 Expert layer i의 정보를 거의 반영하지 못함
    → 여기에 개입하면 지식 전달 효과가 큼
  • MI가 높다
    → Target layer j가 이미 비슷한 representation을 갖고 있음
    → 굳이 intervention 필요 없음

Layer Pair 선택

Select the top-P pairs with lowest MI(i,j)\text{Select the top-} P \text{ pairs with lowest MI(i,j)}

즉, 지식 부족 구간을 자동으로 탐지해 “개입 지점”으로 선택.


3. Steering Vector Generation (RFM 기반 비선형 특징 추출)

(p.4–5 Section 3.3)

이 단계는 논문 방법론 중 가장 핵심적입니다.

목표

Expert 모델의 특정 domain(예: 의학/수학/금융)의 **전문적 방향성(feature direction)**을 추출하여 steering vector로 만들기.


사용 알고리즘: RFM (Recursive Feature Machines)

RFM은 다음 두 요소로 구성됨:

① KRR (Kernel Ridge Regression)

Expert hidden states (H_i) 에 대해
positive domain vs negative domain으로 분류하는 binary classifier.

  • Positive 예: 의료 관련 문장
  • Negative 예: 일반적 문장 or 의료 관련 X

Classifier를 학습하면서 domain을 구분하는 중요한 feature가 어디인지 파악.


② AGOP (Average Gradient Outer Product)

모든 sample의 gradient outer product를 평균하여 feature importance matrix를 생성:

Mit+1=1Kk=1K(πt(hi,kE))(πt(hi,kE))M_{i}^{t+1} = \frac{1}{K} \sum_{k=1}^K (\nabla \pi_t(h_{i,k}^E))(\nabla \pi_t(h_{i,k}^E))^\top

이 행렬은 feature-space 내에서
domain을 가장 잘 구분하는 방향을 강조한 정규화된 공분산 행렬이라고 볼 수 있음.


Recursive update

RFM은 kernel KtK_t 를 feature importance에 따라 업데이트하며
feature 방향성을 iterative하게 refine함.

Kernel:

Kt(x,z)=exp(1σ(xz)TMit(xz))K_t(x,z) = \exp\left(-\frac{1}{\sigma} (x-z)^T M_i^t (x-z) \right)

즉, feature importance가 높은 차원은 더 민감하게 반응하도록 kernel metric을 조정.


최종 steering vector: Largest-eigenvector

완성된 feature importance matrix MiτM_i^\tau 에 대해:

Miτ=UΛUM_i^\tau = U \Lambda U^\top

그중 가장 큰 eigenvalue λ1\lambda_1 에 대응하는 eigenvector u1u_1 을 steering vector로 사용:

νi=u1\nu_i = u_1

의미:

  • domain-specific 정보가 가장 많이 존재하는 공간 방향
  • Expert 모델의 전문성을 가장 잘 대표하는 “지식 축(knowledge axis)”

4. Expertise Intervention (Target 모델에 개입)

(p.5 Section 3.4)

Intervention은 Target 모델의 forward pass 중 선택된 layer pair (i,j)에서 수행.

수정된 Activation

Case 1: hidden size가 다를 경우

h^jT=hjT+εfθi(νi)\hat{h}j^T = h_j^T + \varepsilon \cdot f{\theta_i}(\nu_i)

Case 2: hidden size 동일

h^jT=hjT+ενi\hat{h}_j^T = h_j^T + \varepsilon \cdot \nu_i

여기서

  • ε\varepsilon : steering 강도 조절 hyperparameter
  • fθif_{\theta_i} : 앞서 학습한 encoder

수정된 hidden state는 남은 transformer layer로 propagation됨.


5. Implementation Details 요약

(p.5 Section 3.5)

  • Hyperparameters:
    • PP: intervention layer pair 개수 (1~10)
    • ε\varepsilon: steering scale (1~16)
  • Auto-encoder training: 2000 samples
  • MI layer selection: 500 samples
  • RFM training: positive 2000 / negative 2000
  • 전체 training은 비교적 가볍고 inference-time cost는 거의 없음.

EXPERTSTEER 방법론의 직관적 이해 요약

단계역할핵심 개념
1. Representation AlignmentExpert → Target 공간 변환Auto-encoder
2. Layer Pairing개입할 위치 선택Mutual Information
3. Steering Vector Generation전문성 축(axis) 추출RFM(KRR + AGOP), eigenvector
4. Expertise InterventionTarget 모델 behavior 조정Activation addition

Steering Vector Generation (RFM) 부분만 완전히 파고들어서 정리해볼게요.
(Algorithm 1 및 Section 3.3 기준 설명입니다. )


0. 목표 다시 정리

ExpertSteer에서 이 단계의 목표는 **“Expert 모델의 특정 전문 영역(의학, 수학, 금융 등)을 가장 잘 구분하는 한 방향 벡터”**를 찾는 것입니다.

입력: Expert 모델의 어떤 layer ii의 hidden states

Hi=[hi,1E,,hi,KE]K×dEH_i = [h^E_{i,1}, \dots, h^E_{i,K}] \in \mathbb{R}^{K \times d_E}

라벨:

  • yk=1y_k = 1: expert가 잘 아는 domain(예: medical question)
  • yk=0y_k = 0: 그 domain이 아닌 일반 example

출력: 그 layer에서 domain을 가장 잘 구분하는 방향

νidE\nu_i \in \mathbb{R}^{d_E}

→ 이게 곧 steering vector

이걸 위해 사용하는 게 Recursive Feature Machines (RFM) 입니다.


1. 데이터와 초기화

데이터

  • Hidden states:
hi,kEdE,k=1,,Kh^E_{i,k} \in \mathbb{R}^{d_E}, k=1,\dots,K
  • Label vector:
Y=[y1,,yK]0,1KY = [y_1,\dots,y_K]^\top \in {0,1}^K

초기 feature importance 행렬

처음에는 모든 차원 중요도를 똑같이 보고

Mi0=IdEM_i^0 = I_{d_E}

MM이 계속 업데이트되면서 “어느 차원이 domain 구분에 중요한지”를 학습합니다.


2. 단계 1: Mahalanobis Laplace Kernel 정의

iteration tt에서 kernel:

Kt(hi,kE,z)=exp(1σ(hi,kEz)Mit(hi,kEz))K_t(h^E_{i,k}, z) = \exp\left(-\frac{1}{\sigma} (h^E_{i,k} – z)^\top M_i^t (h^E_{i,k} – z)\right)
  • σ\sigma: bandwidth hyperparameter
  • MitM_i^t가 들어가 있어서, 지금까지 학습된 feature importance를 반영한 Mahalanobis 거리를 사용

→ 중요하다고 판단된 방향은 거리 계산에서 더 크게 반영되고, 덜 중요한 방향은 무시되는 형태.


3. 단계 2: Kernel Ridge Regression (KRR)

Kernel 행렬

[Kt(Hi,Hi)]ab=Kt(hEi,a,hi,bE)[K_t(H_i, H_i)]{ab} = K_t(h^E{i,a}, h^E_{i,b})

KRR 해

논문에서는 ridge 항을 명시하지 않았지만, 형태는 다음과 같습니다 (정규화 생략):

βt=(Kt(Hi,Hi))1Y\beta_t = (K_t(H_i, H_i))^{-1} Y

예측 함수

임의의 hidden state zz에 대한 예측:

πt(z)=Kt(Hi,z),βt\pi_t(z) = K_t(H_i, z), \beta_t
  • 직관적으로
    • πt(z)\pi_t(z)가 클수록 “이 벡터는 domain-positive(예: 의료 질문)일 가능성이 크다”
    • “z를 어느 방향으로 바꿨을 때 domain score가 가장 많이 변하는가”를 의미:
zπt(z)\nabla_z \pi_t(z)

4. 단계 3: AGOP (Average Gradient Outer Product)

각 sample마다 gradient를 계산:

gk=hi,kEπt(hi,kE)dEg_k = \nabla_{h^E_{i,k}} \pi_t(h^E_{i,k}) \in \mathbb{R}^{d_E}

그리고 다음을 평균:

Mit+1=1Kk=1KgkgkM_i^{t+1} = \frac{1}{K}\sum_{k=1}^{K} g_k g_k^\top
  • gkgkg_k g_k^\top는 rank-1 matrix로,
    • “이 sample에서 예측 값이 민감하게 변하는 방향”을 반영
  • 평균을 내면, 모든 sample에 공통적으로 중요한 방향을 강조하는 공분산 유사 행렬이 됩니다.

직관적으로

  • Mit+1M_i^{t+1}는 “예측 함수 πt\pi_t에 대해 가장 민감한 방향의 분산”
  • Fisher Information Matrix와 비슷한 역할:
𝔼[ff]\mathbb{E}[\nabla f \nabla f^\top]

형태

이 과정을 τ\tau 회 반복하는 이유:

  • MitM_i^t가 kernel KtK_t 안에 들어가 있고
  • 새 kernel에서 다시 KRR을 돌린 뒤, gradient를 다시 계산해
  • “중요하다고 판정된 방향을 점점 더 강화하는 metric” 으로 수렴시키기 위함.

즉, **feature importance 행렬 MM**가 자체적으로 metric을 바꿔가며 self-reinforcing feature learning을 수행하는 구조입니다.


5. 단계 4: Eigen-decomposition → Steering Vector

최종 iteration τ\tau 에서의 행렬 MiτM_i^\tau:

Miτ=UΛUM_i^\tau = U \Lambda U^\top
Lambda=diag(λ1,,λdE),λ1λ2Lambda = \text{diag}(\lambda_1,\dots,\lambda_{d_E}), \lambda_1 \ge \lambda_2 \ge \dots
U=[u1,,udE]U = [u_1,\dots,u_{d_E}]

여기서

νi=u1\nu_i = u_1

을 steering vector로 사용합니다.

u1u_1 이 steering vector인가?

  • MiτM_i^\tau는 “gradient가 자주/크게 등장한 방향”을 누적한 행렬
  • 가장 큰 eigenvalue 방향은,
    • πt\pi_t (domain score)를 가장 크게 변화시키는 평균적 방향”
    • 즉, domain-positive와 domain-negative를 가장 확실히 구분하는 축

따라서 νi\nu_i는 그 layer에서 “이 방향으로 activation을 밀면 Expert가 잘 아는 domain 쪽으로 간다” 라는 의미를 갖는 domain steering 방향이 됩니다.


6. 왜 RFM이 비선형·비지도/지도 결합 측면에서 강력한가?

1) 비선형성

  • PCA, mean-difference(MD)는 모두 선형 통계량 기반:
    • MD: μposμneg\mu_{\text{pos}} – \mu_{\text{neg}}
    • PCA: Covariance eigenvector
  • RFM:
    • Kernel KtK_t 를 통해 비선형 decision boundary를 학습
    • AGOP는 그 비선형 classifier의 gradient 구조를 반영
    • 따라서, 복잡한 manifold 상의 domain 구분 방향도 잡아낼 수 있음

2) 지도 정보 활용

  • PCA는 label-free
  • RFM은 binary label을 직접 사용해 “positive/negative를 잘 나누는 방향”을 찾음
    → Domain-specific steering에 더 직접적

3) Recursive metric learning

  • MtM^t가 kernel 안에 들어가 metric을 바꾸므로,
    • 중요도가 높은 방향은 점점 더 민감하게,
    • 중요도가 낮은 방향은 점점 더 둔감하게.
  • Backprop 없이도 “gradient 기반 feature learning”을 구현하는 셈.

논문에서도 Table 5에서 RFMs > PCA > MD 순으로 성능이 나오는 것을 보여주며 이를 뒷받침합니다.


7. EXPERTSTEER 관점 Pseudo-code (RFM part만)

# H: (K, d_E) expert hidden states
# y: (K,) binary labels (1=domain, 0=other)
# tau: num_iterations
# sigma: bandwidth

M = I_dE  # (d_E, d_E)

for t in range(tau):
    # 1. Build kernel matrix using current M
    K_mat = np.zeros((K, K))
    for a in range(K):
        for b in range(K):
            diff = H[a] - H[b]
            K_mat[a, b] = exp(-(diff @ M @ diff) / sigma)

    # 2. Solve KRR
    beta = np.linalg.solve(K_mat, y)  # (K,)

    # 3. Compute gradients wrt each H[k]
    G = []  # list of gradient vectors g_k
    for k in range(K):
        # π_t(H[k]) = sum_a K(H[a], H[k]) * beta[a]
        # ∇_{H[k]} π_t = sum_a beta[a] * ∇_{H[k]} K(H[a], H[k])
        grad = np.zeros(d_E)
        for a in range(K):
            diff = H[a] - H[k]
            # derivative of exp(-diff^T M diff / sigma) wrt H[k]
            # = 2/sigma * M @ diff * kernel_value
            kernel_val = K_mat[a, k]
            grad += beta[a] * (2.0 / sigma) * (M @ diff) * kernel_val * (-1)
        G.append(grad)

    # 4. Update M by AGOP
    M = np.zeros((d_E, d_E))
    for g in G:
        M += np.outer(g, g)
    M /= K

# 5. Eigen decomposition
eigvals, eigvecs = np.linalg.eigh(M)
nu = eigvecs[:, np.argmax(eigvals)]  # steering vector

(실제 구현에선 효율을 위해 kernel·gradient 계산을 벡터화하고, 정규화·정칙화(λI)도 추가할 수 있습니다.)


8. EXPERTSTEER 전체에서 RFM의 위치 요약

  1. Autoencoder와 MI로 **“어느 layer에 개입할지”**를 정하고
  2. RFM으로 **“그 layer에서 어떤 방향으로 밀어야 domain 전문성을 끌어낼지”**를 구한 뒤
  3. Target 모델의 해당 layer hidden state에 ενi\varepsilon \nu_i (또는 fθ(νi)f_\theta(\nu_i)) 를 더해서 steering

즉, **RFM은 ExpertSteer의 “지식 방향 추출 엔진”**입니다.



게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다