본문 바로가기
지식정보

ChatGPT 파라미터 사용하기 Top-p

by 황금마차열쇠 2023. 9. 19.

"top-p"(핵 샘플링 또는 핵 확률이라고도 함)는 ChatGPT와 같은 텍스트 생성 모델에서 생성된 응답의 다양성과 관련성을 제어하기 위해 사용되는 매개변수입니다. 누적 확률을 기반으로 가장 가능성이 높은 다음 단어의 하위 집합을 선택함으로써 생성 프로세스를 미세 조정하는 데 도움이 됩니다. 작동 방식은 다음과 같습니다.

 

 Top-p 확률(0 < top-p <= 1.0):

Top-p 값(예: 0.7)을 설정하면 모델은 누적 확률이 지정된 백분율(이 경우 70%)을 합한 가장 가능성이 높은 단어만 고려합니다. 이 모델은 각 단어에 할당된 확률에 따라 고려되는 단어 수를 동적으로 조정합니다. 즉, 일부 단어의 확률이 다른 단어보다 훨씬 높으면 모델이 Top-p 임계값에 도달하기 위해 더 적은 수의 단어를 선택할 수 있습니다. 이 접근 방식은 생성된 텍스트가 가능성이 높은 제한된 단어 집합을 기반으로 하도록 보장하므로 관련성을 유지하고 무작위성을 줄이는 데 도움이 됩니다.

 

 생성에 미치는 영향

Top-p 값이 높을수록(1.0에 가까울수록) 더 넓은 범위의 단어를 포함하며 생성되는 텍스트의 다양성을 높일 수 있습니다. 그러나 관련성이 낮거나 주제에서 벗어난 콘텐츠가 생성될 위험이 높아질 수 있습니다.

Top-p 값이 낮을수록(0에 가까울수록) 모델이 가능성이 높은 매우 좁은 단어 집합에서 선택하도록 제한하여 보다 단정적이고 집중적인 응답을 유도합니다.

 

 사용 사례

생성된 응답의 관련성과 다양성 사이의 균형을 유지하려는 경우 보통의 Top-p 값(예: 0.7)을 설정하는 것이 좋습니다. 생성된 텍스트의 구체성과 일관성을 우선시하는 경우 Top-p 값을 낮게 설정하는 것이 유용합니다. Top-p 값이 높을수록 보다 창의적이거나 탐색적인 텍스트를 생성하는 데 사용할 수 있지만 관련성을 보장하기 위해 추가 필터링이 필요할 수 있습니다.

top-p-썸네일

 

ChatGPT 의 설명

Top-p는 주어진 확률 값 이하의 확률을 가지는 단어를 자르는 방식으로 동작합니다. 이때 p는 일반적으로 0과 1 사이의 값으로 설정되며, 예를 들어 0.8로 설정하면 상위 80%의 확률을 가지는 단어만을 고려하고 나머지는 제외됩니다. 이를 통해 생성된 텍스트는 다소 제한되고 더 의미 있게 보이게 됩니다. 예시를 통해 설명해보겠습니다. 다음은 단어 확률 분포가 주어진 상황에서 Top-p를 사용하는 예제입니다:

 

가정: 다음 단어 확률 분포 (단어와 해당 확률):

"사과": 0.5

"바나나": 0.3

"오렌지": 0.1

"포도": 0.05

"수박": 0.03

기타 단어들: 나머지 1% (합산)

Top-p를 0.6으로 설정한 경우:

상위 60%의 확률을 가지는 단어만을 고려하므로 "사과"와 "바나나"만을 고려합니다.

이로써 선택 가능한 다음 단어가 더 제한되며, 생성된 텍스트가 더 일관되고 의미 있는 내용을 가질 가능성이 높아집니다.

Top-p를 0.2로 설정한 경우:

상위 20%의 확률을 가지는 단어만을 고려하므로 "사과"만을 고려합니다.

이로써 생성된 텍스트가 매우 제한되며, 더 강력한 제어가 가능해집니다.

 

결론

요약하면, top-p 매개변수를 사용하면 텍스트 생성 시 단어 선택에 대한 확률 임계값을 제어할 수 있습니다. 특정 요구 사항과 사용 사례에 따라 일관성 있고 다양한 응답을 생성하는 데 도움이 됩니다.