728x90

https://www.promptingguide.ai/kr

 

프롬프트 엔지니어링 가이드 – Nextra

A Comprehensive Overview of Prompt Engineering

www.promptingguide.ai

 

0. LLM 하이퍼파라미터

temperature - 값이 낮을수록 항상 가장 확률이 높은 토큰(말뭉치의 최소 단위)이 선택되기 때문에 더 결정론적인 결과

top_p - 정확하고 사실적인 답변을 원한다면 이를 낮게 유지

=> 둘 중 하나만 변경

 

Max Length - max length를 조정하여 모델이 생성하는 토큰의 수를 관리

Stop Sequences - 모델의 토큰 생성을 중지하는 문자열

Frequency Penalty가 높을수록 단어가 다시 등장할 가능성이 줄어듦

Presence Penalty - 응답에서 구문을 너무 자주 반복하는 것을 방지, 다양하거나 창의적인 텍스트를 생성하기 위해 더 높은 presence penalty를 사용

 

권장사항: temperature와 top_p를 모두 변경하지는 X, frequency penalty와 presence penalty를 모두 변경하지는 X


1. 예시를 추가하는 few-shot prompting

2. 프롬프트의 구성

프롬프트 엔지니어링: 모델에게 작업을 수행하도록 지시하기 위해 최적의 프롬프트를 설계하는 이러한 접근 방식

- 지시(Instruction): 모델이 수행할 특정 작업 또는 지시
 시작 부분에 지시 사항을 명시
 '###'과 같이 명확한 구분 기호를 사용하여 명령어와 지시 사항을 구분
 지시와 작업을 구체적으로 설명

- 문맥: 더 나은 응답을 위해 모델을 조종할 수 있는 외부 정보나 추가 문맥
- 입력 데이터: 응답받고자 하는 입력이나 질문
- 출력 지시자 - 출력의 유형이나 형식

 

3. 프롬프트 구성 팁


불필요한 세부 사항을 많이 포함하는 것이 반드시 좋은 접근 방법은 아닙니다
구체적이고 직접적이어야. (매우 구체적이고 간결하며 정곡을 찌르는.)
'하지 말아야 할 것'보다는 '해야 하는 것'에 초점을 두는 것

 

3-1. 추론 태스크는 특히 CoT. 해결방법을 단계별로 간결하게 제시.


주어진 수 중에서 홀수를 모두 더해서 짝수를 만들어 줘: 15, 32, 5, 13, 82, 7, 1.
문제를 단계별로 해결해 봐. 먼저 주어진 수 중 홀수를 찾아낸 뒤, 그것들을 합해서, 결과가 홀수인지 짝수인지 판별해 줘.

 

4. CoT

- 중간 추론 단계를 통해 복잡한 추론을 가능하게 함!!
-  충분히 큰 대규모언어모델에서만 발생

- 답변 생성 시 모델이 해설을 단계별로 함께 생성하도록 지시함.

예시
Prompt:
나는 시장에 가서 사과 10개를 샀어. 나는 사과 2개를 이웃에게 주고, 2개를 수리공에게 주었어. 그리고 사과 5개를 더 사서 1개는 내가 먹었어. 사과가 몇 개나 남았니?
단계별로 생각해 보자.

Output:
먼저 사과 10개로 시작했어.
이웃에게 2개, 수리공에게 2개를 나누어 주었으므로 사과가 6개가 남았어.
그런 다음 사과 5개를 더 사서 이제 사과가 11개가 되었어.
마지막으로 사과 1개를 먹었으므로 사과 10개가 남게 돼.

 

4-1. Auto-CoT

"단계별로 생각해보자(Step by Step)"라는 프롬프트가 있는 대규모언어모델 -> 데모를 위한 추론 사슬을 하나씩 생성함으로써 수작업을 없애는 접근 방식

1단계): 질문 클러스터링(question clustering): 주어진 데이터 세트의 질문을 몇 개의 클러스터로 분할합니다.
2단계): 데모 샘플링(demonstration sampling): 각 클러스터에서 대표 질문을 선택하고 간단한 휴리스틱과 함께 제로샷 생각의 사슬(Zero-Shot-CoT)를 사용해 추론 체인을 생성합니다.

 

https://www.promptingguide.ai/kr/techniques/cot


 

728x90

+ Recent posts