MinWoo(Daniel) Park | Tech Blog
Read moreContents
[서론 및 배경]
언어 모델들은 때때로 잘못된 정보를 생성할 수 있는데, 이는 모델이 항상 사용자의 기대나 현실과 일치하는 정확한 정보를 생성하지 못하기 때문입니다. 이런 문제를 해결하기 위해, 연구자들은 모델의 내부 활성화를 조정하여 모델 출력의 질을 향상시키려고 시도해왔습니다. 이 논문에서는 언어 모델의 활성화를 효과적으로 수정하여 보다 정확하고 편견 없는 정보를 생성할 수 있는 새로운 접근 방식을 제안합니다.
[방법: 스펙트럼 활성화 편집 (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 방법은 언어 모델의 해석 가능성과 윤리적 사용을 향상시키는 데 중요한 역할을 할 수 있으며, 모델의 감정적 반응을 조절하여 보다 정밀한 의사소통을 가능하게 합니다.