어쩌다데싸

Transformer, 도대체 그게 뭔데 - Attention편 본문

ML&DL

Transformer, 도대체 그게 뭔데 - Attention편

엔팁 2024. 12. 7. 17:53

 

목차

     

    🧡뉴진스🧡

     

    'Attention'이라는 단어를 들으면 무엇이 떠오르나요? 뉴진스의 데뷔곡이 떠오르신다면 삐빅- 정상입니다. 하지만 Transformer를 알게 되면 'Attention'이라는 단어가 노래 제목을 넘어, AI의 핵심 개념 중 하나로 떠오를 것입니다.

     

    Transformer는 "Attention Is All You Need"라는 논문에서 처음 등장했죠. 그만큼 Attention은 Transformer를 이해하는 데 있어 아주 중요한 핵심 개념입니다. 이 글을 읽고부터는 Attention 하면 뉴진스와 함께 Transformer 모델이 떠오르길 기대하며 처음 접하는 사람도 이해할 수 있게 기초부터 알아보겠습니다.

     

    1. Transformer 왜 알아야 할까?

    Transformer는 NLP 처리 분야에서 처음 등장했습니다. GPT, BERT, T5, BART 등 내로라하는 대규모 언어 모델들은 모두 Transformer에 기반해서 만들어진 모델들입니다. 우리가 이제는 흔하게 사용하고 있는 Chat GPT의 기본 모델도 바로 Transformer이죠. Transformer는 NLP뿐 아니라 컴퓨터 비전, 음성 처리, 추천 시스템 등 다양한 도메인에서 최고 성능을 보이며, 기존 모델을 대체하거나 혁신적으로 발전시킨 최초의 범용 딥러닝 아키텍처입니다. 

     

    텍스트 데이터뿐만 아니라 이미지, 오디오, 시계열 데이터 등 다양한 유형의 데이터를 처리하는 데 강력하기 때문에 AI를 공부하다 보면 필연적으로 마주치게 될 모델이죠. 실제로 많은 기업들에서 Transformer 계열의 모델을 실무에 적용하고 있습니다. 

    구글(Google)
    검색 알고리즘 개선 : 구글은 2017년 Transformer 모델을 처음 소개한 이후, 이를 기반으로 한 BERT 모델을 개발하여 검색 알고리즘의 정확성을 향상함

    오픈AI(OpenAI)
    자연어 처리 모델 개발: 오픈AI는 Transformer를 기반으로 한 GPT 시리즈를 개발하였으며, 특히 GPT-3와 GPT-4는 다양한 언어 생성 작업에서 뛰어난 성능을 보임

    아마존(Amazon)
    제품 추천 시스템: 아마존은 고객의 구매 패턴과 검색 이력을 분석하여 개인화된 제품 추천을 제공하기 위해 Transformer 모델을 적용함

    ...

     

     

    이번 글에서는 Transformer 등장 배경을 이해하기 위한 개념들과 핵심 아이디어인 'Attention' 알고리즘에 대해 정리하고, 다음 글에 이어 Transformer 모델에 대해 자세히 알아보겠습니다. 

     

     

    2. Transformer 등장 배경

    전통적인 시퀀스 모델인 RNN과 LSTM은 긴 문맥을 처리하는 데 한계가 있었습니다. 정보가 쉽게 소실되고, 학습 속도가 느린 데다 병렬 처리가 어렵다는 문제도 있었죠. Transformer는 이런 문제를 해결하기 위해 등장한 모델입니다. Transformer를 이해하기 전에, 전통적인 시퀀스 모델에 대해 간략하게 살펴보겠습니다.

     

    2.1 전통적인 시퀀스 모델

    (1) 시퀀스 모델(Sequence Model)

     

    시퀀스 데이터 예시

     

    시퀀스(순서가 있는 데이터)를 처리하거나 생성하는 데 사용되는 머신러닝 및 딥러닝 모델을 말합니다. 앞의 단어가 뒤에 올 단어에 영향을 미치는 텍스트, 음성 데이터나 시계열 데이터 등 순서가 필수적인 데이터들을 처리하는 모델입니다.

     

    (2) RNN과 LSTM

    RNN 기본 구조

     

    RNN(Recurrent Neural Network)은 딥러닝 기반 시퀀스 모델의 가장 기본적인 형태로, 이전 입력의 정보를 순환 구조로 기억하며 처리하는 방식입니다. 이때 발생하는 장기 의존성 한계를 극복하기 위해 등장한 방식이 LSTM(Long Short-Term Memory)입니다. 하지만 여전히 높은 계산 비용 문제, 병렬 처리 어려움, 장기 의존성 문제의 완벽한 해결 불가능, 그래디언트 소실 및 폭발 문제 등 많은 한계점을 가지고 있습니다. 더 자세하게 다룰 수 있지만, 시퀀스 모델의 한계가 Transformer의 등장 배경이라는 점만 이해해도 충분합니다.

     

    (3) Seq2Seq 모델

    기존 Seq2Seq 모델 구조

     

    Seq2Seq 모델은 RNN 계열의 모델(그림에서는 LSTM)을 인코더-디코더 구조로 확장하여 입력 시퀀스를 출력 시퀀스로 변환하는 작업을 수행하는 모델입니다. 여기서 인코더는 1개의 RNN 계열 셀을 통해 입력 문장을 하나씩 읽고 중요한 정보를 압축하여 고정된 길이의 벡터인 컨텍스트 벡터(Context Vector)로 요약합니다. 디코더는 이 컨텍스트 벡터를 입력으로 받아 마찬가지로 1개의 RNN 계열 셀을 통해 새로운 문장을 출력으로 생성합니다. (그림을 보면 인코더의 LSTM이 3개, 디코더의 LSTM이 4개인 것처럼 보일 수 있지만, 각각 1개의 셀이 시퀀셜하게 동작하는 것을 표현한 것입니다.)

     

    "입력 문장의 모든 정보를 고정된 길이의 컨텍스트 벡터에 압축한다." 이 점에 대해 생각해 보면 짧은 문장을 요약하기는 쉽지만, 길고 복잡한 문장을 압축한다면 중요한 정보가 손실될 가능성이 높아지면서 모델의 성능이 급격히 떨어지게 된다는 한계가 존재합니다.

     

    2.2 Attention

    이러한 한계를 해결하기 위해 등장한 것이 바로 Attention 메커니즘입니다. Attention은 입력 문장의 모든 정보를 균일하게 압축하는 대신, 디코더가 문장을 생성할 때 필요한 부분만 선택적으로 참고할 수 있도록 돕습니다. 뉴진스의 노래 가사처럼 중요한 정보, 관심 있는 부분에 대해서 말 그대로 "Attention"하는 것이죠. 

     

    기본적인 아이디어는 디코더에서 출력 단어를 예측하는 매 시점에서 인코더의 전체 입력 문장을 참고하는데, 모든 단어를 동일 비율로 참고하는 것이 아닌 중요한 부분에 집중(attention)해서 보는 것입니다. 이를 통해 긴 문장이나 복잡한 문맥도 더 효과적으로 이해하고 처리할 수 있게 되었습니다.

     

     

     

    그렇다면 어떻게 중요한 부분임을 구분할 수 있는 걸까요? 바로 어텐션 함수를 통해 Query와 모든 Key에 대해서 유사도를 구하는 것입니다. 우선, 어텐션 함수를 이해하기 위해 필요한 Query, Key, Value에 대해 알아보겠습니다. Attention의 기본 메커니즘은 기본적으로 Query와 Key의 유사도를 계산하여, Value를 가중치로 조합한 결과를 생성합니다. 도서관에서 책을 검색하는 상황을 예시로 들어 개념을 이해해 보면 아래와 같습니다.

    • Query : 디코더에서 입력된 현재 단어(혹은 상태)에 대한 정보. (ex. "중세 유럽에 관한 책을 찾고 싶어.")
    • Key :  인코더에서 각 입력 단어(토큰)의 특성. (ex. 각 책의 제목, 키워드 등 ("중세 역사", "유럽 문화", "현대 물리학" 등))
    • Value : 인코더에서 각 단어가 가지고 있는 실제 정보 (ex. 실제로 가져올 책의 실제 내용)

    이러한 Q, K, V 값을 가지고 Attention 함수는 아래 단계를 거쳐 동작합니다. 

     

     

    (1) Query와 Key의 유사도 계산

    어텐션 스코어 계산하는 과정

    Query와 Key의 내적(Dot Product) 또는 다른 유사도 계산 방법을 통해 관련성을 계산합니다. 여기서 Query는 현재 시점 디코더의 은닉상태($s_{t}$)가 되고, Key는 인코더의 각 단어(토큰)의 은닉 상태($h_{i}$)가 됩니다. Dot Product로 각 입력 단어 별 어텐션 스코어의 집합($e_{t}$)을 구해줍니다. 

     

     

    (2) Softmax를 통해 가중치 계산

    분류 클래스에서 사용하는 Softmax 함수에 어텐션 스코어의 집합을 통과시키면 0과 1 사이의 각 입력 단어 각각에 대한 가중치를 생성합니다. 이 가중치를 통해 입력된 단어들 중 어떤 단어가 현재 Query에 더 중요한지 선별할 수 있게 됩니다. 이때 각각의 값을 어텐션 가중치라고 하고, 전체 확률분포를 어텐션 분포($\alpha^{t}$)라고 합니다. 

     

     

    (3) Value의 가중합 계산

    다음으로 어텐션의 최종 결과값인 어텐션 값(Attention Value)을 얻기 위해 각 인코더의 은닉 상태와 어텐션 가중치 값들을 곱하고 더하는 가중합(Weighted Sum)을 진행합니다. 이 과정을 통해 최종 출력이 생성되며 Query와 가장 관련 있는 Value가 더 크게 반영됩니다.

     

    $a_{t}=\sum_{i}^{N}{\alpha_{i}}^{t}h_{i}$

     

    어텐션 값($a_{t}$)은 인코더의 문맥을 포함하고 있다고 해서 컨텍스트 벡터(context vector)라고 불리는데, 앞서 기존의 seq2seq에서 인코더의 마지막 은닉 상태를 컨텍스트 벡터라고 부르는 것과 혼동하지 않게 주의해야 합니다.

     

     

    (4) 어텐션 값을 반영한 단어 예측

    앞선 과정으로 구해진 어텐션 값을 예측에 반영하기 위해, 어텐션 값과 디코더의 t 시점의 은닉상태를 연결합니다. (Concatenate) 이렇게 연결된 값을 디코더의 입력으로 넣어 Softmax 함수를 통해 최종적으로 단어 예측을 하게 됩니다. 모든 정보를 압축해서 Context Vector 형태로 전달했던 Seq2Seq과 달리 디코더의 현재 시점에서 가장 유사한 입력 단어를 고려해 출력하기 때문에 보다 뛰어난 성능을 보일 수 있게 됩니다.

     

     

    2.3  Transformer의 등장

    Attention을 적용하자 Seq2Seq 모델의 성능은 크게 향상되었고, 긴 시퀀스에서 성능이 떨어지는 문제도 개선되었습니다. 하지만 Attention 메커니즘은 여전히 RNN 순차적 특성에 의존하고 있었고, 순차적인 처리는 한 단계가 처리돼야 다음 단계가 처리될 수 있어 병렬 처리가 불가능하고 시간 복잡도가 시퀀스 길이에 비례해 늘어난다는 한계가 있었습니다. 

     

    그래서 RNN 계열을 완전히 배제하고 시퀀스 데이터를 처리할 수 있는 Transformer 모델이 등장하게 됩니다. Transformer는 'Self-Attention'을 활용해 모든 단어 간의 관계를 동시에 학습하며, RNN의 순차적 한계를 완전히 극복합니다.

     

    Transformer 모델은 딥러닝과 NLP 분야에서 엄청난 혁신을 가져왔고, 이후 Transformer 기반의 변형 모델들(BERT, GPT, T5 등)이 개발되어 NLP와 생성형 AI 작업해서 최고 성능을 보였습니다. 이제는 삶에 익숙해진 Chat-GPT와 같은 생성형 모델들이 바로 Transformer 모델에서 변형되어 만들어진 것입니다. 

     

     

    3. 요약 & 정리

    Attention은 모든 입력 데이터를 동일하게 처리하는 대신, 필요한 정보에 가중치를 부여해 중요한 부분에 더 집중할 수 있도록 설계된 알고리즘입니다. 디코더가 문장을 생성할 때 매 시점에서 입력 문장 전체를 참고하면서, Query와 Key 간의 유사도를 계산하고, Value를 가중합 하여 가장 중요한 정보가 반영되도록 돕습니다. 이러한 동적인 정보 처리 방식은 긴 문맥을 더 효과적으로 이해하고, 병렬 처리까지 가능하게 만들었습니다.

     

    이번 글에서 기억해야 할 핵심은 Transformer가 이러한 Attention 메커니즘을 활용해, RNN과 LSTM의 한계를 극복하며 AI 모델의 구조를 재정의했다는 점입니다. 다음 글에서는 Transformer 내부의 Self-Attention 메커니즘과 그 작동 원리를 구체적으로 다뤄 보겠습니다.

    'ML&DL' 카테고리의 다른 글

    Transformer, 도대체 그게 뭔데 - Transformer 편 (1)  (0) 2025.01.19