LLM모델의 구성요소 (Temperature, Top-K, Top-P)
지난 2025년 2월, Google에서 공유한 프롬프트 엔지니어링에 대한 내용을 공유합니다.
AI에 관심이 많은 분들은 이미 더 잘 알고 계실 내용들이지만, 프롬프트 엔지니어링에 대한 기본적인 내용은 물론, AI가 추론하는 방법에 대해 알아야 할 기본적인(?) 내용들을 하나의 Document로 아주 정리가 잘 되어 있더라구요. 프롬프트 엔지니어링에 대한 바이블이랄까요,
사실, 이 글은 공유가 목적이라기보다 제 스스로 정리하는 목적으로 요약한 내용이니, 궁금하신 분은 공유드린 원본을 참고하시는 것도 좋을 것 같습니다.
우리는 데이터사이언티스트나 머신러닝 엔지니어가 될 필요는 없습니다. 누구나 프롬프트를 작성할 수 있습니다. 하지만, 가장 효과적인 프롬프트를 작성하는것은 꽤 복잡할 수 있습니다. 사용하는 모델과 모델의 학습데이터, 모델의 구성, 단어의 선택, 톤앤매너와 문장의 구조, 문맥 등에 따라 프롬프트의 효과가 달라질 수 있기 때문입니다. 따라서 프롬프트 엔지니어링은 다소 반복적인 과정입니다.
LLM모델을 선택한 후에는 모델 구성에 대해 파악해야 합니다. LLM의 답변 출력을 제어하는 다양한 구성 옵션에 대해 알아봅니다.
많은 토큰(답변)을 생성하려면 더 많이 계산해야 하고, 이는 더 높은 에너지를 소비하게 되며 결국 응답시간이 느려질 수 있음을 의미합니다. 따라서 Output인 답변의 길이를 제한하는 것은 LLM 프롬프트 엔지니어링에서 중요한 요소 중 하나입니다.
계산을 많이하게 되면 더 높은 에너지를 소비하게 된다는 것이고, 이는 결국 높은 비용으로 연결되기 때문입니다.
일반적으로 LLM은 하나의 토큰(a single token)을 예측하지 않습니다. 오히려 LLM이 예측하는 것은 다음 토큰이 될 수 있는 확률입니다. 이때, Temperature와 Top-K, Top-P는 예측된 토큰 확률들을 처리하여 단일 출력 토큰을 선택하는 것을 결정하는 가장 일반적인 설정 값입니다.
"Temperature와 Top-K, Top-P는 모델이 예측한 토큰 확률들을 처리하여 단일 출력 토큰을 선택하는 것을 결정하는 가장 일반적인 설정 값입니다."
!! 위 내용이 좀 부자연스러워서 추가 설명을 드릴게요!
예측된 토큰 확률(predicted token probabilities)
→ '토큰'은 일반적으로 '하나의 단어로 간주'합니다.
→ 언어모델은 다음에 올 수 있는 모든 단어(토큰)가 나올 확률을 계산합니다.
단일 출력 토큰을 선택(choose a single output token.)
→ 확률 분포를 바탕으로 '최종적으로 모델의 출력 문장에 들어갈 다음 단어 하나를 고르는 행위'입니다.
Temperature
Temperature는 토큰(단어) 선택을 할 때 다양성을 조절할 수 있습니다. Temperature가 높으면 더 다양하거나 예상치 못한 프롬프트에 적합하며, Temperature가 낮으면 결정적인 반응을 기대하는 프롬프트에 적합합니다.
즉, Temperature가 높으면 확률분포가 평평하여 토큰(단어) 선택의 기회가 많아지고,
Temperature가 낮으면 확률분포가 뾰족하여 토큰(단어) 선택 시 가장 확률이 높은 토큰만 선택합니다.
Top-K & Top-P
Temperature와 같이 다양성과 랜덤성을 조절할 수 있는 구성 요소입니다.
Top-P는 단어의 폭과 개성을 조절할 수 있습니다.
Top-K는 높을수록 더 창의적이고 다양한 결과를 내고, 낮을수록 불안하고 사실적인 결과를 나타냅니다.
따라서, Top-K와 Top-P 사이의 관계는 원하는 결과에 따라 잘 조합하여 사용하는 게 좋습니다.
Top-K와 Top-P의 차이점에 대해 추가로 설명드릴게요!
LLM은 기본적으로 문장을 생성할 때, 확률에 기반하여 다음에 올 토큰(단어)을 예측합니다.
이때, Top-K와 Top-P는 후보 단어의 범위를 제한하여 답변의 다양성과 품질을 조절하는 두 가지 주요 샘플링 기법입니다.
가장 큰 차이점으로는, 후보단어를 선택하는 기준입니다.
Top-K 샘플링
- 후보 토큰(단어)선택 기준: 개수(K). 확률이 가장 높은 순서대로 K개의 토큰만 후보로 지정함.
- 후보 토큰(단어) 수: K개로 고정됨.
- 특징: 직관적이고 단순하며, 문맥의 변화에 따라 덜 유연함.
- 장점: 선택지의 수를 명확히 통제하여 엉뚱한 단어 생성을 확실히 방지함.
Top-P 샘플링
- 후보 토큰(단어)선택 기준: 누적확률(P). 확률이 가장 높은 후보 선택 시, 누적확률의 합이 P를 넘는 최소한의 토큰 그룹만 선택.
- 후보 토큰(단어) 수: 유동적임.
- 특징: 문맥에 유연하며 모델의 확신 정도에 따라 선택지를 조절함.
- 장점: 모델이 확신할 때는 선택지를 좁히고, 확신이 없을 때는 선택지를 넓혀 더 자연스러운 텍스트를 생성하는데 유리함.