- 트랜스포머가 거대 언어모델의 기반이 된 이유 ➔ 계산의 효율성
- 계산의 효율성은 유연한 확장성과 유사
- 컴퓨팅 관점에서의 트랜스포머의 의미 분석
리뷰
트랜스포머
- RNN과의 차별점
- 시계열적 의존성에서 탈피
- 결과적으로 장기의존성을 완화시키는 역할
- 반대급부로 계산이 늘어나는 형태
- 유연한 확장성이 장점
- 멀티 헤드 어텐션에 주목해야 함
- 트랜스포머는 기계번역에 특화 (seq2seq)
- 언어 모델은 인코더나 디코더만 사용하는 경우가 다수
- 멀티헤드 어텐션의 의미가 중요 → dot product attention
dot product attention의 의미
- 내적(dot product)은 벡터의 유사도를 의미
- 입력(출력) 임베딩은 일차적으로 토큰 간의 유사도를 학습한 결과
- 토큰의 의미자체가 비슷한 경우를 학습
(ex. 생각하다-고려하다 등)
- 트랜스포머의 학습 가능한 모수인 쿼리, 키, 가치 행렬은 임베딩 벡터를 변화시키는 것으로 이해할 수 있음
- 이는 곧 유사도를 변경시키는 역할
- 단순한 유의어에서 벗어나 품사, 생물학적 속성
- 확장된 속성은 곧 다양한 표현의 가능성으로..
딥러닝의 계산적 특성
- 대부분의 계산이 행렬곱으로 구성
- 심층신경망, 합성곱신경망, 트랜스포머의 학습 및 추론에서 가장 큰 비중을 차지하는 것이 행렬곱
행렬곱
- 현대 계산자원이 왜 행렬곱을 잘 하는가?
- 가격대비 성능이 우수한 GPU가 왜 활용되는지를 이해
- 이를 위해 병렬처리의 기본개념과 루프라인 모델 설명
폰노이만 아키텍처
암달의 법칙
AXPY
AXPY의 계산 강도
행렬곱의 계산 강도
계산 강도와 루프라인 모델
결론
- 행렬의 크기가 충분히 크다면
- 그러나 알고리즘이 행렬곱으로만 되어 있는 것은 아님
- 거대 언어 모델의 경우 30% 수준의 이론성능 활용
- 구글의 PaLM이나 NVIDIA-MS의 MT-NLG는 SW최적화를 통해 이 수준을 끌어올림
댓글남기기