반응형
NLP에서는 token generation을 진행할 때 model scaling만으로 성능을 올리는 데에는 한계가 있다.
그 다음 token을 에측할 때 가장 확률이 높은 token들만 출력한다면(=Greedy Decoding) , 종종 불필요하게 반복되는 문장들이 생길 수 있다.
예를 들어,
Q: What did you do today?
A: I had a hamburger for lunch. I had a hamburger for lunch. I had a hamburger for lunch. I had a hamburger for lunch.. ..
인간처럼 다방면적으로 답변을 하는 것이 아니라, 앵무새처럼 반복적으로 답변을 해버릴 수도 있다는 것이다.
따라서, 이러한 기존의 sampling 방식을 해결하기 위한 다양한 sampling방식들이 연구되었는데, 그 중 대표적인 top-k sampling과 nucleus sampling(=top-p sampling)에 대해 알아본다.
1. Greedy Decoding (탐욕적 디코딩)
- 원리: 매 스텝에서 확률이 가장 높은 단어를 선택함
- 장점:
- 간단하고 계산 속도가 빠릅니다.
- 항상 가장 높은 확률의 단어를 선택하므로 신뢰할 수 있는 출력 가능성이 높음.
- 단점:
- 생성된 텍스트가 종종 단조롭고 반복적인 결과를 초래할 수 있습니다.
- 전역적으로 최적의 결과를 보장하지 못하며, 특정 확률 분포에 갇힐 가능성이 큼
2. Top-K Sampling
- 원리:
- 매 스텝에서 가장 높은 확률의 상위 K 개 단어들만 후보로 남기고, 그중에서 확률적으로 단어를 샘플링함
- 확률이 낮은 단어들은 무시함
- 장점:
- 낮은 확률의 단어를 제거해 생성 품질을 향상시키면서도 다양성을 확보할 수 있음
- K 값에 따라 다양성과 품질을 조절할 수 있음
- 단점:
- K 값이 너무 작으면 생성이 제한적이고 단조로워질 수 있으며, 너무 크면 저품질의 단어가 포함될 가능성이 높아짐
3. Nucleus Sampling (Top-P Sampling)
- 원리:
- 누적 확률이 P (0~1 사이의 값)가 될 때까지 단어 후보를 포함하고, 그중에서 확률적으로 단어를 샘플링함
- P는 누적 확률의 상한을 정의하며, P=1.0은 모든 단어를 포함하는 것을 의미합니다.
- 장점:
- 모델이 생성하는 확률 분포에 따라 동적으로 단어 후보 집합을 조절합니다.
- Top-K의 고정적인 제한을 벗어나면서 더 자연스러운 텍스트를 생성합니다.
- 단점:
- P 값을 잘못 설정하면 품질이 떨어지거나 지나치게 제한적인 결과가 나올 수 있음.
실제로 우리가 많이 사용하는 chatGPT에서는 top-k sampling과 nucleus sampling을 혼합한 sampling 방식을 사용하고 있다고 한다.
이외에도 truncation sampling 등 다양한 sampling method들이 학술적으로 알려져 있으니, 관심이 있다면 찾아보면 좋을 것 같다.
반응형
'AI Paper Review > NLP' 카테고리의 다른 글
[ICLR 2022] LoRA: Low-Rank Adaptation of Large Languate Models 리뷰 (0) | 2024.08.12 |
---|---|
머신러닝과 딥러닝 비교 : 그 차이는 무엇일까 (0) | 2023.08.05 |