Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet

Yelim Kim·2024년 5월 29일
0

Paper Review

목록 보기
39/49
post-thumbnail

논문은 아니고 Anthropic 에서 쓴 글.
LLM을 제어/조정하기 위해서 feature 별로 분해하여 진행한 실험.

특히 안전과 관련될 수 있어서 의미가 있다고 얘기한다. 요즘 OpenAI에서도 Safety 관련 문제가 여러개 터졌어서 좋은 타이밍에 읽어볼만한 것 같다.

생성형 AI는 결과물을 '확률적'으로 출력하기 때문에 interpretability가 중요하게 작용한다. 즉, 만약 출력내용에서 적합하지 않은 내용이 출력되는 경우 해당 단어가 어디서부터 나오게 되었는지 그 원인을 찾아야 해결할 수 있게 된다.

그러나 LLM은 unsupervised learning 으로 학습되기 때문에 '블랙박스'에 빠지게 된다.
그래서 LLM의 행동을 이해하고 조정할 수 있게 해당 연구를 진행하였다고 한다.

8개월 전에 이분들이 single-layer transformer를 활용해서 monosemantic features를 찾는데 성공하여 SAE(Sparse Autoencoder)의 잠재력을 확인하였다.
뭔말이냐면,
신경망을 뉴런 단위로 이해하기가 어렵기 때문에 신경망을 더 단순한 요소인 features로 분해하여 이해하려고 했음.
그래서 저 SAE를 통해서 feature들을 뽑아내고, interpretability 문제에 접근하고자 하였음.

예를들어,
feature값으로 Golden Gate Bridge가 있다고 해보자. 그리고 이 feature값의 activate value를 10배 증가시켰더니

갑자기 본인을 golden gate bridge라고 칭하기 시작함.

또 다른 예시로 "gender bias awareness"를 넣어주는 경우

이처럼 female pronoun 에 집중하여 문장을 이어주는 것도 확인할 수 있었다고 한다.

작동 원리는 간단하다.
SAE에 text를 입력하면 인코더는 sparse representation으로 변환시키고 feature들의 activate value를 출력한다.
예를들어 특징1: 0.2, 특징2: 0.8, 특징3: 0.4
여기서 숫자는 얼마나 강하게 활성화되는지 나타내고, 높을수록 더 강한 활성화를 의미한다.
디코더에서는 텍스트를 reconstruction하려고 하는데 이상적인 상황에서는 재구성된 텍스트가 원본 텍스트와 매우 가깝다고 한다.

SAE모델:

hidden layer의 노드 개수를 input layer보다 더 많게 하거나 같게 하는게 특징.
뉴런화 개수를 강제로 제한함으로써 뉴런들이 해당 특성을 더 잘 학습하도록 의도하였음.
어케하냐면 노드가 활성화된 수준이 목표로 한 수준보다 많으면 페널티 적용.
특징 노드 개수가 적어서 서로 중첩되어 활성화되는 노드가 거의 없어서 서로 orthogonal 함.

LLM 모델에 흐르는 신호값을 SAE 모델에 입력하고 해당 모델을 통해 표현된 feature vector중 유사한 것끼리 그룹화한다. (그룹: feature)

이렇게 그룹화된 노드들의 특징:

"sycophantic praise"라는 그룹에서는 저렇게 아첨하는 단어들이 하이라이트되어 보여진다. 만약 여기서 activate value를 높은 값으로 유지시키면 일반 프롬프트에서도 아첨하면서 대답하게 할 수 있음.

시사점:

  • 각 모델마다 Interpretability을 각각 다르게 학습되어야 한다.
  • 모델 성능 개선에 필수적
profile
뜬금없지만 세계여행이 꿈입니다.

0개의 댓글

관련 채용 정보