https://arca.live/b/alpaca/110137556?p=1
LLM 트랜스포머의 레이어들은 무슨 일들을 할까? - Ai 언어모델 로컬 채널
The Remarkable Robustness of LLMs:Stages of Inference?https://arxiv.org/abs/2406.19384며칠전에 MIT에서 발표한 논문을 소개하겠습니다. 유명한 물리
arca.live
펌글
The Remarkable Robustness of LLMs:Stages of Inference?
https://arxiv.org/abs/2406.19384
며칠전에 MIT에서 발표한 논문
딥러닝 모델의 내부는 초창기에는 블랙박스라고 생각해왔지만, 지금은 연구가 활발히 진행되면서 내부의 원리들에 대한 분석들이 많이 등장하고 있습니다. 내부 분석에 대해 활발하게 연구하고, 그 성과를 가시적으로 잘 보여주는 회사는 최근 최고 성능의 언어모델 claude 3.5 를 내놓은 anthropic 입니다. 그들의 연구블로그에 가보면 트랜스포머의 내부 작동원리에 대해 다각도로 파고든 결과들을 볼 수 있습니다. 대표적인 사례로는 언어 모델의 알맹이 레이어들을 모두 빼고 학습을 해본다던가, 딱 한장만 넣고 학습을 해본다던가 하는 식의 접근이 있고, 최근에 알려진 사례로는 중간 잔차스트림의 활성화값을 희소 오토인코더로 학습시켜서 모델이 하는 생각을 개별적인 인간의 개념과 연결해서 해석할 수 있게 해준다던가 하는 연구가 있지요 (금문교)
오늘 소개해드리는 논문은 약간 다른 방향으로 모델의 트랜스포머 레이어들을 조작해서 모델에 어떠한 영향이 가는지 비교해본 실험입니다. 이 논문에서 한 방법은 두 가지입니다.
(Layer Ablation): 언어모델의 트랜스포머 레이어가 100 개 정도 쌓여있다고 할 때, 각 레이어들을 빼보기
ex) 0번 레이어만 빼고 나머지를 연결한 모델, 1번 레이어만 빼고 나머지만 연결한 모델, ... 99번 레이어만 빼고 나머지만 연결한 모델 등등 경우 별로 실험
(Layer Swap): 레이어를 빼지 않고 다음 레이어와 자리 바꾸기
ex) 1, 0, 2,3,4,5... 같은 식으로 자리 바꾸기, 0,2,1,3, ... 같은 식으로 자리 바꾸기... 등등 경우 별 실험으로 모델에 살짝씩 장애요소를 가하는 것.

그렇다면 결과는?
1.
먼저, 모델의 레이어를 제거하거나 바꿔치기 해도 원래 모델의 72%~95% 정도의 성능을 유지했다는 점을 확인했습니다.
중간 층의 레이어를 한개쯤 빼거나 뒤집은 것은 영향이 5% 정도
단, 초기레이어 (토큰이 임베딩으로 변환하고 나서 처음 만나는 레이어),
최후방 레이어 (임베딩들이 최종적으로 다시 토큰으로 변환되는 쪽) 의 레이어에 영향을 줬을 때는 성능저하가 큼
중간의 레이어들은 사실 의미로 보면 가장 심층적인 역할을 담당하는 것입니다. 가소성(plasticity)은 각 전체 요소를 구성하는 부분요소들이 서로 중복된 능력들을 갖고 있을때 가능한 것입니다. 회사에서도 각 직원들이 어느정도 여러가지 직무를 수행할 수 있도록 교육이 되어 있을때, 직원들이 중간에 휴가를 가거나 하더라도 업무가 마비되지 않고 돌아가는 것과 같은 원리입니다. (반대로 일부러 직원들을 돌아가면서 휴가를 보내줘야만 가소성 있는 조직을 만들 수 있습니다). 따라서 이런 심층 레이어들은 가소성이 높고, 외부의 충격(ablation 이나 swap)에 상대적으로 강건한 모습입니다.
예전에 DARE나 TIES같은 모델 병합기법에 대해 소개하면서 언급한 내용입니다만, 어떤 한 개념에 대해 지식을 습득하는 학습을 하게 되면 그 학습에 대한 영향은 특정 레이어가 아니라 여러 레이어에 퍼져서 학습하게 된다는 특징이 있습니다. 신경망이란 구조 자체가 생체의 가소성 있는 구조를 모방해서 만든 구조이기 때문입니다.
2.

다양한 모델의 구조 (gpt-2, pythia, phi 등) 을 대상으로 실험해본 결과 공통적인 요소를 발견할 수 있었는데, 언어모델이 수행하는 작업을 4가지 정도로 구분할 수 있습니다
1. Detokenization - 토큰들에서 변환된 엠베딩들을 점차 변환하여 단일한 개념으로 모아주는 변환이 일어납니다. 언어모델의 토큰 사전이 어떻게 구성되었냐에 따라 하나의 단어가 여러개의 토큰들로 끊어지는 경우가 종종 발생하는데, 이 과정에서 한 개념이 4 개의 토큰으로 쪼개졌건 3개로 쪼겨졌건 알아서 하나의 개념으로 뭉쳐지게 됩니다.
2. Feature Engineering - 전 단계에서 개념들이 잘 뭉쳐졌다면, 이제는 그 개념들이 상황에 맞게 맥락정보가 주입됩니다. apple이 과일인지 컴퓨터 회사인지 구분하게 되는 과정 같은 것입니다. 이부분에서는 특히 어텐션 연산의 중요도가 큽니다. 언어모델의 목표는 다음 토큰을 예측하기라는 목표를 갖고 학습된 것이지만, 이 단계에서는 다음 토큰 예측에 대한 부분에는 별로 영향을 주지 않고, 어텐션을 통한 눈치싸움이 치열하게 일어납니다
3. Prediction Ensembling - 어느정도 개념주입이 되었으니 다음에 무슨 말을 할까 (어떤 토큰을 뱉을까)에 대해 고민하는 단계입니다. 여기부터는 MLP레이어의 영향력이 커지고, 다음 생성될 토큰으로 유력한 후보들이 떠오르게 됩니다.
4. Residual Sharpening - 이제 마지막 단계입니다. 최종적으로 토큰을 만들기 전에 하지 말아야 할 것들에 대한 점검을 수행합니다. 무슨 말을 할지에 대한 예측보다는 자기검열이 활발히 작동합니다. 논리적으로 모순이 될 내용으로 이어질 토큰들의 확률을 낮춘다던가, 모델이 특정 사안에 대해 말하지 않도록 검열 RLHF 되었다면 그런 부분이 작동한다던가 하는 식입니다.
위의 4가지 구조가 대략 순서에 따라 나타난다는 점이 본 실험에서 발견한 점입니다. 위에 써놓은 단계별 특징은, 반대로 말하면 각 단계의 레이어들에 방해를 가하면 저러한 능력이 떨어진다는 결과를 관측했다는 것입니다.
구체적인 실험 방법과 결과들에 대해서는 관심있으신 분들은 논문을 확인해보시기 바랍니다.
'TechStudy > LLM' 카테고리의 다른 글
[펌] 사람처럼 생각하는 자체교정 프롬프트 (0) | 2024.09.09 |
---|---|
[펌] 프롬프트 엔지니어링(?)의 중요성 (0) | 2024.07.15 |
wandb 1회 밋업: 야놀자 EEVE 개발자 김승덕 (0) | 2024.06.27 |
wandb 1회 밋업: LG유플러스 김기현 연구위원 (0) | 2024.06.27 |
wandb 1회 밋업: intro, Chris Van Pelt, FriendliAI (1) | 2024.06.27 |