최대 1 분 소요

I-BERT는 트랜스포머 기반의 언어 모델인 BERT에 정수 기반 연산을 도입하여, 부동소수점 연산 없이도 정확도를 유지하며 추론할 수 있도록 한 연구입니다.

I-BERT는 당시 UC Berkeley Berkeley AI Research (BAIR) 그룹의 석박사 통합과정에 있던 Sehoon Kim이 제1저자로 주도하였으며, 2021년 ICML (International Conference on Machine Learning)에 구두 발표(Oral)로 채택되었습니다.

아키텍처

I-BERT는 트랜스포머 블록을 구성하는 LayerNorm, MatMul, Softmax, GELU 연산을 정수 연산으로 근사합니다.

  1. 2차 다항식은 정수 기반 연산으로 구현할 수 있습니다.
\[q_{\text{out}} = (q + \left\lfloor \frac{b}{S} \right\rfloor)^2 + \left\lfloor \frac{c}{aS^2} \right\rfloor,\quad S_{\text{out}} = \left\lfloor aS^2 \right\rfloor \quad \Rightarrow \quad q_{\text{out}} \cdot S_{\text{out}} \approx a(x + b)^2 + c\]
  1. LayerNorm의 제곱근 연산을 반복적인 선형 연산을 통해 근사합니다.

  2. MatMul은 선형 연산임으로 정수 연산이 가능합니다.

  3. Softmax를 구성하는 비선형 연산인 exp는 쉬프트 연산과 2차 다항식을 통해 정수 연산으로 구성합니다.

\[\exp(x) \approx 0.3585(x + 1.353)^2 + 0.344, \quad \text{for } x \in (− \ln2, 0]\]
  1. GELU의 erf 함수를 2차 다항식으로 근사합니다.
\[\text{erf}(x) \approx \operatorname{sgn}(x) \left[ (-0.2888) \cdot \left( \operatorname{clip}(|x|, \text{max} = -(-1.769)) + (-1.769) \right)^2 + 1 \right]\]

카테고리:

업데이트: