Targeted Recovery of Weight-Space Mechanisms From Neural Networks
이 논문은 비대상 데이터를 처리하기 위한 고차원(high-rank)의 캐치올(catch-all) 성분을 사용하여 대규모 신경망 내에서 특정 계산 회로를 격리함으로써, 계산 비용을 대폭 절감하면서도 메커니즘의 효율적인 복구와 정밀한 조작을 가능하게 하는 확장 가능한 방법인 표적 매개변수 분해(Targeted Parameter Decomposition, tPD)를 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신에게 거대한 마법의 도서관이 있다고 상상해 보세요. 이 도서관의 모든 책은 인터넷에 있는 거의 모든 것을 읽고 언어를 배운 초지능 로봇에 의해 쓰였습니다. 이 로봇은 대규모 언어 모델(LLM)로 알려져 있으며, 당신의 문장을 완성하거나, 코드를 작성하거나, 이야기를 들려주는 데 매우 능숙합니다. 하지만 여기 함정이 있습니다. 아무도 그것이 어떻게 그 일을 해내는지 실제로 알지 못한다는 점입니다. 그것은 마치 '블랙박스'와 같습니다. 당신이 질문을 넣으면 완벽한 답변이 나오지만, 그 내부에서 돌아가는 톱니바퀴는 인간이 쉽게 읽을 수 없는 수십억 개의 작은 스위치(파라미터라고 불리는)들이 엉킨 복잡한 덩어리입니다.
'기계적 해석 가능성(mechanistic interpretability)'을 연구하는 과학자들은 이 블랙박스를 분해하여 내부의 톱니바퀴를 보려는 탐정들과 같습니다. 그들은 "Paris"가 "France"의 수도라는 것을 알거나, CSS 코드를 작성하는 법을 아는 것과 같은 특정 작업에 책임이 있는 로봇 뇌 속의 구체적인 작은 회로를 찾고자 합니다. 최근 '파라미터 분해(Parameter Decomposition)'라고 불리는 방법은 로봇의 뇌를 작고 단일 목적을 가진 부분들로 나누어 분석하려고 시도합니다. 하지만 이 방법은 동네 빵집으로 가는 경로를 찾기 위해 거대한 나라의 모든 거리를 지도화하려는 것과 같습니다. 이는 엄청난 시간, 돈, 그리고 컴퓨터 연산 능력을 소모합니다. 너무 비용이 많이 들어서 현재 존재하는 가장 크고 똑똑한 로봇들에게 이 방식을 적용하는 것은 불가능합니다.
여기서 Antoine Vigouroux와 Lee Sharkey의 새로운 논문이 등장합니다. 그들은 '표적 파라미터 분해(Targeted Parameter Decomposition, tPD)'라는 영리한 지름길을 제안합니다. 로봇의 뇌 전체를 한꺼번에 지도화하는 대신, 그들은 "만약 우리가 CSS 코드나 특정 수학적 기법처럼 단 하나의 특정 사항을 로봇이 어떻게 다루는지에 대해서만 관심을 가진다면 어떨까?"라고 묻습니다. 그들의 방법은 그 특정 사항 외에 로봇이 하는 모든 것들을 잡아내는 거대한 안전망을 구축하여, 과학자들이 오직 중요한 특정 톱니바퀴에만 에너지를 집중할 수 있게 해줍니다. 그들은 이 방법을 더 작은 로봇 뇌에 테스트했고, 이것이 비용이 많이 드는 전체 매핑 방법만큼 잘 작동하면서도 훨씬 적은 양의 컴퓨터 전력을 사용한다는 것을 발견했습니다. 실제로 그들은 특정 명령(예: "import numpy as")에 대한 로봇의 기억을 외과적으로 제거하거나, 심지어 그것들을 서로 맞바꾸어 로봇이 "import pandas as" 대신 "import pandas as"라고 말하게 만들면서도, 로봇의 다른 능력들을 망가뜨리지 않았습니다. 이는 거대한 병원급 장비 없이도 AI에 대해 정교한 뇌 수술을 수행하는 방법입니다.
핵심 아이디어: "전체 포괄형" 안전망
신경망(로봇의 뇌)을 거대한 오케스트라라고 생각해 보세요. 모든 악기(또는 가중치)는 음악을 만드는 데 역할을 합니다. 이 오케시아를 이해하는 기존 방식은 밴드가 동시에 수천 곡의 노래를 연주할 때마다 모든 악기가 연주하는 모든 음표에 대한 악보를 쓰는 것이었습니다. 이것이 저자들이 언급한 "전체 모델 분해(full-model decomposition)"입니다. 정확하긴 하지만, 이는 밴드가 수천 곡의 노래를 연주하는 동안 교향곡을 필사하려는 것과 같습니다. 시간이 너무 오래 걸리고 이를 따라잡기 위해 엄청난 팀(컴퓨터)이 필요합니다.
저자들은 만약 당신이 오케스트라가 연주하는 단 하나의 특정 노래(예: 특정 CSS 코드 조각)를 어떻게 연주하는지만 알고 싶다면, 전체 콘서트를 필사할 필요가 없다는 것을 깨달았습니다. 단지 그 노래를 연 중에 있는 악기들이 무엇인지만 알면 됩니다. 하지만 문제가 있습니다. 만약 당신이 그 노래 하나에만 집중한다면, 어떤 악기가 정말로 그 노래를 위해 연주하는 것인지, 아니면 단순히 방 안의 울림 때문에 소리를 내는 것인지 구분할 수 없습니다. 그 악기가 그 노래에 정말 중요한 것인지, 아니면 그냥 다른 노래들을 위해 그 자리에 있는 것인지 알 수 없는 것입니다.
이 문제를 해결하기 위해 저자들은 "전체 포괄형(catch-all)" 구성 요소를 발명했습니다. 당신이 오케스트라를 녹음하고 있다고 상상해 보세요. 당신은 관심 있는 특정 악기들(타겟)에 마이크를 설치하지만, 무대의 나머지 부분에는 거대하고 매우 민감한 노이즈 캔슬링 담요를 덮습니다. 이 담요( 구성 요소)는 당신의 타겟 곡에 포함되지 않는 다른 악기들의 모든 소리를 잡아냅니다.
두 가지 데이터 스트림을 동시에 사용하여 시스템을 훈련시킴으로써—당신이 연구하고자 하는 특정 노래와 수많은 다른 무작위 노래들을 함께 사용하여—이 "전체 포괄형" 담요는 타겟이 아닌 모든 것을 흡수하는 법을 배웁니다. 이는 특정 마이크가 진정으로 타겟 곡에 필수적인 악기들만을 포착하도록 강제합니다. 만약 어떤 악기가 다른 노래들에만 사용된다면, 담요가 그것을 삼켜버릴 것이고 마이크는 침묵할 것입니다. 즉, 과학자들은 전체 오케스트라를 지도화할 필요 없이 특정 작업을 위한 정확한 "회로"를 찾을 수 있게 됩니다.
발견한 것: 속도, 정밀도, 그리고 수술
연구팀은 이 아이디어를 간단한 모델(작은 로봇)에 테스트했고, 그것이 완벽하게 작동한다는 것을 발견했습니다. 시스템에 세 가지 특정 특징만을 보도록 요청했을 때, 시스템은 나머지 97개를 무시하고 필요한 세 가지 메커니즘을 정확히 찾아냈습니다. 그것은 마치 다른 97개의 열쇠를 볼 필요 없이 거대한 열쇠 꾸러미에서 세 개의 특정 열쇠를 찾는 것과 같았습니다. 그들은 단순히 올바른 열쇠를 찾은 것뿐만 아니라, 기존 방법보다 약 5배 더 빠르게, 훨씬 작은 컴퓨터로 그 일을 해냈습니다.
그 후 그들은 실제 언어 모델인 "The Pile"이라는 거대 데이터셋으로 훈련된 4블록 트랜스포머로 넘어갔습니다. 그들은 CSS 코드를 처리하는 메커니즘을 격리할 수 있는지 확인하고자 했습니다. 이 타겟팅된 방법을 사용하여, 그들은 CSS 전용 서브모델을 추출해 냈습니다. 이 서브모델은 전체 분해 방법의 약 **7%**의 계산량(FLOPs)만을 사용했습니다.
결과는 놀라웠습니다. 이 CSS 전용 모델을 CSS 코드에 실행했을 때는 원래의 로봇과 똑같이 작동했습니다. 하지만 영어 나 Python으로 말하게 하려고 하면, 모델은 완전히 무너졌으며, 종종 "the"나 "count"라는 단어만 반복했습니다. 이는 그들이 로봇의 "CSS 뇌"를 나머지 부분으로부터 성공적으로 격리했음을 입증했습니다. 더욱 멋진 점은, CSS 코드의 들여쓰기를 인식하는 것과 같은 특정 하위 구성 요소들을 찾아냈다는 것입니다. 이 특정 구성 요소들을 껐을 때, 로봇은 CSS 들여쓰기를 이해하지 못했지만, Python 코드를 작성하는 능력은 완벽하게 유지되었습니다.
궁극의 테스트: 12블록 모델에 대한 뇌 수술
이 논문에서 가장 흥ile한 부분은 그들이 8500만 개의 비임베딩 파라미터를 가진 12블록 트랜스포머라는 더 큰 모델에 이 기술을 적용했을 때 일어났습니다. 그들은 매우 구체적인 작업에 집중했습니다: "import numpy as"라는 문구를 "np"로, "import pandas as"를 "pd"로 완성하는 로봇의 습관입니다. 이들은 Python 프로그래밍에서 흔히 쓰이는 명령어들입니다.
타겟팅된 방법을 사용하여, 그들은 이러한 완성을 담당하는 248개의 특정 하위 구성 요소를 식별했습니다. 그런 다음 그들은 디지털 "수술"을 수행했습니다.
첫째, 그들은 "numpy"에 특화된 구성 요소들을 절제(ablate)(전원을 끄기)했습니다. 결과는 어떠했을까요? 로봇은 더 이상 "import numpy as"를 "np"로 완성할 수 없게 되었습니다. 마치 그 특정 연관성에 대한 기억이 삭제된 것 같았습니다. 하지만 마법 같은 점은, 영문 텍스트, 다른 코드, 무작위 문장 등 로봇의 다른 모든 작성 능력은 전혀 손상되지 않았다는 것입니다. 로봇은 혼란에 빠지거나 다른 곳에서 실수를 하지 않았습니다.
그다음, 그들은 더 대담한 시도인 **재배선(rewiring)**을 시도했습니다. 각 구성 요소는 "입력" 방향과 "출력" 방향을 가지고 있기 때문에, 그들은 "numpy"와 "pandas" 구성 요소의 출력 방향을 서로 맞바꿨습니다. 그들은 본질적으로 "numpy" 부분의 뇌에게 "pandas"의 목소리로 말하라고 하고, 그 반대도 마찬가지로 명령한 것입니다.
결과는 기이하면서도 완벽했습니다. "import numpy as"를 입력하면 로봇은 이제 "pd"로 완성했습니다. "import pandas as"를 입력하면 "np"로 완성했습니다. 그것은 단순한 실수가 아니라, 지식을 진정으로 맞바꾼 것이었습니다. 그리고 다시 한번, 이 변화는 믿을 수 없을 정도로 구체적이었습니다. 일반적인 데이터(100,000개 이상의 토큰)에 대한 로봇의 행동은 원래와 거의 동일하게 유지되었습니다. "부작용"은 무시할 수 있는 수준이었습니다.
왜 이것이 중요한가 (그리고 중요하지 않은 것)
이 논문은 우리가 거대한 AI의 전체 뇌를 이해하거나 수정하기 위해 거대 슈퍼컴퓨터를 기다릴 필요가 없음을 시사합니다. 우리는 특정 행동에 줌인을 하여, 그것을 만드는 톱니바퀴를 격리하고, 나머지 기계를 원활하게 작동시키면서도 미세하게 조정할 수 있습니다.
하지만 저자들은 과도한 약속을 경계합니다. 그들은 이 방법이 암기된 시퀀스(예: "import numpy")나 특정 코드 유형(예: CSS)과 같이 구체적이고 잘 정의된 작업에 가장 잘 작동한다고 언급합니다. 그들은 역사나 과학에 관한 사실과 같은 복잡한 "세계 지식"을 편집하는 것은 더 어려울 수 있다고 인정하는데, 그 이유는 뇌가 동일한 사실을 저장하기 위해 여러 가지 중복된 방식을 사용할 수 있기 때문입니다. 만약 로봇에게 동일한 일을 하는 두 개의 서로 다른 톱니바퀴가 있다면, 하나를 꺼도 다른 톱니바퀴가 대신 작동하기 때문에 작업을 멈추지 못할 수 있습니다. 또한 그들의 가장 큰 모델도 오늘날 사용되는 "프런티어(frontier)" 모델들에 비하면 여전히 매우 작으므로, 규모를 키울 때 새로운 과제가 발생할 수 있다고 지적합니다.
하지만 현재로서는 이 "표적 파라미터 분해"는 강력한 새로운 도구입니다. 그것은 마치 망치가 아닌 메스를 가진 것과 같습니다. 전체 로봇을 한꺼번에 이해하려고 노력하는 대신, 이제 우리는 뚜껑을 살짝 들어 올려 궁금한 부분을 정확히 보고, 기계의 나머지 부분을 망가뜨리지 않고도 그 부분에 살짝 자극을 줄 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.