Top-P와 Top-K 샘플링을 통한 AI 언어 모델의 응답 제어: 쉽게 이해하기

2024. 5. 29. 11:47it

반응형

 
 

1. 서론 

이게 뭐지?

 
언어 모델의 출력 제어 방식인 Top-P와 Top-K 샘플링은 텍스트 생성의 품질을 높이고 무작위성과 예측 가능성의 균형을 맞추는 데 중요한 역할을 합니다.
 

2. Top-P 샘플링 (누적 확률 임계값)

Top-P 샘플링은 모델이 다음에 생성할 토큰을 선택할 때 확률의 합이 특정 임계값 P에 도달할 때까지 확률이 높은 것부터 차례로 선택하는 방식입니다. 이를 통해 모델은 문맥에 따라 보다 유연하고 다양성 있는 응답을 생성할 수 있습니다.
 
예제: 질문: "어제 날씨 어땠어?"

  • 모델이 각 단어의 확률을 다음과 같이 예측했다고 가정합니다
    • "맑았어(0.3)", "비가 왔어(0.2)", "흐렸어(0.1)", "눈이 왔어(0.05)", "더웠어(0.05)"

  • Top-P 값이 0.5라면, "맑았어"와 "비가 왔어"의 확률 합이 0.5이므로 이 두 단어 중 하나를 선택합니다.

  • 예를 들어 "비가 왔어"가 선택되었습니다.

응답: "어제 날씨 비가 왔어."
 

반응형

 

3. Top-K 샘플링

Top-K 샘플링은 모델이 다음에 생성할 토큰을 선택할 때 상위 K개의 후보 토큰 중 하나를 무작위로 선택하는 방식입니다. 이 방법은 항상 고정된 수의 상위 후보 중에서 선택하므로 예측 가능성을 유지하면서도 적절한 다양성을 제공합니다.
 
예제: 질문: "어제 날씨 어땠어?"

  • 모델이 각 단어의 확률을 다음과 같이 예측했다고 가정합니다
    • "맑았어", "비가 왔어", "흐렸어"

  • Top-K 값이 3이라면, 확률이 가장 높은 세 개의 단어 중 하나를 선택합니다.

  • 예를 들어 "맑았어"가 선택되었습니다.

응답: "어제 날씨 맑았어."
 

4. 요약 및 비교

  • Top-P: 확률의 누적 합이 임계값 P에 도달할 때까지 후보를 선택하여 다양성을 높입니다.
  • Top-K: 상위 K개의 후보 중 하나를 선택하여 예측 가능성을 유지합니다.

이 두 가지 방식은 텍스트 생성의 무작위성과 예측 가능성을 제어하여 보다 자연스럽고 창의적인 응답을 생성하는 데 유용합니다.
 

반응형