🔍 BERT의 Architecture(구조)

1️⃣ BERT의 기본 구조는 Transformer
BERT는 Transformer라는 신경망 구조를 기반으로 만들어졌습니다.
transformer는 크게 아래와 같이 두 부분으로 나뉩니다.
- 인코더(Encoder): 문장을 이해하고, 의미를 추출
- 디코더(Decoder): 문장을 생성
👉 BERT는 이 중 '인코더'만 사용합니다. 즉, 문장을 깊게 이해하는 데 집중하는 모델인거죠!
2️⃣ Layer(레이어)란 무엇일까?
Layer(층)는 BERT가 문장을 처리하는 작업 단계라고 생각하면 쉽습니다.
문장이 BERT에 들어가면 여러 Layer(층)을 통과하면서 점점 더 복잡한 패턴과 의미를 학습하게 됩니다.
Layer가 많을수록 더 깊이 있는 정보를 학습할 수 있으나 많으면 모델이 깊고 복잡하여 계산량이 늘어나게 됩니다.
- 1~2번째 레이어: 문장의 형태를 파악
- 5~6번째 레이어: 단어들 간의 관계 파악
- 10번째 이후 레이어: 문장의 전체 의미 파악
👉 Layer ( ==Transformer 블록의 개수 )
- BERT base: 12개 Layer
- BERT large: 24개 Layer
3️⃣ Hidden Size(H) – 감춰진 정보의 크기
Hidden Size는 각 레이어에서 사용되는 벡터의 크기(차원)를 의미합니다.
(문장이 네트워크를 통과할 때 얼마나 많은 정보를 담고 있는지를 결정하는 수치예요!)
이것 또한 숫자가 클 수록 많은 정보를 담을 수 있지만 계산량도 커지게 됩니다.
👉 BERT base: 768차원 (H = 768)
BERT large: 1,024차원 (H = 1024)
- 작은 가방(768차원): 필요한 것만 챙김 → 계산이 빠름
- 큰 가방(1024차원): 더 많은 물건을 담을 수 있음 → 더 정확하지만 무겁고 느림
4️⃣ Multi-head Attention (A)
Self-attention은 문장 안에서 단어들이 서로 얼마나 관련 있는지를 계산하는 과정입니다.
Transformer는 이 Self-attention을 여러 번 동시에 수행하는데.이를 Multi-head Attention이라고 합니다.
많은 Head는 더 세밀하게 문장을 분석하지만, 역시 계산량이 커집니다.
- BERT base: 12개(head)
- BERT large: 16개(head)
5️⃣ BERT base vs BERT large 차이
🔧 기본적인 차이
모델 |
Layer | Hidden Size | Head Attention | 파라미터 수 |
BERT base | 12 | 768 | 12 | 110M (1.1억) |
BERT large | 24 | 1024 | 16 | 340M (3.4억) |
>> BERT base는 빠르고 가벼워서 작업 속도가 중요할 때 사용합니다.
>> BERT large는 성능이 더 뛰어나지만, 더 많은 계산 자원이 필요합니다.
작업의 종류와 데이터 크기에 따라 적절한 모델을 선택해야 합니다.
⁉️ BERT의 Layer 수가 많다고 무조건 좋은 건 아닙니다!
Layer가 많아질수록 문장의 의미를 더 깊게 이해하지만,너무 깊어지면 학습이 어려워지고 느려집니다.
때로는 BERT base로도 충분한 경우가 많아요.
실제로 많은 기업들이 BERT base를 선호하는 이유도,충분히 높은 성능을 보이면서 빠르게 학습할 수 있기 때문입니다.
💡 추가로 알아두면 좋은 것
- DistilBERT: BERT를 경량화한 버전으로, Layer를 절반으로 줄여 학습 속도를 빠르게 함.
- ALBERT: BERT large의 구조를 더 효율적으로 바꿔서 적은 자원으로도 비슷한 성능을 내는 모델.
https://www.youtube.com/watch?v=IwtexRHoWG0&t=963s
'🤖AI > bert' 카테고리의 다른 글
[BERT]Input Embedding (0) | 2025.01.09 |
---|---|
[BERT]Input/Output Representations (0) | 2025.01.09 |
[BERT]BERT란? (1) | 2025.01.09 |