BERT: 두 판 사이의 차이
편집 요약 없음 |
편집 요약 없음 |
||
(다른 사용자 한 명의 중간 판 하나는 보이지 않습니다) | |||
35번째 줄: | 35번째 줄: | ||
*질의응답 시스템의 텍스트 이해 모듈 | *질의응답 시스템의 텍스트 이해 모듈 | ||
* BERT 기반 파생 모델(RoBERTa, ALBERT, DistilBERT 등)도 다양하게 활용됨 | * BERT 기반 파생 모델(RoBERTa, ALBERT, DistilBERT 등)도 다양하게 활용됨 | ||
== 분류 태스크에서의 활용 == | |||
BERT는 본래 임베딩 생성에 초점을 둔 모델이지만, 분류(classification) 작업에서도 널리 활용된다. 입력 문장 맨 앞의 '''[CLS]''' 토큰은 학습 과정에서 문장 전체의 의미를 요약하도록 설계되며, 이 벡터를 기반으로 얕은 분류기(일반적으로 선형층과 softmax)를 추가해 다양한 문장 단위 태스크를 수행할 수 있다. 예를 들어 감정 분석, 주제 분류, 스팸 탐지와 같은 문제는 [CLS] 임베딩 위에 분류기를 학습하는 방식으로 해결된다. 이러한 접근은 사전 학습된 언어 이해 능력을 그대로 활용하기 때문에, 비교적 적은 데이터와 연산 자원으로도 높은 성능을 얻을 수 있다는 장점이 있다. | |||
== 장단점 == | == 장단점 == | ||
* '''장점''' | * '''장점''' | ||
** 언어 | ** 양방향 문맥을 동시에 고려하므로 단방향 모델보다 더 깊이 있는 언어 이해 가능 | ||
** 사전학습(pre-training)과 미세 조정(fine-tuning)을 분리하여, 다양한 태스크에 빠르게 적응 가능 | |||
** 기존의 RNN, LSTM 기반 모델보다 병렬 연산이 가능하여 대규모 데이터 학습에 효율적 | |||
** 동일한 단어라도 문맥에 따라 서로 다른 의미 표현(동형이의어 구분)이 가능 | |||
** 공개된 사전학습 모델과 파생 모델(RoBERTa, ALBERT 등)을 쉽게 활용할 수 있어 연구 및 실무 적용이 용이 | |||
* '''단점''' | * '''단점''' | ||
** | ** 모델 크기가 크고 파라미터 수가 많아 학습 및 추론 비용이 매우 큼<ref>2018년 기준으로는 RNN/LSTM에 비해 매우 무겁다는 의미이며, 현대의 초대형 언어모델(수천억~수조 파라미터)과 비교하면 상대적으로 작은 편이다.</ref> | ||
** 긴 입력(512 토큰 이상)에 대해서는 처리에 제약이 있으며, 메모리 사용량이 급격히 증가 | |||
** Attention 구조 특성상 입력 길이에 대해 계산량이 제곱적으로 증가 → 대규모 문서 처리에는 비효율적<ref>트랜스포머 계열 모델 전반의 공통 특성으로, 입력 토큰 수가 두 배가 되면 연산량은 네 배가 된다.</ref> | |||
** 문장을 생성하는 기능은 없어, 대화형 모델이나 텍스트 생성 작업에는 직접적으로 사용할 수 없음 | |||
** 파인튜닝 시에도 GPU/TPU 같은 고성능 하드웨어 의존도가 높음<ref>작은 규모의 태스크라 하더라도 fine-tuning 시 메모리와 연산 자원이 필요하다.</ref> | |||
== 활성화 함수 == | == 활성화 함수 == | ||
57번째 줄: | 70번째 줄: | ||
* [[코버트]] | * [[코버트]] | ||
== 각주 == |
2025년 9월 25일 (목) 05:21 기준 최신판
- Bidirectional Encoder Representations from Transformers
BERT는 Google AI가 2018년에 발표한 언어 표현 학습용 딥러닝 모델로, Transformer 인코더 구조를 기반으로 텍스트의 양방향 문맥을 학습한다. 다양한 NLP 작업에 맞춰 미세 조정(fine‑tuning) 가능하며, 등장 이후 자연어 처리에서 기준 모델로 자리 잡았다.
개요[편집 | 원본 편집]
BERT는 Transformer 구조의 인코더 부분만을 사용하여 입력 문장의 양쪽 문맥을 동시에 분석한다. 입력된 문장이나 단어를 고차원 벡터로 변환함으로써, 문장의 의미를 수치적으로 표현할 수 있다. 이렇게 얻은 벡터는 검색, 분류, 질의응답 등 다양한 자연어 처리 태스크에서 활용된다.
BERT는 자체적으로 텍스트를 생성하거나 대화를 이어나갈 수 있는 모델은 아니며, 사용자가 입력한 문장을 분석하고 이에 대한 의미적 특징을 벡터 형태로 출력하는 "특징 추출기(feature extractor)" 또는 "임베딩 생성기"로 볼 수 있다.
주요 구조[편집 | 원본 편집]
- MLM(Masked Language Modeling): 문장 내 일부 단어를 [MASK]로 가려놓고 이를 예측하는 방식으로 문맥 학습
- NSP(Next Sentence Prediction): 두 문장이 연속되는 문맥인지 예측하여 문장 간 관계 이해
- 입력 구성: 토큰 임베딩 + 세그먼트 임베딩 + 위치 임베딩의 합
모델 크기[편집 | 원본 편집]
모델 | 층 수 | hidden size | self-attention heads | 파라미터 수 |
---|---|---|---|---|
BERT_BASE | 12 | 768 | 12 | 약 110M |
BERT_LARGE | 24 | 1024 | 16 | 약 340M |
특징[편집 | 원본 편집]
- 문맥적 임베딩 생성: 동일 단어라도 문맥에 따라 서로 다른 의미 표현
- 양방향 학습: 문장의 앞뒤 정보를 동시에 활용하여 높은 이해력 제공
- 미세 조정 가능: 다양한 NLP 작업에 맞게 일부 층만 추가하여 빠르게 학습 가능
- 생성 모델이 아님: 문장을 생성하거나 대화하는 기능은 없음
- RNN을 사용하지 않는 Attention 모델
활용[편집 | 원본 편집]
- 감정 분석, 문장 분류, 개체명 인식(NER), 문서 검색 등
- 문장 간 유사도 계산
- 질의응답 시스템의 텍스트 이해 모듈
- BERT 기반 파생 모델(RoBERTa, ALBERT, DistilBERT 등)도 다양하게 활용됨
분류 태스크에서의 활용[편집 | 원본 편집]
BERT는 본래 임베딩 생성에 초점을 둔 모델이지만, 분류(classification) 작업에서도 널리 활용된다. 입력 문장 맨 앞의 [CLS] 토큰은 학습 과정에서 문장 전체의 의미를 요약하도록 설계되며, 이 벡터를 기반으로 얕은 분류기(일반적으로 선형층과 softmax)를 추가해 다양한 문장 단위 태스크를 수행할 수 있다. 예를 들어 감정 분석, 주제 분류, 스팸 탐지와 같은 문제는 [CLS] 임베딩 위에 분류기를 학습하는 방식으로 해결된다. 이러한 접근은 사전 학습된 언어 이해 능력을 그대로 활용하기 때문에, 비교적 적은 데이터와 연산 자원으로도 높은 성능을 얻을 수 있다는 장점이 있다.
장단점[편집 | 원본 편집]
- 장점
- 양방향 문맥을 동시에 고려하므로 단방향 모델보다 더 깊이 있는 언어 이해 가능
- 사전학습(pre-training)과 미세 조정(fine-tuning)을 분리하여, 다양한 태스크에 빠르게 적응 가능
- 기존의 RNN, LSTM 기반 모델보다 병렬 연산이 가능하여 대규모 데이터 학습에 효율적
- 동일한 단어라도 문맥에 따라 서로 다른 의미 표현(동형이의어 구분)이 가능
- 공개된 사전학습 모델과 파생 모델(RoBERTa, ALBERT 등)을 쉽게 활용할 수 있어 연구 및 실무 적용이 용이
- 단점
활성화 함수[편집 | 원본 편집]
- ReLU 보다 부드러운 형태인 GELU 적용
- 음수에 대한 미분이 가능
주요 기술[편집 | 원본 편집]
- WordPiece tokenizing
- 접두사, 접미사를 구분
- ex) playing, coming, loving → ##ing
- ex) 서울특별시, 세종특별시, 성남시, 안양시 → ##특별시, ##시
- Multi-Head Attention
- Masked Attention