트랜스포머 모델
트랜스포머 모델이란?

트랜스포머 모델은 텍스트와 같은 순차적 데이터를 처리하도록 설계된 일종의 신경망 아키텍처이지만 다른 유형의 데이터에도 적용 가능합니다. RNN과 같은 이전 모델과는 달리 트랜스포머는 전체 시퀀스를 동시에 처리할 수 있어 더 빠르고 효율적입니다. 생성형 AI 분야에서 트랜스포머는 텍스트 생성, 번역, 요약과 같은 작업에 혁명을 가져왔습니다.

직장에서 IT 프로그래머로 컴퓨터를 사용하며 일하는 안경을 끼고 웃는 남자의 모습.
  • 트랜스포머와 RNN
  • 트랜스포머 모델의 작동 원리
  • 트랜스포머 모델의 작동 원리 - 2부
  • HPE와의 파트너십
트랜스포머와 RNN

트랜스포머와 RNN의 차이점

트랜스포머와 RNN(순환 신경망)의 주요 차이점은 아키텍처, 데이터 처리 메커니즘, 순차적 데이터의 장거리 종속성 처리 효과에 있습니다.

1. 순차적 처리 대 병렬 처리의 비교

RNN: 이전 단계의 출력을 사용하여 다음 단계에 정보를 제공하고, 한 번에 한 요소씩 입력 시퀀스를 처리합니다. 따라서 RNN은 본질적으로 순차적이므로 계산을 쉽게 병렬화할 수 없습니다.

트랜스포머: 셀프 어텐션이라는 메커니즘을 사용하여 전체 시퀀스를 한꺼번에 볼 수 있습니다. 이를 통해 트랜스포머는 시퀀스의 여러 부분을 병렬로 처리할 수 있어 특히 긴 시퀀스의 경우 학습 시간이 훨씬 단축됩니다.

2. 장거리 종속성 처리

RNN: 소멸/폭발하는 그래디언트 문제에 기인한 장거리 종속성으로 인해 어려움을 겪습니다. 시퀀스의 앞부분에 있던 정보는 시간이 지나면서 사라질 수 있으며, 이로 인해 RNN이 긴 시퀀스에서 중요한 컨텍스트를 유지하기 어려울 수 있습니다.

트랜스포머: 셀프 어텐션을 사용하여 시퀀스의 모든 단어 간의 관계를 동시에 계산하고 이를 통해 장거리 종속성을 더 효과적으로 모델링할 수 있습니다. 어텐션 메커니즘은 단계별 처리가 필요 없이 먼 단어들을 직접 연결합니다.

3. 아키텍처

RNN: 아키텍처는 순환합니다. 즉, 네트워크에는 루프가 있어 ‘숨겨진 상태’에서 이전 시간 단계의 정보를 담고 있습니다. LSTM(Long Short-Term Memory) 및 GRU(Gated Recurrent Units)와 같은 변형은 기존 RNN의 문제점을 완화하기 위해 개발되었지만 순차적 특성은 그대로 유지됩니다.

트랜스포머: 순환 구조가 없는 멀티헤드 셀프 어텐션 및 피드포워드 신경망의 레이어로 구성됩니다. 셀프 어텐션 메커니즘은 시퀀스의 두 위치 사이에 직접적인 연결을 허용하기 때문에 숨겨진 상태가 시간 단계마다 전달되는 개념은 없습니다.

4. 교육 효율성

RNN: RNN은 데이터를 순차적으로 처리하므로 일반적으로 학습 속도가 느립니다. 각 시간 단계는 이전 시간 단계에 따라 달라지기 때문에 병렬화가 어렵습니다.

트랜스포머: 트랜스포머는 병렬 처리 기능을 갖추고 있어 특히 GPU, TPU와 같은 최신 하드웨어에서 더욱 효율적으로 학습할 수 있으며, 더 높은 계산 효율성으로 대용량 데이터 세트와 긴 시퀀스를 처리할 수 있습니다.

5. 메모리 및 계산의 복잡도

RNN: 한 번에 하나의 시간 단계만 처리하므로 메모리가 많이 필요하지 않습니다. 그러나 순차적 특성으로 인해 매우 긴 시퀀스를 효율적으로 처리하는 능력이 제한됩니다.

트랜스포머: 모든 토큰 쌍 사이의 어텐션 가중치를 저장하기 때문에 특히 학습 중에 상당히 많은 메모리가 필요합니다. 어텐션 메커니즘으로 인해 계산 복잡도는 시퀀스 길이에 따라 2차식으로 증가합니다.

6. 사용 사례

RNN: 원래는 음성 인식, 언어 모델링, 시계열 예측과 같은 작업에 사용되었습니다. LSTM과 GRU는 긴 시퀀스의 메모리가 필요한 작업에 일반적으로 사용되었습니다.

트랜스포머: NLP(자연어 처리), 기계 번역, 텍스트 생성 등의 작업에서 주도적인 역할을 합니다. BERT, GPT, T5와 같은 모델은 모두 트랜스포머 아키텍처를 기반으로 하며 이는 광범위한 NLP 작업에서 새로운 성능 벤치마크를 설정했습니다.

트랜스포머 모델의 작동 원리
트랜스포머 모델의 작동 원리 스키마.
트랜스포머 모델의 작동 원리 스키마.
이미지를 탭하여 줌인

트랜스포머 모델의 작동 원리

트랜스포머는 셀프 어텐션 메커니즘, 위치 인코딩, 피드포워드 네트워크를 함께 활용하여 작동합니다. 이 아키텍처를 사용하면 순차적 데이터를 효율적으로 처리하고 입력에서 서로 다른 부분 간의 장거리 종속성을 포착할 수 있습니다. 트랜스포머의 작동 원리를 자세히 설명하면 다음과 같습니다.

1. 입력 임베딩 및 위치 인코딩

입력 임베딩: 트랜스포머에서 입력(예: 문장의 단어 시퀀스)은 먼저 고정된 크기의 밀집 벡터인 임베딩으로 변환됩니다. 이러한 임베딩은 토큰(단어 또는 하위 단어)의 의미론적 의미를 나타냅니다.

위치 인코딩: 트랜스포머 아키텍처에는 (RNN과 달리) 시퀀스의 순서를 캡처하는 기본 제공 메커니즘이 없으므로 위치 인코딩이 입력 임베딩에 추가됩니다. 이러한 인코딩은 시퀀스에서 각 토큰의 위치에 대한 정보를 삽입합니다. 이는 위치에 따라 달라지는 사인 함수이거나 학습된 임베딩인 경우가 많습니다.

이를 통해 모델은 토큰의 상대적 위치와 절대적 위치를 파악할 수 있습니다.

2. 셀프 어텐션 메커니즘

셀프 어텐션 메커니즘은 트랜스포머의 핵심 구성요소입니다. 이를 통해 모델은 입력 시퀀스의 다른 모든 토큰과 관련하여 각 토큰의 중요성을 가늠할 수 있습니다. 셀프 어텐션은 각 토큰에 대해 다른 토큰 중 어떤 토큰에 주의를 기울여야 하는지 결정합니다.

트랜스포머 모델의 작동 원리 - 2부
트랜스포머 모델의 작동 원리 두 번째 스키마.
트랜스포머 모델의 작동 원리 두 번째 스키마.
이미지를 탭하여 줌인

트랜스포머 모델의 작동 원리

셀프 어텐션 작동 원리:

1. 입력 변환: 입력 시퀀스의 각 토큰에 대해 모델은 토큰 임베딩에서 파생된 쿼리(Q), 키(K), 값(V)의 세 벡터를 계산합니다. 이러한 벡터는 선형 변환을 통해 학습됩니다.

  • 쿼리(Q): 다른 토큰에 얼마나 초점을 맞출지 결정합니다.
  • 키(K): 집중해야 할 다른 토큰의 내용을 나타냅니다.
  • 값(V): 어텐션 메커니즘을 통해 추출되거나 전달될 정보를 담고 있습니다.

2. 어텐션 점수: 토큰 간의 어텐션 점수는 한 토큰의 쿼리와 다른 토큰의 키 간의 내적(dot product)으로 계산됩니다. 이는 관련성이 한 토큰이 다른 토큰에 대해 얼마나 관련성이 있는지 또는 ‘주의’를 기울이는지를 측정합니다.

점수는 기울기를 안정화하기 위해 키 벡터 dkd_kdk의 차원의 제곱근으로 조정됩니다.

3. 가중 합계: 어텐션 점수는 소프트맥스 함수를 거쳐서 합이 1이 되는 확률로 변환됩니다. 이러한 점수는 가치 벡터에 가중치를 두는 데 사용되며, 각 토큰의 중요성을 다른 토큰과 비교하여 반영하는 가중 합계를 생성합니다.

멀티헤드 어텐션:

단일 셀프 어텐션 메커니즘을 사용하는 대신, 트랜스포머는 멀티헤드 어텐션을 사용합니다. 여러 개의 쿼리, 키 및 값 벡터 세트가 생성되고(각 세트는 어텐션 ‘헤드’) 각 헤드는 입력의 다른 측면을 처리합니다. 모든 어텐션 헤드의 결과는 연결되어 선형 레이어를 통과합니다.

이를 통해 모델은 토큰 간에 여러 유형의 관계를 동시에 포착할 수 있습니다.

3. 피드포워드 신경망

셀프 어텐션 메커니즘을 거친 후 각 토큰 표현은 FFN(피드포워드 신경망)을 통과합니다. 일반적으로 ReLU 활성화 함수를 갖춘 2레이어 신경망입니다. FFN은 각 위치에 독립적으로 적용되며 동일한 가중치 세트가 모든 위치에 공유됩니다.

arduino

코드 복사

\[

\text{FFN}(x) = \text{ReLU}(xW_1 + b_1)W_2 + b_2

\]

FFN은 토큰 표현의 추가적인 변환을 허용하고 비선형성을 도입하여 모델의 표현력을 강화합니다.

4. 잔여 연결 및 레이어 정규화

교육을 안정화하고 그래디언트 흐름을 돕기 위해 잔여 연결(스킵 연결이라고도 함)이 셀프 어텐션 및 피드포워드 레이어 주위에 사용됩니다. 즉 각 하위 레이어의 입력은 다음 하위 레이어로 전달되기 전에 해당 하위 레이어의 출력에 추가됩니다.

각 잔여 연결에는 레이어 정규화가 이어지며, 이를 통해 출력을 정규화하여 내부 공변량의 변화를 줄이고 교육 안정성을 개선합니다.

5. 인코더 및 디코더 아키텍처

원래 트랜스포머 아키텍처는 인코더와 디코더라는 두 가지 주요 구성요소로 구성됩니다. 하지만 BERT와 같은 일부 모델은 인코더만 사용하고, GPT와 같은 다른 모델은 디코더만 사용합니다.

인코더:

인코더는 여러 개의 동일한 레이어(일반적으로 6~12개)로 구성됩니다. 각 레이어에는 다음과 같은 두 가지 주요 구성요소가 있습니다.

  • 멀티헤드 셀프 어텐션
  • 피드포워드 신경망

인코더는 입력 시퀀스를 수신하고 각 레이어를 통해 이를 처리하여 시퀀스에 있는 다른 토큰의 컨텍스트를 사용하여 입력 토큰을 인코딩하는 출력을 생성합니다.

디코더:

또한 디코더는 추가 메커니즘을 갖춘 여러 개의 동일한 레이어로 구성됩니다.

마스킹된 멀티헤드 셀프 어텐션: 토큰이 시퀀스의 미래 토큰에 주의를 기울이지 못하게 합니다(텍스트 생성과 같은 자동 회귀 작업에서 중요).

디코더에는 인코더의 출력을 추가 입력으로 받아 생성 과정을 안내하는 교차 어텐션 레이어도 포함되어 있습니다.

6. 출력(언어 모델용)

언어 모델링이나 기계 번역과 같은 작업의 경우 디코더는 토큰별로 출력 시퀀스를 생성합니다. 마지막 레이어에서는 디코더의 출력을 소프트맥스 함수에 통과시켜 어휘에 대한 확률을 생성하고, 이를 통해 모델이 다음 토큰을 예측하거나 번역을 생성할 수 있습니다.

7. 교육 목표

MLM(Masked Language Modeling): BERT와 같은 모델에서 사용되며, 입력 시퀀스의 무작위 토큰이 마스크 처리되고 이를 예측하도록 모델을 교육합니다.

CLM(Causal Language Modelin): GPT와 같은 모델에서 사용되며, 이 모델은 이전 토큰을 기반으로 시퀀스의 다음 토큰을 예측합니다.

Seq2Seq 목표: 기계 번역과 같은 작업에 사용됩니다. 여기서 모델은 입력 시퀀스를 출력 시퀀스에 매핑하는 방법을 학습합니다(예: 영어로 된 문장을 프랑스어로 번역).

HPE와의 파트너십

HPE와의 파트너십

HPE는 멀티모달 모델을 만들고, 구현하고, 실행하는 데 도움이 되는 제품과 서비스를 제공합니다.

HPE Cray XD670

HPE Cray XD670을 기반으로 AI 성능을 강화하십시오. 슈퍼컴퓨팅을 활용하여 비즈니스에서 LLM, NLP 또는 멀티모달 모델을 교육하는 방법을 자세히 알아보십시오.

HPE Generative AI Implementation Services

HPE Machine Learning Development Software

트랜스포머와 RNN의 차이점

기능
RNN(LSTM, GRU 포함)
트랜스포머

처리 방법

순차적

병렬

긴 시퀀스 처리

장거리 의존성으로 인한 어려움

셀프 어텐션으로 우수함

아키텍처

반복되는 숨겨진 상태

멀티헤드 셀프 어텐션

교육 효율성

느리고 병렬화가 어려움

더 빠르고 고도의 병렬화 가능

메모리 효율성

메모리 요건 감소

메모리 사용량 높음

일반적인 응용 프로그램

시계열, 초기 NLP 작업

NLP, 번역, 텍스트 생성 등

트랜스포머 구성요소 요약:

구성요소
상세 설명

입력 임베딩

토큰을 고정된 크기의 벡터로 변환합니다.

위치 인코딩

시퀀스에서 토큰 위치에 대한 정보를 추가합니다.

셀프 어텐션

모든 토큰 간의 어텐션 점수를 계산하여 종속성을 파악합니다.

멀티헤드 어텐션

다양한 관계를 포착하기 위해 여러 개의 어텐션 헤드를 사용합니다.

피드포워드 신경망

토큰 표현에 비선형 변환을 적용합니다.

잔여 연결

교육을 안정화하고 그래디언트 흐름을 개선하는 데 도움이 됩니다.

인코더

입력 시퀀스를 처리하고 컨텍스트 표현을 생성합니다.

다양한 유형의 트랜스포머:

트랜스포머의 유형

이러한 트랜스포머 모델은 고객 서비스, 콘텐츠 생성, 번역, 가상 비서, 추천 시스템을 포함한 상업적 응용 프로그램을 위해 업계 전반에서 널리 채택되고 있습니다.

모델 유형
주목할 만한 모델
주요 기능

애플리케이션

인코더 기반

BERT, RoBERTa, XLNet, ELECTRA

텍스트 이해 중심(분류, NER 등)

텍스트 이해가 필요한 NLP 작업

디코더 기반

GPT(1, 2, 3, 4), CTRL, OPT

생성 작업(텍스트 생성, 대화)에 최적화

텍스트 생성, 대화형 AI

인코더-디코더

T5, BART, mT5, Pegasus

이해와 생성을 결합(기계 번역, 요약)

요약, 번역, 질의 응답

멀티모달

CLIP, DALL·E, FLAVA

다양한 데이터 유형(텍스트 + 이미지) 처리

이미지 생성, 시각-텍스트 작업

HPE Machine Learning Development Environment Software

전 세계의 팀이 AI 모델을 더욱 안전하고 효율적으로 개발, 교육, 최적화하도록 지원하십시오.

관련 주제