본문 바로가기

인공지능

OpenAI Circuit-Sparsity 공개: 가중치 희소 트랜스포머와 해석 가능한 회로의 연결

728x90
반응형
728x170

이번 글에서는 OpenAI가 공개한 circuit-sparsity 연구와 함께 배포된 오픈소스 모델과 툴킷을 중심으로, 가중치 희소(weight-sparse) 트랜스포머의 개념과 배경, 희소 회로(sparse circuit)의 정의, 실제 태스크에서 어떻게 해석 가능한 구조가 드러나는지, 그리고 희소 모델과 기존 밀집(dense) 모델을 연결하는 브리지(bridge) 메커니즘까지 정리합니다.
특히 “왜 이 모델은 이렇게 동작하는가”를 구조적으로 설명할 수 있다는 점에서, 이번 공개가 AI 해석 가능성 연구에 어떤 의미를 갖는지 살펴봅니다.

반응형

Circuit-Sparsity란 무엇인가

OpenAI는 논문 *“Weight-sparse transformers have interpretable circuits”*에서 제안한 개념을 바탕으로, 가중치 희소 트랜스포머와 그 내부 회로를 분석할 수 있는 모델과 도구 세트를 공개했습니다.

이번 릴리스에는 다음이 포함됩니다.

  • Hugging Face에 공개된 openai/circuit-sparsity 모델
  • GitHub에 공개된 openai/circuit_sparsity 툴킷
  • 연구에 사용된 회로(circuit) 정의, 태스크, 시각화 도구

이 모든 결과물은 Apache 2.0 라이선스로 제공됩니다.


Weight Sparse Transformer의 개념

사후 가지치기가 아닌 학습 중 희소화

Weight sparse transformer는 일반적인 프루닝(pruning) 방식과 다릅니다.

  • 모델은 GPT-2 스타일의 디코더 전용 트랜스포머
  • 학습이 끝난 뒤 가중치를 줄이는 것이 아니라, 학습 과정에서 희소성이 강제
  • AdamW 업데이트 이후, 각 가중치 행렬과 바이어스에서 절대값 기준 상위 가중치만 유지하고 나머지는 0으로 설정
  • 토큰 임베딩을 포함한 모든 행렬이 동일한 비율의 비영(zero가 아닌) 요소를 유지

가장 희소한 설정에서는 약 1,000개 중 1개만 비영 가중치로 남습니다.

활성화 희소성까지 함께 적용

가중치뿐 아니라 활성화에도 제한을 둡니다.

  • 4개 중 1개의 노드 활성화만 비영
  • 잔차(residual) 읽기/쓰기, 어텐션 채널, MLP 뉴런 모두 포함

점진적 희소화(Annealing)

  • 학습 초반에는 밀집 모델로 시작
  • 학습이 진행되면서 허용되는 비영 가중치 수를 점진적으로 감소
  • 이 방식으로 비영 파라미터 수를 고정한 채 모델 폭(width)을 확장 가능

그 결과, 동일한 사전학습 손실 기준에서 희소 모델에서 추출된 회로는 밀집 모델 대비 약 16배 더 작음이 확인되었습니다.


Sparse Circuit의 정의

이번 연구의 핵심 분석 단위는 **희소 회로(sparse circuit)**입니다.

노드와 엣지의 정의

  • 노드(Node)
    단일 뉴런, 어텐션 채널, 잔차 읽기/쓰기 채널 등 매우 미세한 단위
  • 엣지(Edge)
    두 노드를 연결하는 하나의 비영 가중치

회로의 크기는 태스크 전반에서 사용되는 엣지 수의 기하평균으로 측정됩니다.


분석을 위한 Python Next Token 태스크

OpenAI 연구팀은 모델을 분석하기 위해 20개의 단순한 Python next token 이진 선택 태스크를 설계했습니다.

각 태스크는 다음 토큰을 두 개 중 하나로 선택해야 합니다.

예시:

  • single_double_quote
    문자열을 닫을 때 ' 또는 " 중 무엇을 선택할지
  • bracket_counting
    리스트 중첩 깊이에 따라 ] 또는 ]] 선택
  • set_or_string
    변수가 set인지 string인지 추적

최소 회로 추출 방식

  • 목표 손실: 0.15
  • 노드 단위 프루닝
  • 제거된 노드는 평균 활성화 값으로 고정(mean ablation)
  • 이진 마스크를 학습해 태스크 성능과 회로 크기 사이의 트레이드오프 최적화

대표적인 회로 예시 분석

1. Quote 닫기 회로 (single_double_quote)

  • 12개 노드, 9개 엣지
  • 동작 방식:
    • Layer 0 MLP에서 두 뉴런이 특화
      • quote detector: '와 " 모두 감지
      • quote type classifier: "는 양수, '는 음수
    • Layer 10 어텐션 헤드가 detector를 key로, classifier를 value로 사용
    • 마지막 토큰에서 올바른 따옴표 유형을 복사하여 문자열을 정확히 닫음

2. Bracket Counting 회로

  • [ 임베딩이 여러 잔차 채널에 기록되어 bracket detector 역할 수행
  • Layer 2 어텐션이 이를 평균내어 중첩 깊이를 계산
  • 이후 어텐션 헤드가 깊이를 임계값으로 판단해 ]] 출력 여부 결정

3. 변수 타입 추적 회로 (set_or_string_fixedvarname)

  • 변수 current의 임베딩을 set() 또는 "" 토큰으로 복사
  • 이후 .add와 += 중 어떤 연산을 선택해야 하는지 결정

이러한 회로들은 “모델이 어떻게 판단했는가”를 명확한 알고리즘 형태로 보여줍니다.


Sparse 모델과 Dense 모델을 연결하는 Bridge

연구팀은 **브리지(Bridge)**라는 새로운 메커니즘도 제안합니다.

  • 희소 모델과 이미 학습된 밀집 모델을 연결
  • 각 서브레이어마다 한 번씩 인코더-디코더 구조 적용
    • 인코더: 선형 변환 + AbsTopK 활성화
    • 디코더: 선형 변환
  • 혼합된 sparse-dense 추론 결과가 원래 dense 모델과 유사해지도록 손실 추가

이를 통해:

  • 희소 모델에서 해석 가능한 특정 채널(예: quote type classifier)을 조작
  • 그 영향을 밀집 모델로 전달
  • 해석 가능한 회로가 실제 대규모 모델 동작과 어떻게 연결되는지 연구 가능

OpenAI가 공개한 모델과 사용 예제

공개 모델 정보

  • 모델명: openai/circuit-sparsity
  • 파라미터 수: 0.4B
  • 논문 내 csp_yolo2 설정에 해당
  • bracket counting, 변수 바인딩 실험에 사용
  • Hugging Face 및 GitHub에서 제공

간단한 사용 예제

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

PROMPT = "def square_sum(xs):\n    return sum(x * x for x in xs)\n\nsquare_sum([1, 2, 3])\n"

tok = AutoTokenizer.from_pretrained("openai/circuit-sparsity", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    "openai/circuit-sparsity",
    trust_remote_code=True,
    torch_dtype="auto",
)

model.to("cuda" if torch.cuda.is_available() else "cpu")

inputs = tok(PROMPT, return_tensors="pt", add_special_tokens=False)["input_ids"].to(model.device)

with torch.no_grad():
    out = model.generate(
        inputs,
        max_new_tokens=64,
        do_sample=True,
        temperature=0.8,
        top_p=0.95,
    )

print(tok.decode(out[0], skip_special_tokens=True))

이 예제는 희소 모델을 일반적인 언어 모델처럼 로드하고, Python 코드 프롬프트에 대한 출력을 생성하는 방법을 보여줍니다.


728x90

이번 OpenAI의 circuit-sparsity 공개는 다음과 같은 의미를 가집니다.

  • 가중치 희소성은 성능 저하 없이 명확한 내부 구조 분석을 가능하게 함
  • 개별 뉴런과 어텐션 채널 수준에서 작고 명시적인 알고리즘 회로를 복원 가능
  • 문자열 닫기, 괄호 중첩, 변수 타입 추적과 같은 동작이 실제로 어떻게 구현되는지 확인
  • 브리지 메커니즘을 통해 해석 가능한 희소 회로와 실제 밀집 모델을 연결

앞으로 이 접근은 “모델이 왜 이런 답을 냈는가”라는 질문에 구조적으로 답할 수 있는 기반을 제공하며, 신뢰성과 제어 가능성이 중요한 AI 시스템 연구에 중요한 출발점이 될 것으로 기대됩니다.

300x250

https://www.marktechpost.com/2025/12/13/openai-has-released-the-circuit-sparsity-a-set-of-open-tools-for-connecting-weight-sparse-models-and-dense-baselines-through-activation-bridges/?fbclid=IwY2xjawOs0C9leHRuA2FlbQIxMABicmlkETFacDBzMXFKUXl1Wmp3aGt3c3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHiG2aMYW0pFoD2RwDMYj0WR7Ss5KTXK5QqE4vDInZJ3egs_nu8c3Mzz9IKeb_aem_I5uSN3jSgCoqnksiT-cPNA

 

OpenAI has Released the 'circuit-sparsity': A Set of Open Tools for Connecting Weight Sparse Models and Dense Baselines through

OpenAI Released the 'circuit-sparsity': A Set of Tools for Connecting Weight Sparse Models and Dense Baselines through Activation Bridges

www.marktechpost.com

728x90
반응형
그리드형