brunch

[Google] Prompt Engineering #1

LLM모델의 구성요소 (Temperature, Top-K, Top-P)

by chorong

지난 2025년 2월, Google에서 공유한 프롬프트 엔지니어링에 대한 내용을 공유합니다.

AI에 관심이 많은 분들은 이미 더 잘 알고 계실 내용들이지만, 프롬프트 엔지니어링에 대한 기본적인 내용은 물론, AI가 추론하는 방법에 대해 알아야 할 기본적인(?) 내용들을 하나의 Document로 아주 정리가 잘 되어 있더라구요. 프롬프트 엔지니어링에 대한 바이블이랄까요,

사실, 이 글은 공유가 목적이라기보다 제 스스로 정리하는 목적으로 요약한 내용이니, 궁금하신 분은 공유드린 원본을 참고하시는 것도 좋을 것 같습니다.




Introduce

우리는 데이터사이언티스트나 머신러닝 엔지니어가 될 필요는 없습니다. 누구나 프롬프트를 작성할 수 있습니다. 하지만, 가장 효과적인 프롬프트를 작성하는것은 꽤 복잡할 수 있습니다. 사용하는 모델과 모델의 학습데이터, 모델의 구성, 단어의 선택, 톤앤매너와 문장의 구조, 문맥 등에 따라 프롬프트의 효과가 달라질 수 있기 때문입니다. 따라서 프롬프트 엔지니어링은 다소 반복적인 과정입니다.


LLM output configuration

LLM모델을 선택한 후에는 모델 구성에 대해 파악해야 합니다. LLM의 답변 출력을 제어하는 다양한 구성 옵션에 대해 알아봅니다.


1. Output Length

많은 토큰(답변)을 생성하려면 더 많이 계산해야 하고, 이는 더 높은 에너지를 소비하게 되며 결국 응답시간이 느려질 수 있음을 의미합니다. 따라서 Output인 답변의 길이를 제한하는 것은 LLM 프롬프트 엔지니어링에서 중요한 요소 중 하나입니다.

계산을 많이하게 되면 더 높은 에너지를 소비하게 된다는 것이고, 이는 결국 높은 비용으로 연결되기 때문입니다.


2. Sampling Controls

일반적으로 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-K예시.png


Top-P 샘플링

- 후보 토큰(단어)선택 기준: 누적확률(P). 확률이 가장 높은 후보 선택 시, 누적확률의 합이 P를 넘는 최소한의 토큰 그룹만 선택.

- 후보 토큰(단어) 수: 유동적임.

- 특징: 문맥에 유연하며 모델의 확신 정도에 따라 선택지를 조절함.

- 장점: 모델이 확신할 때는 선택지를 좁히고, 확신이 없을 때는 선택지를 넓혀 더 자연스러운 텍스트를 생성하는데 유리함.

Top-P예시.png



keyword
매거진의 이전글The era of AI에서 인문학이 중요한 이유