LLM에서의 ‘채널’이란

결론부터 말하면, LLM, 특히 트랜스포머(Transformer) 아키텍처에서 ‘채널’은 주로 피드 포워드 신경망(Feed-Forward Network, FFN)의 중간 확장 계층(intermediate expansion layer)의 차원(dimension)을 의미합니다.

트랜스포머의 각 블록은 크게 ‘셀프 어텐션(Self-Attention)’ 부분과 ‘피드 포워드 신경망(FFN)’ 부분으로 나뉩니다. FFN은 어텐션을 통해 얻은 정보를 각 토큰 위치별로 독립적으로 처리하고 보강하는 역할을 합니다. 바로 이 FFN에서 ‘채널’의 개념이 등장합니다.

A.1) 피드 포워드 신경망(FFN)의 구조

FFN은 일반적으로 두 개의 선형 계층(Linear Layer)과 그 사이에 위치한 비선형 활성화 함수(GELU나 ReLU 등)로 이루어져 있습니다.

  1. 첫 번째 선형 계층 (확장): 입력 차원 을 더 큰 중간 차원 로 확장합니다.
  2. 활성화 함수: 비선형성을 추가합니다.
  3. 두 번째 선형 계층 (축소): 중간 차원 를 다시 원래 입력 차원 로 축소합니다.

수식으로 표현하면 다음과 같습니다.

각 변수와 텐서의 크기는 다음과 같습니다.

  • : FFN의 입력 텐서 (어텐션 레이어 출력), 크기는
  • : 첫 번째 선형 계층 가중치 행렬, 크기
  • : 첫 번째 선형 계층 편향
  • : 두 번째 선형 계층 가중치 행렬, 크기
  • : 두 번째 선형 계층 편향
  • : FFN의 최종 출력 텐서, 크기는

여기서 가 바로 ‘채널 수’에 해당하며, 일반적으로 보다 훨씬 큰 값(보통 약 4배)을 사용합니다. 예를 들어, Llama 2 (7B)의 경우에는 , 입니다.

핵심은, 첫 번째 선형 변환()을 통해 입력 벡터( 차원)가 중간 벡터( 차원)로 확장되는데, 이 때 각각의 차원이 바로 하나하나 ‘채널’이라고 볼 수 있습니다. 각 채널은 서로 다른 특성(feature)을 잡아내고 처리하는 역할을 한다고 이해할 수 있습니다.

구체적인 예시

아주 간단한 예를 들어보겠습니다.

  • (모델 기본 벡터 크기)
  • (채널 수 = 8)

예를 들어 문장에서 “고양이”라는 토큰 하나가 처리된다고 가정하면 입력 벡터 X는 다음과 같이 나타낼 수 있습니다:

첫 번째 선형 계층 (확장) 입력 X에 가중치 행렬 을 곱하면 중간 벡터 H가 생성됩니다:

이 연산 결과 H는 다음과 같이 8개의 원소를 갖습니다:

바로 이 각각의 요소(, 즉 총 8개)가 ‘채널’에 해당합니다.

활성화 함수 및 두 번째 선형 계층 H에 활성화 함수를 적용한 뒤, 두 번째 가중치 행렬(, 크기: )과 곱해 다시 원래 차원()의 출력 벡터 Y가 만들어집니다.

정리하자면, 트랜스포머에서 말하는 ‘채널’이란 FFN 내에서 임시로 확장되는 중간 차원의 각 요소를 의미하며, 이들은 서로 다른 정보 특징(feature)을 파악하고 처리하는 역할을 담당하게 됩니다.

B) AWQ와 Saliency 계산에의 적용

AWQ각 채널을 통과하는 활성화(Activation) 값의 크기를 기반으로 해당 채널의 중요도를 평가합니다.

예를 들어, 중간 벡터 가 바로 이 활성화 값에 해당합니다. AWQ는 보정용 데이터셋(calibration dataset)을 모델에 입력하여 모든 토큰에 대한 값을 관찰합니다. 그리고 각 채널 (여기서는 1부터 8까지) 에 대해 평균 절대값을 계산하여 중요도를 산출합니다.

예를 들어, 여러 입력에서 3번째 채널()의 평균 절대값이 다른 채널보다 현저히 크다고 가정해보겠습니다.

  • ( Salient Channel)

AWQ는 이렇게 가 두드러지게 큰 경우, 을 생성하는 데 관여한 가중치와 을 입력으로 사용하는 가중치가 모델의 성능에 매우 중요한 역할을 한다고 봅니다. 즉, 3번째 채널을 ‘Salient Channel(중요 채널)‘로 식별하는 것입니다.

이처럼 중요한 채널에 대해서는 양자화 과정에서 발생할 수 있는 오차를 최소화하기 위해 스케일링 팩터를 적용하여 가중치를 보호합니다. 구체적으로는, 의 3번째 열(column)과 의 3번째 행(row)이 보호 대상이 됩니다.

요약

  • LLM에서의 채널: FFN(Feed Forward Network)의 중간 확장 계층 차원(). 각 차원이 하나의 채널입니다.
  • AWQ에서 Saliency 계산: 각 채널별로 중간 벡터 의 평균 절대값을 측정해 중요도를 평가하고, 중요한(살리언트한) 채널을 찾습니다.
  • 결과: 중요한 채널과 관련된 가중치(의 열, 의 행)를 스케일링 기법으로 보호하여 양자화에 따른 손실을 최소화합니다.