홈으로 돌아가기

신경망과 곱셈: 트랜스포머에서의 SwiGLU

이 글은 고전 신경망에서 곱셈의 부재와 트랜스포머에서 SwiGLU의 역할을 설명합니다. 공식, 벤치마크, LLM에 대한 실질적 함의를 분석합니다.

SwiGLU: 신경망이 곱셈을 배우게 된 방법
Advertisement 728x90

신경망이 곱셈을 하지 않는 이유: 퍼셉트론에서 SwiGLU까지

신경망은 텍스트와 이미지를 생성하는 데 성공했음에도 불구하고, 근본적으로 입력 데이터의 곱셈을 수행하지 않습니다. 퍼셉트론에서는 입력이 선형 결합을 거칩니다: 가중치가 적용되고 합산됩니다. 기본 뉴런의 공식은 다음과 같습니다: $$h = \sigma(\sum w_i x_i + b)$$, 여기서 두 변수 $x_1 \cdot x_2$의 곱은 존재하지 않습니다.

비용(가격 × 수량) 계산과 같은 작업의 경우, 네트워크는 패턴을 기억하여 결과를 근사하지만 직접 곱셈을 계산하지는 않습니다. 은닉층을 추가해도 원칙은 유지됩니다: 각 단계에서 가중치가 적용된 신호의 합만이 관여합니다.

첫 번째 층에서:

Google AdInline article slot

$$h_1^{(1)} = x_1 w_{11}^{(1)} + x_2 w_{12}^{(1)}$$

$$h_2^{(1)} = x_1 w_{21}^{(1)} + x_2 w_{22}^{(1)}$$

두 번째 층에서:

Google AdInline article slot

$$h_1^{(2)} = h_1^{(1)} w_{11}^{(2)} + h_2^{(1)} w_{12}^{(2)}$$

대입을 통해 보면: $x_1$과 $x_2$는 합에 남아 있으며, 그들의 곱은 발생하지 않습니다. 가중치는 층 사이에서 곱해지지만, 입력은 그렇지 않습니다.

해결 방법: 제곱과 사전 계산

엔지니어들은 곱셈을 시뮬레이션하기 위해 사전에 곱해진 값($x_1 x_2$)이나 제곱을 입력에 추가합니다. 학교에서 배운 공식을 통해 곱을 표현할 수 있습니다:

Google AdInline article slot

$$x y = \frac{1}{2} \left( (x+y)^2 - x^2 - y^2 \right)$$

이는 곱셈을 덧셈, 뺄셈, 제곱으로 줄여줍니다. 가상의 활성화 함수 $f(z) = z^2$가 도움이 될 수 있지만, 표준 ReLU, Sigmoid, Tanh는 제곱의 비선형성을 제공하지 않습니다.

실제로는: 이러한 해결 방법은 데모에는 작동하지만, 많은 입력이 있는 실제 작업에서는 필요한 조합을 미리 알아야 합니다.

  • 사전 계산: $x_1 x_2$를 입력으로 제공.
  • 제곱: $(x+y)^2$, $x^2$, $y^2$ 사용.
  • 한계: 확장성이 없으며, 보편적 근사자 특성을 훼손함.

트랜스포머의 돌파구: GLU 변형의 역할

트랜스포머 아키텍처(2017년)는 어텐션을 도입했지만, 중요한 단계는 2020년에 활성화 함수를 Gated Linear Units(GLU)로 대체한 것입니다(Noam Shazeer, "GLU Variants Improve Transformer"). ReGLU, GEGLU, SwiGLU는 수렴 속도에서 ReLU를 능가합니다.

| 활성화 함수 | 오류 |

|-----------|--------|

| ReLU | 2.45 |

| ReGLU | 2.32 |

| GEGLU | 2.25 |

| SwiGLU | 2.24 |

SwiGLU는 속도 때문에 선호됩니다. 공식:

$$\text{SwiGLU}(x) = \text{Swish}(x W + b) \odot (x V + c)$$

여기서 $\odot$는 두 투영의 요소별 곱셈입니다. 이는 2차 의존성을 도입하여 해결 방법 없이 $x_1 x_2$를 모델링할 수 있게 합니다. SwiGLU는 현대 LLM의 FFN 블록에서 사용됩니다.

메커니즘:

  • 입력 $x$는 두 경로로 투영됩니다: $xW + b$와 $xV + c$.
  • 첫 번째는 Swish를 통과합니다($\text{Swish}(z) = z \sigma(\beta z)$).
  • 요소별 곱셈.

모델에 대한 실질적 영향

SwiGLU는 학습을 개선하지만 AI를 정밀한 계산기로 만들지는 않습니다. 생성 모델은 확률적입니다: "2×2=4"는 추론이 아니라 가능성이 높은 토큰입니다. 복잡한 계산을 위해 LLM은 샌드박스에서 Python 코드에 위임합니다.

  • GLU의 장점: 더 나은 수렴, 비선형성 모델링.
  • 단점: 네트워크가 항상 필요한 가중치를 자동으로 찾지는 않음.
  • 많은 양의 데이터가 필요함.
  • 확률적 특성은 지속됨.

미래 통합(트랜스포머 내 WebAssembly)은 모델 내에서 네이티브 코드를 실행할 수 있게 할 것입니다.

핵심 요약

  • 고전적 퍼셉트론은 입력을 더하지만 곱하지는 않습니다.
  • GLU(SwiGLU)는 2차 의존성을 위해 투영의 요소별 곱셈을 도입합니다.
  • 게이트 유닛이 현대 트랜스포머에서 ReLU를 대체하여 오류를 5–10% 감소시킵니다.
  • 정밀한 계산을 위해 LLM은 외부 도구를 사용합니다.

— Editorial Team

Advertisement 728x90

다음 읽기