์ธ๊ณต์ง๋ฅ
NLP Rise with Transformer Models | T5, BERT, GPT์ ๋ํ ์ข ํฉ์ ๋ถ์

자연어 처리(NLP)는 최근 몇 년간 가장 영향을 많이 받은 분야 중 하나로, 주로 트랜스포머 아키텍처 덕분에 이러한 발전이 가능했습니다. 이러한 발전은 기계가 인간의 언어를 이해하고 생성하는 능력을 향상시키는 데만 아니라 검색 엔진부터 대화형 AI까지 다양한 애플리케이션의 풍경을 재정의했습니다.
트랜스포머의 중요성을 완전히 이해하기 위해서는 먼저 트랜스포머를 위한 기초를 마련한 이전 기술과 건축물들을 돌아보아야 합니다.
트랜스포머 이전의 초기 NLP 기술
워드 임베딩: 원-핫에서 워드2벡까지
전통적인 NLP 접근 방식에서는 단어의 표현이 종종 문자 그대로였으며 의미적 또는 구문적 이해가 부족했습니다. 원-핫 인코딩은 이러한 제한의 대표적인 예입니다.
원-핫 인코딩은 범주형 변수를 이진 벡터 표현으로 변환하는 과정으로, 하나의 비트만 “핫”으로 설정되고(1로 설정) 모든 다른 비트는 “콜드”로 설정됩니다(0으로 설정). NLP의 contexto에서 어휘의 각 단어는 원-핫 벡터로 표현되며, 각 벡터의 크기는 어휘의 크기이고, 각 단어는 어휘 목록의 해당 인덱스에 1이 있는 0으로 구성된 벡터로 표현됩니다.
원-핫 인코딩의 예
假设我们有一个只有五个 단어인 작은 어휘: [“king”, “queen”, “man”, “woman”, “child”]. 각 단어의 원-핫 인코딩 벡터는 다음과 같습니다:
- “king” -> [1, 0, 0, 0, 0]
- “queen” -> [0, 1, 0, 0, 0]
- “man” -> [0, 0, 1, 0, 0]
- “woman” -> [0, 0, 0, 1, 0]
- “child” -> [0, 0, 0, 0, 1]
수학적 표현
어휘의 크기를 V로 표시하고, 어휘의 i번째 단어의 원-핫 벡터 표현을 wi로 표시하면, wi의 수학적 표현은 다음과 같습니다:
wi=[0,0,…,1,…,0,0] where the i-th position is 1 and all other positions are 0.where the i-th position is 1 and all other positions are 0.
원-핫 인코딩의 주요 단점은 각 단어를 고립된 개체로 취급하여 다른 단어와의 관계를 고려하지 않는다는 것입니다. 이는 희소하고 고차원 벡터를 생성하여 단어에 대한 의미적 또는 구문적 정보를 포착하지 못합니다.
워드2벡의 도입은 2013년 Google의 Tomas Mikolov가 이끄는 팀에 의해 개발되었으며, 워드2벡은 큰 텍스트 코퍼스 내에서 단어의 문맥에 따라 단어를 밀도 있는 벡터 공간에 표현했습니다.
원-핫 인코딩과 달리 워드2벡은 일반적으로 수백 개의 차원을 가진 밀도 있는 벡터를 생성합니다. 유사한 컨텍스트에서 나타나는 단어(예: “king”과 “queen”)는 벡터 공간에서 서로 가깝게 위치하게 됩니다.
예를 들어, 워드2벡 모델을 훈련하고 단어를 3차원 공간에 표현한다고 가정해 보겠습니다(일반적으로 3차원보다 더 많지만 단순화하기 위해 3차원으로 표현). 임베딩은 다음과 같을 수 있습니다:
- “king” -> [0.2, 0.1, 0.9]
- “queen” -> [0.21, 0.13, 0.85]
- “man” -> [0.4, 0.3, 0.2]
- “woman” -> [0.41, 0.33, 0.27]
- “child” -> [0.5, 0.5, 0.1]
이 숫자는 허구이지만, 유사한 단어가 유사한 벡터를 가짐을 보여줍니다.
수학적 표현
단어의 워드2벡 임베딩을 vw로 표시하고, 임베딩 공간의 차원이 d라면, vw는 다음과 같이 표현할 수 있습니다:
v1=[v1,v2,…,vd] where each vi is a floating-point number representing a feature of the word in the embedding space.
의미적 관계
워드2벡은 또한 복잡한 관계를 포착할 수 있습니다. 예를 들어, 워드2벡 임베딩에서 포착되는 유명한 관계는 다음과 같습니다:
vector(“king”) – vector(“man”) + vector(“woman”)≈vector(“queen”)vector(“king”) – vector(“man”) + vector(“woman”)≈vector(“queen”)
이것은 워드2벡이 훈련过程에서 단어 벡터를 조정하여 코퍼스에서 공통 컨텍스트를 공유하는 단어가 벡터 공간에서 가깝게 위치하도록 하는데 가능합니다.
워드2벡은 두 가지 주요 아키텍처를 사용하여 단어의 분산 표현을 생성합니다: Continuous Bag-of-Words (CBOW)와 Skip-Gram. CBOW는 주변 컨텍스트 단어에서 목표 단어를 예측하며, Skip-Gram은 반대로 목표 단어에서 컨텍스트 단어를 예측합니다. 이것은 기계가 더 세련된 방식으로 단어 사용과 의미를 이해할 수 있도록 허용했습니다.
시퀀스 모델링: RNN과 LSTM
이 분야가 발전함에 따라, 텍스트 시퀀스를 이해하는 데 중점이 이동했으며, 이는 기계 번역, 텍스트 요약, 감성 분석과 같은 작업에 필수적이었습니다. 순환 신경망(RNN)은 순차적 데이터를 처리하는 능력으로 인해 이러한 응용 프로그램의 기둥이 되었습니다.
그러나 RNN에는 한계가 있었습니다. 장거리 의존성에서 소실되는 그래디언트 문제로 인해遠隔된 이벤트 간의 상관관계를 학습하는 데 어려움이 있었습니다.
장단기 메모리(LSTM) 네트워크는 1997년 Sepp Hochreiter와 Jürgen Schmidhuber에 의해 도입되었으며, 이러한 문제를 더 정교한 아키텍처로 해결했습니다. LSTM에는 정보 흐름을 제어하는 게이트가 있습니다. 입력 게이트, 忘却 게이트, 출력 게이트는 저장할 정보, 업데이트할 정보, 버릴 정보를 결정하며, 네트워크가 장거리 의존성을 유지하고 광범위한 NLP 작업의 성능을 크게 향상시킵니다.
트랜스포머 아키텍처
NLP의 풍경은 2017년 Vaswani et al.의 랜드마크 논문 “Attention is All You Need”에서 트랜스포머 모델의 도입으로 극적으로 변했습니다. 트랜스포머 아키텍처는 RNN과 LSTM의 순차적 처리에서 벗어나 자기 주의 메커니즘을 사용하여 입력 데이터의 다른 부분의 영향을 가중합니다.
트랜스포머의 핵심 아이디어는 입력 데이터를 한 번에 처리할 수 있다는 것입니다. 이것은 더 많은 병렬화와 결과적으로 훈련 속도의 상당한 증가를 허용합니다. 자기 주의 메커니즘은 모델이 텍스트를 처리하는 동안 다른 부분에 집중할 수 있도록 허용합니다. 이는 단어와 단어 사이의 관계를 이해하는 데 중요합니다.
트랜스포머의 인코더와 디코더:
원래 트랜스포머 모델에서, Vaswani et al.의 논문 “Attention is All You Need“에서 설명한대로, 아키텍처는 두 가지 주요 부분으로 나뉩니다: 인코더와 디코더. 두 부분은 같은 구조의 레이어로 구성되지만 다른 목적을 수행합니다.
인코더:
- 역할: 인코더의 역할은 입력 데이터를 처리하고 요소 사이의 관계를 포착하는 표현을 생성하는 것입니다. 트랜스포머의 이 부분은 새로운 내용을 생성하지 않습니다. 단지 디코더가 사용할 수 있는 상태로 입력을 변환합니다.
- 기능: 각 인코더 레이어에는 자기 주의 메커니즘과 피드포워드 신경망이 있습니다. 자기 주의 메커니즘은 각 위치에서 이전 레이어의 모든 위치에 주의를 기울일 수 있으므로 각 단어의 컨텍스트를 학습할 수 있습니다.
- 컨텍스트 임베딩: 인코더의 출력은 입력 시퀀스를 고차원 공간에서 나타내는 일련의 벡터입니다. 이러한 벡터는 컨텍스트 임베딩으로 알려져 있으며 단순히 개별 단어만을 나타내는 것이 아니라 문장 내에서의 컨텍스트도 나타냅니다.
디코더:
- 역할: 디코더의 역할은 입력을 받은 순서대로 출력 데이터를 생성하는 것입니다. 이것은 텍스트 생성과 같은 작업에 적합합니다.
- 기능: 디코더 레이어도 자기 주의 메커니즘을 포함하지만, 이후 위치에 주의를 기울이지 않도록 마스킹됩니다. 이것은 특정 위치의 예측이 오직 이전 위치의 알려진 출력에만 의존하도록 보장합니다. 또한 디코더 레이어에는 인코더의 출력에 주의를 기울이는 두 번째 주의 메커니즘이 포함되어 있습니다. 이것은 생성 과정에 컨텍스트를 통합합니다.
- 순차적 생성 능력: 이것은 디코더가 이전에 생성한 시퀀스를 기반으로 다음 요소를 생성하는 능력을 말합니다. 예를 들어, 텍스트 생성에서 디코더는 이전에 생성한 단어 시퀀스와 인코더에서 제공한 컨텍스트를 기반으로 다음 단어를 예측합니다.
인코더와 디코더 내의 이러한 하위 레이어는 모델이 복잡한 NLP 작업을 처리하는 데 중요합니다. 다중 헤드 주의 메커니즘은 모델이 시퀀스의 다른 부분에 선택적으로 주의를 기울일 수 있도록 허용하여 컨텍스트에 대한 풍부한 이해를 제공합니다.
人気 모델: T5, BERT, GPT
트랜스포머 모델의 초기 성공에 이어, 다양한 작업을 위한 새로운 모델들이 트랜스포머 아키텍처를 기반으로 개발되었습니다.
BERT (양방향 인코더 представления от 트рансформеров): 2018년 Google에 의해 도입되었습니다. BERT는 대규모 텍스트 코퍼스에서 마스킹 언어 모델링과 다음 문장 예측을 통해 사전 훈련된 양방향 컨텍스트를 통합하여 언어 표현의 방식을 혁신적으로 바꾸었습니다.
T5 (텍스트-텍스트 전이 트랜스포머): 2020년 Google에 의해 도입되었습니다. T5는 모든 NLP 작업을 텍스트-텍스트 문제로 재구성하여 다양한 작업에 대한 모델의 적용을 단순화했습니다.
GPT (생성적 사전 훈련 트랜스포머): OpenAI에 의해 개발되었습니다. GPT 모델은 GPT-1에서 시작하여 2023년까지 GPT-4까지 발전했습니다. 이러한 모델은 대규모 텍스트 데이터에서 無감독 학습을 통해 사전 훈련되었으며, 다양한 작업에 미세 조정되었습니다. 이러한 모델은 상황에 맞는 텍스트 생성 능력으로 인해 학술적 및 상업적 AI 응용 분야에서 매우 영향력이 있게 되었습니다.
T5, BERT, GPT 모델을 다양한 차원에서 비교해 보겠습니다:
1. 토큰화 및 어휘
- BERT: 워드피스 토큰화를 사용하며 어휘 크기는 약 30,000 토큰입니다.
- GPT: 바이트 페어 인코딩(BPE)을 사용하며 어휘 크기는 크며(예: GPT-3의 경우 175,000), 어휘 크기가 큽니다.
- T5: 문장피스 토큰화를 사용하며, 텍스트를 원시 상태로 취급하여 사전 분할된 단어가 필요하지 않습니다.
2. 사전 훈련 목표
- BERT: 마스킹 언어 모델링과 다음 문장 예측을 사용합니다.
- GPT: 순차적 언어 모델링을 사용하며, 각 토큰은 시퀀스의 다음 토큰을 예측합니다.
- T5: 노이즈 목표를 사용하며, 랜덤한 텍스트 스팬을 센티넬 토큰으로 대체하고, 모델은 원래 텍스트를 재구성하도록 학습합니다.
3. 입력 표현
- BERT: 토큰, 세그먼트, 위치 임베딩을 결합하여 입력을 나타냅니다.
- GPT: 토큰과 위치 임베딩을 결합합니다(문장 쌍 작업이 아니므로 세그먼트 임베딩이 필요하지 않습니다).
- T5: 토큰 임베딩만 사용하며, 주의 작동 중에 상대적 위치 인코딩을 추가합니다.
4. 주의 메커니즘
- BERT: 절대적 위치 인코딩을 사용하며, 각 위치에서 왼쪽과 오른쪽의 모든 위치에 주의를 기울일 수 있습니다(양방향 주의).
- GPT: 절대적 위치 인코딩을 사용하지만, 주의는 이전 토큰으로만 제한됩니다(단방향 주의).
- T5: 상대적 위치 편향을 구현하며, 위치 임베딩 대신 상대적 위치를 사용합니다.
5. 모델 아키텍처
- BERT: 인코더 전용 아키텍처로, 여러 트랜스포머 블록 레이어를 포함합니다.
- GPT: 디코더 전용 아키텍처로, 여러 레이어를 포함하며, 생성 작업을 위한 것입니다.
- T5: 인코더-디코더 아키텍처로, 인코더와 디코더 모두 트랜스포머 레이어로 구성됩니다.
6. 미세 조정 접근 방식
- BERT: 사전 훈련된 모델의 최종 숨겨진 상태를 다운스트림 작업에 맞게 적응시킵니다. 필요한 경우 추가 출력 레이어를 사용합니다.
- GPT: 트랜스포머 위에 선형 레이어를 추가하고, 다운스트림 작업에 대한 사전 훈련된 언어 모델링 목표를 사용하여 미세 조정합니다.
- T5: 모든 작업을 텍스트-텍스트 형식으로 변환하여, 입력 시퀀스에서 대상 시퀀스를 생성하도록 모델을 미세 조정합니다.
7. 훈련 데이터 및 규모
- BERT: 책 코퍼스와 영어 위키백과에서 훈련되었습니다.
- GPT: GPT-2와 GPT-3는 인터넷에서 추출된 다양한 데이터셋에서 훈련되었으며, GPT-3는 더 큰 코퍼스인 Common Crawl에서 훈련되었습니다.
- T5: “Colossal Clean Crawled Corpus”에서 훈련되었습니다. 이는 Common Crawl의 대규모이고 깨끗한 버전입니다.
8. 컨텍스트 및 양방향성 처리
- BERT: 양방향 컨텍스트를 동시에 이해하도록 설계되었습니다.
- GPT: 순방향(왼쪽에서 오른쪽) 컨텍스트를 이해하도록 훈련되었습니다.
- T5: 인코더에서 양방향 컨텍스트를 모델링하며, 디코더에서 순방향 컨텍스트를 모델링합니다. 시퀀스-시퀀스 작업에 적합합니다.
9. 다운스트림 작업에 대한 적응성
- BERT: 각 다운스트림 작업에 대해 작업 특정 헤드 레이어와 미세 조정이 필요합니다.
- GPT: 생성 모델이므로 구조를 크게 변경하지 않고 프롬프트를 사용하여 다양한 작업을 수행할 수 있습니다.
- T5: 모든 작업을 “텍스트-텍스트” 문제로 재구성하여, 새로운 작업에 쉽게 적용할 수 있습니다.
10. 해석 가능성 및 설명 가능성
- BERT: 양방향성은 풍부한 컨텍스트 임베딩을 제공하지만, 해석하기가 더 어려울 수 있습니다.
- GPT: 순방향 컨텍스트는 더 직접적으로 따라갈 수 있지만, 양방향 컨텍스트의 깊이를欠缺합니다.
- T5: 인코더-디코더 프레임워크는 처리 단계를 명확하게 분리하지만, 생성 특성으로 인해 분석하기가 복잡할 수 있습니다.
트랜스포머의 NLP에 대한 영향
트랜스포머는 시퀀스 데이터를 병렬로 처리할 수 있는 능력으로 인해 NLP 분야를 혁신적으로 바꾸었습니다. 자기 주의 메커니즘을 도입하여, 모델이 입력 데이터의 다른 부분에 주의를 기울일 수 있게 하여, 다양한 NLP 작업에서 이전에는 불가능했던 성능을 달성했습니다.
연구는 계속해서 트랜스포머 기반 모델이 무엇을 달성할 수 있는지의 경계를 확장하고 있습니다. GPT-4와 그 동시대 모델은 더 크고 효율적이며, 아키텍처와 훈련 방법의 발전으로 인해 더 강력해졌습니다. 몇 샘플 학습과 더 효과적인 전이 학습을 위한 기술이 현재 연구의 전면에 있습니다.
언어 모델은 데이터에서 학습하며, 데이터에는 편향이 있을 수 있습니다. 연구자와 실무자는 이러한 편향을 식별하고, 이해하고, 완화하기 위해 적극적으로 노력하고 있습니다. 기법은 데이터셋을 구축하는 것부터, 공정성과 중립성을 위한 사후 조정까지 다양합니다.













