AI: 특징 및 작업
ㅁ 특징 및 작업
1. BERT
ㅇ 정의:
– Bidirectional Encoder Representations from Transformers의 약자로, 양방향 Transformer 인코더를 활용한 사전학습 언어모델.
– Google AI에서 제안.
ㅇ 특징:
– 양방향 문맥 이해를 위해 Transformer의 self-attention을 활용.
– MLM(Masked Language Model)과 NSP(Next Sentence Prediction) 두 가지 작업으로 사전학습.
– 다양한 NLP 다운스트림 작업에 파인튜닝 가능.
ㅇ 적합한 경우:
– 문장 분류, 개체명 인식, 질의응답 등 문맥 이해가 중요한 작업.
ㅇ 시험 함정:
– BERT는 생성형 모델이 아니라 이해 기반 모델임.
– NSP가 항상 필요한 것은 아님(후속 모델에서 제외된 경우 있음).
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “BERT는 MLM과 NSP를 활용하여 양방향 문맥을 학습한다.”
– X: “BERT는 문장을 순방향으로만 학습한다.”
1.1 MLM
ㅇ 정의:
– 입력 토큰의 일부를 [MASK] 토큰으로 대체하고, 해당 위치의 원래 단어를 예측하는 사전학습 방식.
ㅇ 특징:
– 문맥 기반 단어 예측 가능.
– 전체 시퀀스 양방향 정보 활용.
ㅇ 적합한 경우:
– 문맥 이해를 위한 언어모델 사전학습.
ㅇ 시험 함정:
– 모든 마스킹 토큰이 [MASK]로 대체되는 것은 아님(일부는 원래 단어 유지 또는 다른 단어로 대체).
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “MLM은 일부 토큰을 마스킹하고 이를 예측하는 방식이다.”
– X: “MLM은 문장을 순차적으로 예측한다.”
1.2 NSP
ㅇ 정의:
– 두 문장이 연속된 문장인지 여부를 예측하는 사전학습 작업.
ㅇ 특징:
– 문장 간 관계 이해에 도움.
– BERT에서 제안되었으나 일부 후속 모델에서 제거.
ㅇ 적합한 경우:
– 문장 순서나 연결성을 이해해야 하는 작업.
ㅇ 시험 함정:
– NSP가 항상 성능 향상에 기여하지 않는다는 점.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “NSP는 두 문장의 연결 여부를 예측하는 작업이다.”
– X: “NSP는 단어의 품사를 예측하는 작업이다.”
2. RoBERTa
ㅇ 정의:
– Robustly Optimized BERT Approach의 약자로, BERT의 학습 방법을 개선한 모델.
ㅇ 특징:
– NSP 제거.
– 더 많은 데이터와 긴 학습 시간, Dynamic Masking 적용.
– 배치 크기와 학습률 최적화.
ㅇ 적합한 경우:
– 대규모 데이터셋 사용 시, 문맥 이해 성능 극대화.
ㅇ 시험 함정:
– RoBERTa는 구조적으로 BERT와 동일하지만 학습 방법이 다름.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “RoBERTa는 NSP를 제거하고 Dynamic Masking을 적용했다.”
– X: “RoBERTa는 BERT보다 적은 데이터로 학습했다.”
2.1 Dynamic Masking
ㅇ 정의:
– 학습 중 매번 다른 마스킹 패턴을 적용하는 방식.
ㅇ 특징:
– 데이터 다양성 증가.
– 과적합 방지.
ㅇ 적합한 경우:
– 대규모 학습에서 일반화 성능 향상 필요 시.
ㅇ 시험 함정:
– Dynamic Masking은 사전학습 시 적용되는 기법이지, 추론 시에는 적용되지 않음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “Dynamic Masking은 학습 시마다 마스킹 위치를 변경한다.”
– X: “Dynamic Masking은 추론 단계에서 마스킹을 변경한다.”
3. SpanBERT
ㅇ 정의:
– 연속된 토큰(span)을 마스킹하여 해당 구간 전체를 예측하는 방식의 BERT 변형 모델.
ㅇ 특징:
– 구간 단위 정보 학습 강화.
– 관계 추출, 질의응답 등에서 우수한 성능.
ㅇ 적합한 경우:
– 문장에서 연속된 단어 구간의 의미가 중요한 작업.
ㅇ 시험 함정:
– SpanBERT는 MLM과 달리 연속된 토큰 단위를 마스킹함.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “SpanBERT는 연속된 단어 구간을 마스킹하여 학습한다.”
– X: “SpanBERT는 개별 단어만 마스킹한다.”
4. ELECTRA
ㅇ 정의:
– Efficiently Learning an Encoder that Classifies Token Replacements Accurately의 약자로, 마스킹 대신 토큰 교체 여부를 예측하는 사전학습 모델.
ㅇ 특징:
– Generator와 Discriminator 구조 사용.
– 더 효율적인 학습(적은 자원으로도 좋은 성능).
ㅇ 적합한 경우:
– 자원 제약이 있는 환경에서 효율적인 사전학습.
ㅇ 시험 함정:
– ELECTRA는 MLM을 직접 사용하지 않음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “ELECTRA는 토큰이 교체되었는지 여부를 예측한다.”
– X: “ELECTRA는 [MASK] 토큰을 사용한다.”
ㅁ 추가 학습 내용
BERT 계열 모델과 GPT 계열 모델의 차이점
BERT는 양방향(Bidirectional) Transformer 인코더 구조를 사용하여 문맥의 앞뒤 정보를 모두 활용해 이해 중심의 작업(분류, 질의응답 등)에 강점이 있다.
GPT는 단방향(주로 왼쪽에서 오른쪽) Transformer 디코더 구조를 사용하여 이전 토큰 정보로 다음 토큰을 예측하는 생성 중심의 작업(텍스트 생성, 대화 등)에 강점이 있다.
사전학습과 파인튜닝의 관계 및 전이학습 효율성
사전학습은 대규모 비지도 또는 자기지도 데이터로 일반적인 언어 패턴과 지식을 학습하는 단계이다.
파인튜닝은 사전학습된 모델을 특정 태스크의 데이터로 추가 학습시켜 해당 태스크에 최적화하는 과정이다.
전이학습은 사전학습에서 얻은 언어 이해 능력을 다양한 다운스트림 태스크에 효율적으로 적용 가능하게 하며, 데이터가 적은 상황에서도 높은 성능을 발휘한다.
NSP 제거의 배경과 대체 방법
BERT의 Next Sentence Prediction(NSP)은 두 문장이 연속되는지 여부를 예측하는 사전학습 태스크였다.
후속 연구에서 NSP가 문장 관계 이해에 크게 기여하지 않거나 오히려 성능 저하를 유발할 수 있다는 결과가 나왔다.
대체 방법으로 Sentence Order Prediction(SOP)이 제안되었으며, 이는 두 문장의 순서를 맞추는 과제로 문장 간 관계 이해를 더 직접적으로 학습하도록 한다.
Dynamic Masking과 Static Masking 비교
Static Masking은 사전학습 데이터에서 마스크 위치를 고정하여 학습한다. 동일한 문장이 항상 같은 마스크 패턴을 가진다.
Dynamic Masking은 학습 과정에서 매번 마스크 위치를 무작위로 바꿔 다양한 패턴을 학습하게 하여 일반화 성능을 높인다.
SpanBERT의 Span Boundary Objective(SBO)
SpanBERT는 연속된 토큰 구간(span)을 마스킹하고, 해당 span의 양쪽 경계 토큰의 표현을 활용해 내부 토큰들을 예측하는 방식으로 학습한다.
이 방식은 개체명이나 구 단위 정보 학습에 유리하며, 문맥 내에서 구 단위 의미를 더 잘 파악하도록 돕는다.
ELECTRA의 Replaced Token Detection(RTD) 메커니즘과 Generator/Discriminator 학습 비율
ELECTRA는 Generator가 일부 토큰을 예측하여 원래 토큰 대신 대체 토큰을 생성하고, Discriminator가 각 토큰이 원래 토큰인지 대체 토큰인지를 판별한다.
Generator는 작은 모델로, Discriminator가 주 모델이다.
학습 비율은 Generator를 상대적으로 짧게 학습시키고 Discriminator를 집중적으로 학습시켜 효율성과 성능을 동시에 확보한다.
각 모델의 대표적인 벤치마크 성능과 실제 적용 사례
BERT 계열 모델은 GLUE, SQuAD 등 자연어 이해 벤치마크에서 높은 성능을 기록하였다.
GPT 계열 모델은 대규모 언어 생성, 대화 시스템, 코드 생성 등에서 강점을 보인다.
SpanBERT는 SQuAD, CoQA 등 질의응답 태스크에서 우수한 성능을 보였으며, ELECTRA는 GLUE 등에서 적은 연산량으로도 높은 성능을 달성했다.
실제 적용 사례로는 검색엔진 질의 이해, 챗봇, 문서 요약, 기계 번역, 음성인식 후처리 등이 있다.