065. Attention Is All You Need — 트랜스포머 논문 핵심 정리
2017년 Google Brain의 Vaswani 등이 발표한 논문. RNN 없이 어텐션만으로 시퀀스를 처리하는 트랜스포머 아키텍처를 제안했다. 병렬 연산이 가능하고 장거리 의존성을 직접 포착한다는 두 가지 특성이 이후 모든 대형 언어 모델의 기반이 됐다.
2017년 Google Brain의 Vaswani 등이 발표한 논문. RNN 없이 어텐션만으로 시퀀스를 처리하는 트랜스포머 아키텍처를 제안했다. 병렬 연산이 가능하고 장거리 의존성을 직접 포착한다는 두 가지 특성이 이후 모든 대형 언어 모델의 기반이 됐다.
Sentence Transformers(SBERT)는 문장을 고정 크기 벡터로 변환해 의미적 유사도를 빠르게 계산할 수 있게 한다. 2019년 Reimers와 Gurevych가 제안했으며, BERT의 O(n²) 연산 문제를 샴 네트워크 구조로 해결했다. RAG, 의미 검색, 문장 클러스터링의 기반 기술이다.
Word2Vec(2013)은 단어를 고밀도 벡터로 표현하는 방법을 제안했다. 비슷한 맥락에서 등장하는 단어는 비슷한 벡터를 갖는다는 분포 가설을 기반으로, 신경망으로 단어 간 의미 관계를 학습한다. GloVe는 전체 말뭉치의 동시 출현 통계를 활용해 같은 목표를 다른 방식으로 달성했다.
토크나이저는 텍스트를 모델이 처리할 수 있는 토큰 시퀀스로 변환한다. 단어 단위 분리는 미등록 단어 문제가 있고, 문자 단위는 시퀀스가 너무 길어진다. BPE와 WordPiece는 자주 등장하는 문자 조합을 병합해 두 문제를 동시에 해결하는 서브워드 토크나이저다.
BERT(2018)는 트랜스포머 인코더를 양방향으로 사전학습한 모델이다. MLM과 NSP 두 가지 태스크로 대규모 텍스트에서 언어 표현을 학습하고, 다운스트림 태스크에 파인튜닝한다. 문맥 의존 임베딩으로 다의어를 처리하고, 이후 NLP 사전학습 모델의 기준이 됐다.
RoBERTa(2019)는 BERT 아키텍처를 바꾸지 않고 학습 방식만 개선해 성능을 크게 높였다. NSP 제거, 더 많은 데이터, 더 큰 배치, 동적 마스킹이 핵심이다. ‘좋은 사전학습 레시피’가 아키텍처만큼 중요하다는 것을 보여줬다.
ColBERT(2020)는 쿼리와 문서를 각각 토큰 단위 벡터로 인코딩하고, 검색 시 MaxSim 연산으로 유사도를 계산하는 Late Interaction 방식을 제안했다. Bi-Encoder의 속도와 Cross-Encoder의 정확도 사이 균형을 잡는다.
Prompt Tuning과 Prefix Tuning은 모델 가중치를 고정하고 입력 앞에 붙이는 학습 가능한 벡터(소프트 프롬프트)만 학습한다. 전체 파인튜닝의 0.1% 미만 파라미터로 비슷한 성능을 달성한다.