전문가가 전하는 최신 AI 트렌드
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
어텐션 메커니즘은 딥 러닝 모델이 입력 데이터에서 가장 관련성이 높은 부분에 우선순위를 부여(또는 주의)하도록 지시하는 머신 러닝 기법입니다. 어텐션 메커니즘의 혁신은 ChatGPT와 같은 인기 애플리케이션을 구동하는 최신 대규모 언어 모델(LLM)을 탄생시킨 트랜스포머 아키텍처를 가능하게 했습니다.
이름에서 알 수 있듯이 어텐션 메커니즘은 인간(및 다른 동물)이 눈에 띄는 세부 사항에 선택적으로 더 많은 주의를 기울이고 그 순간 덜 중요한 세부 사항은 무시하는 능력에서 영감을 얻었습니다. 모든 정보에 액세스하되 가장 관련성이 높은 정보에만 집중하면 의미 있는 세부 정보를 놓치지 않으면서도 제한된 메모리와 시간을 효율적으로 사용할 수 있습니다.
수학적으로 말하면, 어텐션 메커니즘은 해당 작업에 대한 입력 시퀀스의 각 부분의 상대적 중요성을 반영하는 어텐션 가중치를 계산합니다. 그런 다음 해당 어텐션 가중치를 적용하여 입력의 각 부분의 영향력을 각각의 중요도에 따라 증가(또는 감소)시킵니다. 어텐션 모델(즉, 어텐션 메커니즘을 사용하는 인공 지능 모델)은 대규모 예제 데이터 세트에 대한 지도 학습 또는 자기 지도 학습을 통해 정확한 어텐션 가중치를 할당하도록 훈련됩니다.
어텐션 메커니즘은 원래 2014년 Bahdanau et al에 의해 기계 번역에 사용된 당시 최첨단 순환 신경망(RNN) 모델의 단점을 해결하는 기술로 도입되었습니다. 이후의 연구에서는 이미지 캡션 및 시각적 질의응답과 같은 작업에 사용되는 합성 신경망(CNN)에 어텐션 메커니즘을 통합했습니다.
2017년, "Attention is All You Need"이라는 획기적인 논문에서 재귀와 합성곱을 완전히 피하고 오로지 어텐션 레이어와 표준 피드포워드 레이어만 사용하는 트랜스포머 모델을 소개했습니다. 이후 트랜스포머 아키텍처는 현재 진행 중인 생성형 AI 시대를 뒷받침하는 최첨단 모델의 근간이 되었습니다.
어텐션 메커니즘은 주로 요약, 질문 답변, 텍스트 생성 및 감정 분석과 같은 자연어 처리(NLP) 작업에 사용되는 LLM과 관련이 있지만, 어텐션 기반 모델은 다른 영역에서도 널리 사용됩니다. 이미지 생성에 사용되는 주요 확산 모델에는 종종 어텐션 메커니즘이 통합되어 있습니다. 컴퓨팅 비전 분야에서 비전 트랜스포머(ViT)는 물체 감지,1 이미지 분할2 및 시각적 질문 답변을 포함한 작업에서 우수한 결과를 달성했습니다.3
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
트랜스포머 모델과 이를 구동하는 어텐션 메커니즘은 딥 러닝의 거의 모든 하위 영역에서 최첨단 결과를 달성했습니다. 어텐션 메커니즘의 특성은 컨볼루션 신경망(CNN)에 사용되는 컨볼루션 메커니즘과 순환 신경망(RNN)에 사용되는 순환 루프에 비해 상당한 이점을 제공합니다.
딥 러닝의 어텐션 메커니즘이 어떻게 작동하는지, 그리고 왜 생성형 AI의 혁명을 촉발하는 데 도움이 되었는지 이해하려면 먼저 어텐션이 처음 도입된 이유, 즉 기계 번역에 사용되는 RNN 기반 Seq2Seq 모델을 개선하기 위해 어텐션이 처음 도입된 이유를 이해하는 것이 도움이 됩니다.
RNN은 '메모리'에 해당하는 반복 루프를 갖춘 신경망으로, 순차적인 데이터를 처리할 수 있습니다. RNN은 정해진 입력 벡터의 시퀀스를 받아 시간 단위로 처리합니다. 각 타임스텝이 끝나면 숨겨진 상태라고 하는 결과 네트워크 상태가 다음 입력 벡터와 함께 루프에 다시 제공됩니다.
RNN은 훈련 중에 그래디언트가 사라지거나 폭발하는 문제를 빠르게 겪습니다. 이로 인해 RNN은 처리할 수 있는 입력 문장의 길이가 크게 제한되었기 때문에 많은 NLP 작업에서 실용적이지 않았습니다.4 이러한 한계는 "장기" 메모리를 보존하기 위해 게이팅 메커니즘을 추가하는 장단기 메모리 네트워크(LSTM)라는 향상된 RNN 아키텍처로 어느 정도 완화되었습니다.
주목받기 전에는 Seq2Seq 모델이 기계 번역을 위한 최첨단 모델이었습니다. Seq2Seq은 인코더-디코더 아키텍처에서 두 개의 LSTM을 사용합니다.
고정된 수의 차원으로 입력 시퀀스를 인코딩하면 Seq2Seq가 다양한 길이의 시퀀스를 처리할 수 있지만 중요한 결함이 발생했습니다.
Bahdanau et al은 2014년 논문 "정렬 및 변환을 위한 공동 학습을 통한 신경망 기계 변환"에서 인코더와 디코더 간의 커뮤니케이션을 개선하고 정보 병목 현상을 제거하기 위해 어텐션 메커니즘을 제안했습니다.
인코더의 최종 숨겨진 상태인 컨텍스트 벡터만 디코더에 전달하는 대신, 이 모델은 모든 인코더의 숨겨진 상태를 디코더에 전달했습니다. 어텐션 메커니즘 자체는 디코더가 수행하는 각 번역 단계에서 어떤 숨겨진 상태, 즉 원본 문장의 어떤 단어가 가장 관련성이 높은지를 결정하는 데 사용되었습니다.
"이렇게 하면 모델이 전체 소스 문장을 고정 길이 벡터로 인코딩할 필요가 없으며, 다음 목표 단어 생성과 관련된 정보에만 집중할 수 있습니다."라고 논문에서는 설명합니다. "이는 신경망 기계 번역 시스템이 긴 문장에서 좋은 결과를 산출하는 능력에 큰 긍정적인 영향을 미칩니다."5
이후의 NLP 연구는 주로 재귀 모델에서 어텐션 메커니즘의 성능 개선과 사용 사례 확장에 초점을 맞췄습니다. 2017년, 어텐션만으로 구동되는 트랜스포머 모델이 발명되면서 결국 RNN은 NLP에 거의 쓸모없게 되었습니다.
어텐션 메커니즘의 주요 목적은 입력 시퀀스의 여러 부분의 상대적 중요성을 결정한 다음 모델이 중요한 부분에 집중하고 중요하지 않은 부분은 무시하도록 영향을 주는 것입니다.
주의 집중 메커니즘에는 사용 사례와 우선순위에 따라 다양한 변형과 카테고리가 있지만, 모든 주의 집중 메커니즘에는 세 가지 핵심 프로세스가 있습니다.
획기적인 "Attention is All You Need" 논문은 관계형 데이터베이스의 용어인 쿼리, 키, 값을 사용하여 어텐션 메커니즘을 설명했습니다. 관계형 데이터베이스는 관련 데이터의 저장 및 검색을 간소화하도록 설계되었습니다. 각 데이터에 고유 식별자("키")를 할당하고 각 키는 해당 값과 연결됩니다. NLP에서 모델의 "데이터베이스"는 훈련 데이터 세트에서 학습한 토큰의 어휘입니다.
"Attention is All You Need"이라는 논문의 막대한 영향으로 인해 이전의 어텐션 메커니즘조차도 종종 이러한 용어로 소급하여 설명되었습니다. 일반적으로 말하자면, 이 어텐션 개념은 시퀀스의 각 토큰에 대한 세 가지 유형의 벡터 표현 간의 상호 작용을 수반합니다.
특정 어텐션 메커니즘 변형은 주로 벡터가 인코딩되는 방식, 정렬 점수가 계산되는 방식 및 모델에 관련 정보를 제공하기 위해 어텐션 가중치가 적용되는 방식에 따라 구별됩니다.
Badhanau의 어텐션 메커니즘은 기계 번역을 위해 특별히 설계되었습니다. 양방향 RNN을 사용하여 각 입력 토큰을 인코딩하고, 입력 순서를 정방향과 역방향으로 처리하여 결과를 서로 연결합니다. 이 접근 방식은 예를 들어 원어와 번역어의 명사 및 형용사 순서 규칙이 다른 경우에 특히 유용합니다.
여기서, 번역된 문장의 각 타임스텝에서의 디코더 숨김 상태는 쿼리 벡터와 동일하고, 소스 문장의 각 스텝에서의 인코더 숨김 상태는 키 벡터와 동일합니다.
그런 다음 정렬 점수는 나머지 모델과 함께 공동으로 학습된 간단한 피드포워드 신경망인 어텐션 계층에 의해 결정됩니다. 이 어텐션 계층은 최대 3개의 학습 가능한 모델 가중치 하위 집합으로 구성됩니다. 숨겨진 디코더 상태("Wq")에 대한 쿼리 가중치, 숨겨진 인코더 상태("Wk")에 대한 키 가중치, 최종 아웃풋을 확장하는 값 가중치("wv")입니다. 이러한 가중치는 모델의 "지식"입니다. 손실 함수를 최소화하기 위해 학습하는 동안 이러한 가중치의 특정 값을 조정함으로써 모델은 정확한 변환을 하는 법을 학습합니다.
각 단계에서 추가 어텐션은 다음과 같이 작동합니다.
디코더가 번역된 문장을 생성하는 데 사용하는 컨텍스트 벡터는 각 키 벡터의 어텐션 가중치 합으로 계산됩니다. 가산 어텐션의 한 가지 장점은 쿼리와 키 벡터의 길이가 같을 필요가 없다는 것입니다.
2015년에 Luong et al은 기계 번역을 위한 Badhanau의 어텐션 메커니즘을 단순화하고 개선하기 위해 여러 가지 새로운 방법론을 도입했습니다. 아마도 가장 주목할 만한 기여는 덧셈 대신 곱셈을 사용한 새로운 정렬 점수 함수였을 것입니다. 또한 함수를 사용하지 않고, 숨겨진 상태 벡터 간의 유사도를 점곱을 사용하여 계산합니다. 이러한 이유로, 종종 점곱 어텐션 또는 곱셈 어텐션이라고 합니다.
점곱을 사용하여 쿼리 벡터를 비교하는 직관력은 수학적이고 실용적입니다.
점곱 어텐션을 사용하는 한 가지 결과는 점곱 계산에서 두 벡터가 동일한 수의 차원 dk를 가져야 한다는 것입니다. .
가산 어텐션은 키 벡터의 가중치 합으로 컨텍스트 벡터를 계산하는 반면, 점곱 어텐션은 키 벡터의 가중치 평균으로 컨텍스트 벡터를 계산합니다.
"Attention is All You Need"의 저자들은 점곱 어텐션이 가산 어텐션보다 더 빠르고 계산 효율이 높지만, 가산 어텐션이 더 긴 벡터에 대해 기존의 점곱 어텐션보다 성능이 우수하다고 지적했습니다.
그들은 이론적으로 가 매우 크면 결과 점곱도 매우 커진다는 이론을 세웠습니다. 소프트맥스 함수가 이러한 매우 큰 값을 0-1 사이에 맞추기 위해 모두 압축하면 역전파는 최적화하기 어려운 매우 작은 그라데이션을 생성합니다. 실험 결과, 소프트맥스 정규화 전에 길이가 인 두 벡터의 점곱을 스케일링하면그래디언트가 더 커지고 훈련이 더 원활해진다는 사실이 밝혀졌습니다.
트랜스포머 모델에 사용되는 스케일링된 점곱 어텐션 함수는 다음과 같이 작성됩니다. .
초기의 어텐션 메커니즘은 모두 현재 교차 어텐션으로 분류되는 기능을 수행했습니다. 교차 어텐션에서 쿼리와 키는 서로 다른 데이터 소스에서 가져옵니다. 예를 들어 기계 번역 작업에서 키는 한 언어의 텍스트 코퍼스에서, 쿼리는 다른 언어에서 가져오며, 음성 인식 작업에서 쿼리는 오디오 데이터이고 키는 해당 오디오를 전사하기 위한 텍스트 데이터입니다.
셀프 어텐션에서 쿼리, 키 및 값은 모두 동일한 소스에서 가져옵니다. Bahdanau와 Luong의 어텐션 메커니즘은 모두 기계 번역을 위해 명시적으로 설계된 반면, Cheng 등은 일반적으로 기계 판독을 개선하는 방법으로 셀프 어텐션(이들은 "인트라 어텐션"이라고 부름)을 제안했습니다. 2016년 논문에 설명된 이들의 어텐션 메커니즘은 입력 요소가 전체 시퀀스에 어떻게 기여하는지가 아니라, 다양한 입력 토큰이 서로 어떻게 관련되어 있는지 살펴보았습니다.
어떤 언어 모델이
“on Friday, the judge issued a sentence.”
Cheng et al의 논문은 텍스트를 읽고 이해하는 셀프 어텐션의 능력에만 초점을 맞추었지만, 곧 시퀀스 내 관계를 모델링하는 것도 텍스트를 쓰는 데 강력한 툴이 될 수 있다는 사실이 밝혀졌습니다. 셀프 어텐션의 발전과 이를 가능하게 한 트랜스포머 모델은 원본 텍스트를 생성할 수 있는 현대적 생성형 AI와 자기 회귀 LLM의 출현으로 직접 이어졌습니다.
자기회귀 LLM은 셀프 어텐션을 사용하여 기계 번역을 수행할 수도 있지만, 작업에 다른 방식으로 접근해야 합니다. 교차 어텐션은 원문 문장과 번역된 문장을 두 개의 별개의 시퀀스로 취급하는 반면, 셀프 어텐션은 원문과 번역된 텍스트를 하나의 시퀀스로 취급합니다.
자기 회귀적 셀프 어텐션 기반 LLM이 텍스트를 번역할 수 있으려면 모델이 학습에서 마주치는 모든 단어(모든 언어에서)가 하나의 큰 다국어 토큰 어휘의 일부로 학습되어야 합니다. 모델은 시퀀스에 "[언어 1의 단어]를 언어 2로 번역"과 같은 명령이 포함되어 있을 때 시퀀스의 다음 단어는 언어 2의 토큰이어야 한다는 것을 간단히 깨닫습니다.
본질적으로, 자기 회귀적 LLM은 반드시 그 자체로 다른 언어가 있다는 것을 이해하지 못합니다. 대신, 단순히 토큰의 특정 그룹(이 경우 같은 언어의 단어에 해당하는 토큰)이 서로 어떻게 어텐션을 기울이는지 이해합니다. 이러한 맥락적 이해는 명령어 조정과 같은 기술을 통해 더욱 강화됩니다.
Viswani et al이 작성한 ''Attention is All You Need" 논문은 셀프 어텐션에서 영감을 받아 새로운 신경망 아키텍처인 트랜스포머를 도입했습니다. 이들의 트랜스포머 모델은 컨볼루션과 재귀를 완전히 피하고 대신 어텐션 계층과 표준 선형 피드포워드 계층만 사용했습니다.
저자의 모델은 RNN 기반 이전 모델과 유사한 인코더-디코더 구조를 따랐습니다. 이후 트랜스포머 기반 모델은 인코더-디코더 프레임워크에서 벗어났습니다. 트랜스포머 논문의 여파로 출시된 최초의 획기적인 모델 중 하나인 BERT(트랜스포머의 양방향 인코더 표현의 약자)는 인코더 전용 모델입니다. GPT(Generative Pretrained Transformer) 모델과 같이 텍스트 생성에 혁명을 일으킨 자기 회귀 LLM은 디코더 전용입니다.
"Attention is All You Need"는 어텐션 메커니즘에 대한 여러 혁신을 제안했습니다. 그 중 하나는 확장된 점곱 어텐션으로, 성능을 개선하고 어텐션을 완전히 새로운 모델 구조에 적응시키기 위한 것입니다.
단어의 상대적 순서와 위치는 그 의미에 중요한 영향을 미칠 수 있습니다. RNN은 기본적으로 숨겨진 상태를 한 단어씩 연속적으로 계산하여 각 토큰의 위치에 대한 정보를 보존하는 반면, 트랜스포머 모델은 위치 정보를 명시적으로 인코딩해야 합니다.
위치 인코딩을 사용하면 모델은 입력이 어텐션 메커니즘에 들어가기 전에 상대적 위치에서 파생된 각 토큰의 임베딩에 값 벡터를 추가합니다. 이 위치 벡터는 일반적으로 토큰 임베딩 자체보다 차원이 훨씬 적으므로 토큰 임베딩의 작은 하위 집합만 위치 정보를 받습니다. 수학은 다소 복잡하지만 논리는 간단합니다.
Viswani et al은 짝수 위치의 토큰에는 사인 함수를 사용하고 홀수 위치의 토큰에는 코사인을 사용하는 간단한 알고리즘을 설계했습니다. 회전 위치 인코딩(RoPE)과 같은 이후 알고리즘은 매우 긴 시퀀스에 대한 위치 정보를 효과적으로 인코딩하는 기능을 개선했으며, 이는 더 큰 컨텍스트 창을 가진 LLM을 활성화하는 데 도움이 되었습니다.
각 토큰 임베딩이 위치 정보로 업데이트되면, 각 토큰 임베딩은 첫 번째 어텐션 계층에 선행하는 3개의 병렬 선형(피드포워드) 신경망 계층 각각에 원본 토큰 임베딩을 전달하여 3개의 새로운 벡터를 생성하는 데 사용됩니다. 각 병렬 계층에는 방대한 텍스트 데이터 세트에 대한 자체 지도 사전 학습을 통해 특정 값을 학습한 고유한 가중치 행렬이 있습니다.
어텐션 메커니즘의 주요 기능은 각 토큰 간의 쿼리-키 쌍의 중요성에 가중치를 부여하는 것입니다. 입력 시퀀스의 각 토큰 x에 대해 트랜스포머 모델은 다음과 같이 어텐션 가중치를 계산(및 적용)합니다.
각 어텐션 가중 기여도를 개별적으로 계산하는 대신 다른 토큰의 어텐션 가중 기여도를 평균화하는 것이 수학적으로 효율적이지만 세부 사항이 손실됩니다. 트랜스포머 아키텍처는 멀티헤드 어텐션을 구현하여 이 문제를 해결합니다.
토큰 간의 다면적인 관계를 고려하면서도 평균화의 효율성을 누리기 위해, 트랜스포머 모델은 네트워크의 각 어텐션 계층에서 병렬로 여러 번 셀프 어텐션 연산을 계산합니다. 각 원래 입력 토큰 임베딩은 h의 균일한 크기의 하위 집합으로 분할됩니다. 임베딩의 각 부분은 각각 쿼리 헤드, 키 헤드 또는 값 헤드라고 하는 Q, K 및 V 가중치의 h 병렬 행렬 중 하나에 입력됩니다. 이러한 쿼리, 키 값 헤드의 병렬 3중항 각각에서 출력된 벡터는 해당 어텐션 헤드에 입력됩니다.
각 어텐션 블록의 마지막 계층에서, 이러한 h 병렬 회로의 아웃풋은 결국 다시 연결됩니다. 실제로 모델 학습은 각 회로가 의미적 의미의 개별적인 측면을 포착하는 다른 가중치를 학습하는 결과를 낳습니다. 이를 통해 모델은 다른 단어의 맥락이 단어의 의미에 영향을 미칠 수 있는 다양한 방식을 처리할 수 있습니다. 예를 들어, 한 어텐션 헤드는 시제의 변화에 특화되어 있고, 다른 어텐션 헤드는 주변 단어가 어조에 영향을 미치는 방식에 특화되어 있을 수 있습니다.
여기서는 표준 트랜스포머의 어텐션 블록에 있는 전체 행렬 곱셈 회로를 보여줍니다. 멀티쿼리 어텐션, 그룹화된 쿼리 어텐션 등 트랜스포머의 어텐션 메커니즘이 나중에 진화하면서 프로세스의 일부 요소를 단순화하거나 결합하여 계산 요구를 줄였다는 점은 주목할 만합니다.
트랜스포머 모델의 마지막 몇 계층에서 어텐션 헤드는 특정 예측을 수행하도록 훈련되는 경우가 많습니다. 예를 들어, LLM의 마지막 계층에 있는 한 어텐션 헤드는 Named Entity Recognition을 전문으로 하고 다른 어텐션 헤드는 감정 분석을 전문으로 할 수 있습니다.
자기 회귀 LLM에서 마지막 두 번째 계층은 완전히 변환된 벡터를 수신하고 모델이 어휘의 각 토큰에 대해 학습한 벡터 임베딩과 일치하는 크기로 투영하는 선형 계층입니다. 이를 통해 결과 벡터가 해당 어휘의 각 토큰과 얼마나 밀접하게 일치하는지를 나타내는 점수를 계산할 수 있습니다. 마지막 계층은 소프트맥스 계층으로, 이러한 점수를 확률(1점 만점)로 변환하고 이러한 확률을 사용하여 이전 단어를 기반으로 가장 가능성이 높은 다음 토큰을 출력합니다.
AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.
업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.
AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.
1. “Leaderboard: Object Detection on COCO test-dev,” Papers With Code, 2024년 11월 18일 접속
2. “Leaderboards: Image Segmentation” Papers With Code, 2024년 11월 18일 접속
3. “Leaderboard: Visual Question Answering (VQA) on VQA v2 test-dev,” Papers With Code, 2024년 11월 18일 접속
4. “Learning long-term dependencies with gradient descent is difficult,” IEE Transactions on Neural Networks 5(2): 157-66, 1994년 2월
5. “Neural Machine Translation by Jointly Learning to Align and Translate,” arXiv, 2014년 9월 1일
6. “Multiplicative Attention,” Papers With Code