본문 바로가기
IT & Computer/AI

[ML/DL] 머신러닝/딥러닝 모델 트랜스포머(Transformer)

by dinotory 2022. 10. 13.
728x90
반응형

 

Transformer, deap learning model

트랜스포머, 영화제목 아님 

인공지능 머신러닝 모델 중 하나인 트랜스포머에 대해 알아본다. 

 

 

2017년 구글 브레인이 논문을 통해 발표

아직 안 읽어봤음, 엄청 길 줄 알았는데 그림 빼고 본문 8장 정도에 신개념을 발표함.. 🥶

제목처럼 순차적 프로세스로 처리하는 기존 RNN(순환신경망)의 한계를 어텐션이라는 메커니즘을 도입해서 해결할 수 있다는 것 

2017년 이후에는 딥러닝 하면 거의 트랜스포머가 대세, 경쟁적으로 많은 관련 연구 논문이 발표되고 있음 

 

기존의 RNN(Recurrent Neural Network)이나 LSTM(Long Short-Term Memory)은 순환 구조를 가지고 있어서 문장의 앞부분에 위치한 단어 정보가 뒷부분까지 전달되기까지 시간이 오래 걸리는 단점이 있었다. 반면, Transformer는 셀프 어텐션(self-attention) 기반의 구조로, 입력 문장의 모든 단어를 동시에 처리하여 각 단어의 의미를 파악하고 문맥을 이해한다.

 

 

구글이 발표한 트랜스포머 모델 논문
구글이 발표한 트랜스포머 모델 논문..을 쓴 똑똑한 사람들

 

트랜스포머는 자연어와 같이 순차적인 특성을 지니는 데이터를 처리하는 딥 러닝 모델 

순차적인 특성이란 데이터의 순서와 위치에 따라 의미가 달라질 수 있는 것을 말함 

예를 들어 '그것'이라는 단어가 어디에 위치하느냐에 따라 그 의미가 달라지는 것과 같이 맥락, Context를 반영하는 것 

 

컴퓨터 비전에서는 그래픽 이미지보다 내추럴 이미지를 분석하는 데 적합

실제 사진이 데이터가 끊어지기보다는 연결형으로 존재하기 때문

* 연결형 특성이라면 영상에도 활용하기 적합할 것으로 추정됨, 영상은 그래픽이라도 움직이면서 계속 연결되니까

 

Transformer 모델은 인코더와 디코더로 구성되어 있으며, 각각 여러 개의 어텐션 레이어로 이루어져 있다. 인코더는 입력 문장을 임베딩한 후, 여러 개의 인코더 레이어를 거쳐 문맥 정보를 추출한다. 디코더는 출력 문장을 생성할 때, 이전 시점에서 생성된 단어들과 함께 인코더에서 추출한 문맥 정보를 이용한다.

 

 

순차적인 특성을 처리하지만 프로세싱은 병렬

Transformer 모델은 병렬 처리가 가능하고, 더 많은 데이터와 계산 자원을 사용할 수록 성능이 더욱 향상되는 것이 장점.

이러한 특징을 활용하여 Transformer 기반의 모델은 기계 번역, 요약, 질의응답, 대화 생성 등 다양한 자연어 처리 작업에서 우수한 성능을 보임

 

따라서 효율적이고 직렬처리 시 발생할 수 있는 병목현상 방지 가능 

병렬 처리에 사용되는 GPU를 만드는 엔비디아와 같은 회사에서 트랜스포머 모델 활용을 적극 권장, 지원

이 모델 연구가 활발할수록 GPU 구매 관련 연구비 지출이 높아짐, 많이 사용할수록 성능이 좋아질 수 있기 때문

 

단, 소규모 데이터보다 거대한 규모의 데이터를 처리할수록 성능이 좋기 때문에 학습은 대규모 데이터로 하고 

실제 특정 분야에 적용하는 방법으로 활용되고 있음 (영어로 학습한 모델을 한국어에 적용하는 것과 비슷한 원리) 

 

 

텐서플로우와 파이토치로 구현 

트랜스포머 모델은 텐서플로우와 파이토치와 같은 표준 딥러닝 프레임워크에서 구현됨 

라이브러리를 가져다 쓰면 사전 훈련된 모델을 사용할 수 있음 

 

 

 

참고: https://en.wikipedia.org/wiki/Transformer_(machine_learning_model) 

 

 

 

더 찾아볼 것들 _

Wikipedia Corpus

Common Crawl

BERT (SKT가 이걸 기반으로 만든 한국어 모델이 KoBERT) 

GPT (Open AI, 일론 머스크 공동 설립) 

 

 

 

 

 

 

728x90
반응형

댓글