- RNN의 한계
• 문장이 길어질수록 앞 내용이 사라짐(기억 유지 어려움)
• 한 번에 토큰 1개씩만 처리해서 느림
• LSTM·GRU도 근본 해결은 못함
- 어텐션 메커니즘 등장
핵심 아이디어:
“중요한 단어에 더 집중하자!”
• 인코더의 모든 은닉 상태를 참고함
• 중요한 단어에는 높은 가중치 부여
• 다만, 모든 상태를 저장해야 해서 메모리 증가
• RNN 기반이라 여전히 느림
- 트랜스포머: RNN을 완전히 버린 모델
• 병렬 처리 가능 → 엄청 빠름
• 입력 문장을 전체적으로 한꺼번에 분석
• 핵심 기술 = 셀프 어텐션(Self-Attention)
→ 각 토큰이 다른 모든 토큰과 관계를 학습
- 추가 기술들
위치 인코딩(Positional Encoding)
• 트랜스포머는 순서를 모르기 때문에 sin·cos로 위치 정보 추가
잔차 연결 + 층 정규화
• 학습 안정
• 깊은 모델에서도 정보 손실 감소
인코더·디코더 블록
• 여러 층을 쌓으면 강력한 표현 가능
- BART / KoBART (텍스트 요약에 특화)
• 트랜스포머 인코더-디코더 구조
• 요약, 생성에 아주 강함
• KoBART는 한국어 데이터로 파인튜닝됨 → 실사용 가능
- HuggingFace transformers
• pipeline() 하나로 요약 / 번역 / 생성 다 가능
• 모델과 토크나이저는 별도의 객체
• GPU 설정도 간단