일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring
- javascript
- 자료구조
- annotation
- 제이쿼리
- data structure
- bean
- Machine Learning
- react
- AWS
- transformer
- 스프링 부트
- log4j2
- 자바스크립트
- kotlin
- cache
- 테스트 커버리지
- 하이브리드앱
- Test Coverage
- Java
- jQuery
- 스프링
- 리액트
- ES6
- 구버전
- C++
- JPA
- spring boot
- Deep Learning
- 어노테이션
Archives
- Today
- Total
박서희연구소
[Model] Transformer Model Pipeline(트랜스포머 모델 파이프라인) 본문
○ Programming [AI]/Theory
[Model] Transformer Model Pipeline(트랜스포머 모델 파이프라인)
SEOHUI PARK 2024. 11. 26. 13:52반응형
Transformer 모델은 자연어의 순서를 이해하지 못한다
Transformer 모델은 순차적으로 데이터를 처리하지 않기 때문에 입력 텍스트의 순서를 직접적으로 인식하지 못한다.
이는 RNN(Recurrent Neural Network) 및 LSTM(Long Short_term Memory) 모델과 가장 큰 차이점으로, Transformer는 입력 토큰 간 관계를 병렬적으로 처리한다.
문제: 단순히 토큰을 병렬로 처리하면, "I love AI"와 "AI love I"가 모델에게 동일하게 보일 수 있음
해결: 위치 인코딩(Positonal Encoding)
- Transformer는 입력 토큰의 위치 정보를 반영하기 위해, 위치 인코딩을 사용
- Sine 및 Cosine 함수로 위치를 나타내는 고유한 벡터를 생성
- 이 벡터가 임베딩 벡터에 더해져 순서 정보를 추가
Pipeline 단계별 이해
1. 데이터 준비(Preprocessing)
- 텍스트 전처리: 불필요한 문자 제거, 소문자 변환 등
- 토큰화: 텍스트를 토큰 단위로 분리하고 고유 ID로 변환
예: "I love AI" -> [101, 1045, 2293, 2060, 102] - 패딩 및 정렬: 길이를 맞추기 위해 [PAD] 토큰 추가
2. 임베딩(Embedding)
- 임베딩 레이어: 토큰 ID를 고차원 벡터로 변환
- 위치 인코딩 추가: 각 토큰에 순서 정보를 반영
3. Transformer 모델 처리
- Multi-Head Self-Attention:
모든 토큰 간 관계를 계산하여 문맥 정보를 이해
예: "AI"는 "love"와 연결되며 중요한 의미를 가짐 - Feedforward Network:
각 토큰의 의미를 비선형적으로 변환 - 잔차 연결 및 정규화:
학습 안정성 및 성능 향상
4. Postprocessing
- 확률 분포 생성: 각 토큰의 확률 계산
- 디코딩:
Greedy Decoding, Beam Search, Sampling을 사용하여 최종 결과 생성
실제 적용 사례: 번역 모델
- 입력 테스트: "Translate English to French: How are you?"
- 토큰화 및 임베딩:
토큰: [Translate, English, to, French, :, How, are, you, ?] - Transformer 처리:
디코더가 "Comment allez-vous?"를 생성 - 최종 출력:
"Comment allez-vous?"
- 끝 -
반응형
'○ Programming [AI] > Theory' 카테고리의 다른 글
[Model] Transformer Model(트랜스포머 모델) (0) | 2024.11.22 |
---|---|
[Deep Learning] Binary Classification(이진 분류), Logistic Classification(로지스틱 분류) (1) | 2024.02.05 |
[Deep Learning] Deep Learning(딥러닝)이 뜨는 이유 (1) | 2024.02.05 |
[Deep Learning] Supervised Learning(지도 학습)이란? (0) | 2024.02.01 |
[Deep Learning] Neural Network(신경망)이란? (0) | 2024.02.01 |
Comments