00:00:00

Share Your Feedback 🏝️

Spectral Editing of Activations for Large Language Model Alignment

Spectral Editing of Activations for Large Language Model Alignment

MinWoo(Daniel) Park | Tech Blog

Read more
Previous: Semiparametric Token-Sequence Next: PPO | Self-play PPO*

Spectral Editing of Activations for Large Language Model Alignment

  • Related Project: Private
  • Category: Paper Review
  • Date: 2024-05-17

Spectral Editing of Activations for Large Language Model Alignment

  • url: https://arxiv.org/abs/2405.09719
  • pdf: https://arxiv.org/pdf/2405.09719
  • html https://arxiv.org/html/2405.09719v1
  • abstract: Large language models (LLMs) often exhibit undesirable behaviours, such as generating untruthful or biased content. Editing their internal representations has been shown to be effective in mitigating such behaviours on top of the existing alignment methods. We propose a novel inference-time editing method, namely spectral editing of activations (SEA), to project the input representations into directions with maximal covariance with the positive demonstrations (e.g., truthful) while minimising covariance with the negative demonstrations (e.g., hallucinated). We also extend our method to non-linear editing using feature functions. We run extensive experiments on benchmarks concerning truthfulness and bias with six open-source LLMs of different sizes and model families. The results demonstrate the superiority of SEA in effectiveness, generalisation to similar tasks, as well as inference and data efficiency. We also show that SEA editing only has a limited negative impact on other model capabilities.

Contents

TL;DR


  1. 언어 모델의 활성화를 수정하여 더 진실되고 편견이 적은 내용을 생성하도록 하는 새로운 방법인 스펙트럼 활성화 편집(Spectral Editing of Activations, SEA)을 소개합니다.
  2. SEA는 선형 및 비선형 방식으로 활성화를 조정하여 언어 모델이 부정확하거나 편향된 정보를 최소화하면서 긍정적인 동작을 유지하도록 합니다.
  3. 이 방법은 비용이 많이 드는 반복적 최적화 없이 닫힌 형식의 스펙트럼 분해를 사용하여 실행되므로, 효율적이고 효과적입니다.

[서론 및 배경]

언어 모델들은 때때로 잘못된 정보를 생성할 수 있는데, 이는 모델이 항상 사용자의 기대나 현실과 일치하는 정확한 정보를 생성하지 못하기 때문입니다. 이런 문제를 해결하기 위해, 연구자들은 모델의 내부 활성화를 조정하여 모델 출력의 질을 향상시키려고 시도해왔습니다. 이 논문에서는 언어 모델의 활성화를 효과적으로 수정하여 보다 정확하고 편견 없는 정보를 생성할 수 있는 새로운 접근 방식을 제안합니다.

[방법: 스펙트럼 활성화 편집 (Spectral Editing of Activations, SEA)]

[스펙트럼 분해를 통한 활성화 편집]

SEA의 기본 아이디어는 양성(긍정적) 및 부정적 활성화 사이의 공분산을 최대화하고, 중립적 활성화와 부정적 활성화 사이의 공분산을 최소화하는 것입니다. 이 과정은 단일 값 분해(Singular Value Decomposition, SVD)를 사용하여 수행됩니다.

\[\Omega_+ = \frac{1}{n} \sum_{i=1}^n h(i)(h_+(i))^T, \quad \Omega_- = \frac{1}{n} \sum_{i=1}^n h(i)(h_-(i))^T\]

수식에서 \(\Omega_+\)와 \(\Omega_-\)는 각각 긍정적 및 부정적 활성화와 중립적 활성화 사이의 공분산 행렬입니다. 이 행렬들을 SVD를 통해 분해하여, 긍정적 활성화와 높은 공분산을 가지는 방향과 부정적 활성화와 높은 공분산을 가지는 방향을 찾아냅니다.

[LLM 활성화 준비]

언어 모델에서 긍정적 및 부정적 활성화를 추출하여, SEA를 적용합니다. 이 활성화들은 언어 모델이 긍정적 또는 부정적 완성을 생성할 때의 마지막 토큰 위치에서 측정됩니다.

[편집 투영 찾기]

편집 투영을 계산하여, 새로운 언어 모델 쿼리에 적용함으로써, 모델이 부정적 정보는 최소화하고 긍정적 정보는 최대화하는 방식으로 활성화를 조정합니다.

\[z(t)_{\ell} = U_+ \cdot U_+^T \cdot H_+(t)_{\ell} + U_- \cdot U_-^T \cdot H_-(t)_{\ell}\]

수식에서 \(U_+\)와 \(U_-\)는 긍정적 및 부정적 활성화 방향을 나타내는 행렬이며, \(H_+(t)_{\ell}\)과 \(H_-(t)_{\ell}\)는 각각 긍정적 및 부정적 활성화입니다.

[결론 및 실험 결과]

SEA는 언어 모델의 진실성과 공정성을 향상시키는 데 효과적이며, 두 성질 모두를 향상시키는데 필요한 데이터의 양이 적어 데이터 효율성이 높습니다. 실험 결과는 SEA가 다양한 언어 모델과 다양한 크기에 걸쳐 일관된 개선을 보여주었습니다. 이는 SEA가 언어 모델의 활성화를 조정하여 더 나은 성능을 발휘할 수 있는 우수한 방법임을 입증합니다.


[참고자료 1] SEA(Spectral Editing of Activations)

방법: 스펙트럼 활성화 편집 (Spectral Editing of Activations, SEA)

스펙트럼 분해를 통한 활성화 편집의 수학적 근거

스펙트럼 활성화 편집(SEA) 방법은 언어 모델의 활성화 패턴을 수정하여, 특정 감정적 경향성을 강화하거나 약화시키는 기술입니다. 이 접근 방식은 긍정적 및 부정적 활성화 상태 사이의 공분산 관계를 수학적으로 분석하고 조작하는 데 중점을 둡니다.

공분산은 두 변수간의 선형 관계의 강도를 측정하는 통계적 수단입니다. 두 활성화 상태 \(h(i)\)와 \(h_+(i)\)의 공분산은 다음과 같이 계산됩니다.

\[\Omega_+ = \frac{1}{n} \sum_{i=1}^n h(i)(h_+(i))^T\]

수식에서 \(h(i)\)는 모델의 활성화 벡터, \(h_+(i)\)는 긍정적 활성화 상태를 나타냅니다. 이 공식은 \(h(i)\)와 \(h_+(i)\) 사이의 선형 연관성을 나타내며, 양의 값은 두 활성화가 같은 방향성을 가짐을, 음의 값은 반대 방향성을 가짐을 의미합니다.

단일 값 분해(SVD)의 적용:

SVD는 매트릭스를 특이 벡터(singular vectors)와 특이 값(singular values)으로 분해하는 과정입니다. 공분산 행렬 \(\Omega_+\)의 SVD는 다음과 같이 표현됩니다.

\[\Omega_+ = U S V^T\]

수식에서 \(U\)와 \(V\)는 각각 왼쪽과 오른쪽 특이 벡터를 나타내고, \(S\)는 대각 행렬로 특이 값들을 포함합니다. 이 특이 값들은 \(h(i)\)와 \(h_+(i)\) 사이의 상관 관계의 강도를 나타내며, 가장 큰 특이 값은 가장 강한 상관 관계를 지닌 방향성을 제공합니다.

SEA의 실행 및 활성화 조정

활성화 조정 SEA 방법은 추출된 특이 벡터를 사용하여 언어 모델의 활성화를 조정합니다. 이는 긍정적 및 부정적 활성화에 대해 다음과 같이 계산됩니다.

\[z(t)_{\ell} = U_+ \cdot U_+^T \cdot H_+(t)_{\ell} + U_- \cdot U_-^T \cdot H_-(t)_{\ell}\]

이 식에서 \(U_+\)와 \(U_-\)는 각각 긍정적 및 부정적 활성화 방향에 대한 특이 벡터 행렬, \(H_+(t)_{\ell}\)와 \(H_-(t)_{\ell}\)는 각각 시간 \(t\)에서의 긍정적 및 부정적 활성화를 의미합니다. 이 방법은 언어 모델의 활성화를 특정 방향으로 투영하여, 긍정적 반응을 강화하고 부정적 반응을 약화시킵니다.

SEA 방법은 언어 모델의 해석 가능성과 윤리적 사용을 향상시키는 데 중요한 역할을 할 수 있으며, 모델의 감정적 반응을 조절하여 보다 정밀한 의사소통을 가능하게 합니다.


Previous: Semiparametric Token-Sequence Next: PPO | Self-play PPO*

post contain ""

    No matching posts found containing ""