트랜스포머 (Transformer)

컴퓨터과학·AI
한 줄 정의: 문장 안의 모든 단어가 서로 얼마나 관련 있는지를 한꺼번에 계산해 문맥을 파악하는 신경망 구조입니다.
트랜스포머트랜스포머 진행 순서: 입력 단어 → 세 벡터로 변환, 세 벡터로 변환 → 유사도 계산, 유사도 계산 → 가중치 결정, 가중치 결정 → 값 결합.입력 단어문장 전체를 한 번에세 벡터로 변환쿼리·키·값유사도 계산쿼리와 키가중치 결정어느 단어에 집중할지값 결합가중치로 합침순서 정보는 위치 인코딩으로 보충, 멀티헤드는 이 연산을 여러 개 병렬로 둠한계문장이 길수록 단어 쌍이 급격히 늘어 계산량·메모리가 커짐트랜스포머트랜스포머 진행 순서: 입력 단어 → 세 벡터로 변환, 세 벡터로 변환 → 유사도 계산, 유사도 계산 → 가중치 결정, 가중치 결정 → 값 결합.입력 단어문장 전체를 한 번에세 벡터로 변환쿼리·키·값유사도 계산쿼리와 키가중치 결정어느 단어에 집중할지값 결합가중치로 합침순서 정보는 위치 인코딩으로 보충, 멀티헤드는 이연산을 여러 개 병렬로 둠한계문장이 길수록 단어 쌍이 급격히 늘어 계산량·메모리가 커짐

쉽게 풀면

여러 사람이 모인 회의를 떠올려 보세요. 유능한 진행자는 한 사람의 말이 끝나기를 순서대로 기다리는 대신, 지금 논의 주제와 관련해 누구의 발언이 더 중요한지를 그때그때 파악하면서 전체 맥락을 동시에 읽어냅니다.

트랜스포머도 이와 비슷하게, 문장의 단어를 처음부터 끝까지 순서대로 하나씩 읽는 대신 모든 단어를 한 번에 놓고 서로 얼마나 관련 있는지를 계산합니다. 이 덕분에 "그것"이 앞 문장의 어떤 단어를 가리키는지 같은 문맥 정보를 훨씬 효율적으로, 그리고 병렬로 빠르게 처리할 수 있습니다.

왜 중요한가

트랜스포머는 병렬 처리가 가능해 대규모 데이터와 대형 모델 학습을 현실적으로 가능하게 만들었고, 이는 오늘날 대형 언어모델과 여러 응용 AI 기술이 빠르게 발전하는 토대가 되었습니다. 그래서 자연어처리, 컴퓨터비전, 음성처리를 아우르는 최신 연구 대부분이 트랜스포머를 기본 구조로 채택하거나 이를 개선하는 방향으로 진행됩니다.

핵심 정리

트랜스포머는 입력 안의 모든 위치가 서로를 직접 참조하는 셀프 어텐션을 핵심 연산으로 쓰는 신경망 구조입니다. Vaswani 외(2017)가 순환 구조 없이 어텐션만으로 기계 번역을 하는 모델로 제안했습니다. 셀프 어텐션은 다음과 같이 계산합니다.

Attention(Q, K, V) = softmax(QKᵀ / √dk) V

예시로 보기

(작은 가상의 입력으로 코드 계산) 토큰 3개, dk = 2로 쿼리와 키를 같게 두고 Q = K = [[1,0],[0,1],[1,1]], 값을 V = [[1,2],[3,4],[5,6]]이라 합시다. 점수 QKᵀ/√2는 다음과 같습니다.

토큰1토큰2토큰3
토큰10.7070.0000.707
토큰20.0000.7070.707
토큰30.7070.7071.414

각 행에 softmax를 적용한 어텐션 가중치(행의 합 1)는 다음과 같습니다.

토큰1토큰2토큰3
토큰10.4010.1980.401
토큰20.1980.4010.401
토큰30.2480.2480.503

토큰1의 출력은 가중치로 값을 섞은 0.401×[1,2] + 0.198×[3,4] + 0.401×[5,6] = [3.000, 4.000]입니다. 이렇게 각 토큰의 출력이 다른 모든 토큰의 정보를 한 번에 반영합니다.

자주 하는 오해

논문에서는 이렇게 쓰입니다

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"본 연구에서 사용한 언어모델은 트랜스포머 구조를 기반으로 하며, 셀프 어텐션을 통해 입력 시퀀스 내 단어 간 관계를 학습한다."

모델이 문장을 순서대로 하나씩 처리하는 대신, 문장 속 모든 단어 쌍의 연관성을 동시에 계산하는 방식으로 설계되었다는 뜻입니다.

"본 논문은 이미지 분류 문제에 트랜스포머를 적용하여, 합성곱 신경망 없이도 대규모 데이터에서 경쟁력 있는 성능을 달성함을 보였다."

기존에 이미지 처리에 주로 쓰이던 합성곱 신경망 대신 트랜스포머를 이미지 분류에 적용한 연구를 설명한 문장입니다.

"음성 인식 모델에 트랜스포머 기반 인코더를 도입하여 장거리 음향 문맥을 효과적으로 포착하도록 설계하였다."

음성처리 분야에서 트랜스포머의 문맥 포착 능력을 활용한 사례를 설명한 문장입니다.

조금 더 깊게 보면

트랜스포머의 핵심 연산인 셀프 어텐션은 각 단어를 쿼리, 키, 값이라는 세 가지 벡터로 변환한 뒤, 쿼리와 키의 유사도를 계산해 어떤 단어에 더 집중할지를 정하고 그 가중치로 값을 결합하는 방식으로 동작합니다. 문장의 순서 정보를 직접 다루지 않기 때문에 위치 인코딩을 함께 사용하며, 여러 개의 어텐션을 병렬로 두는 멀티헤드 어텐션을 통해 서로 다른 종류의 관계를 동시에 포착하도록 설계된 경우가 일반적입니다.

주의할 점

트랜스포머는 자연어처리 분야에서 널리 쓰이지만 텍스트에만 국한되지 않으며, 이미지나 음성 등 다른 데이터에도 응용되고 있습니다. 다만 문장이 길어질수록 단어 쌍의 수가 급격히 늘어나 계산량과 메모리 사용량이 크게 증가하기 때문에, 실제로는 이를 줄이기 위한 다양한 경량화 기법이 함께 연구되고 있습니다.

헷갈리기 쉬운 용어

트랜스포머와 함께 나오는 용어는 구조·응용·이전 방식으로 나눠집니다.

용어무엇인가트랜스포머와의 관계
순환 신경망순서대로 한 단계씩 읽으며 은닉 상태를 갱신하는 구조트랜스포머는 순환 없이 모든 위치를 한 번에 참조합니다.
비전 트랜스포머이미지 조각을 토큰처럼 다루는 트랜스포머같은 구조를 이미지에 적용한 변형입니다.
대규모 언어 모델방대한 텍스트로 학습한 언어 모델트랜스포머 구조를 기반으로 하는 경우가 많습니다.
멀티헤드 어텐션어텐션을 여러 개 병렬로 두는 방식트랜스포머를 이루는 부품입니다.

참고 문헌

  1. Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention is all you need. Advances in Neural Information Processing Systems, 30.
  2. Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of deep bidirectional transformers for language understanding. Proceedings of NAACL-HLT 2019, 4171–4186.
  3. Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2021). An image is worth 16x16 words: Transformers for image recognition at scale. International Conference on Learning Representations.
  4. Bahdanau, D., Cho, K., & Bengio, Y. (2015). Neural machine translation by jointly learning to align and translate. International Conference on Learning Representations.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

개념 계통

상위 개념

분야 전체 개념 지도 보기 →

관련 용어