Study

[Study | OMEP] week 7: Prompt Engineering Guide

  • -
728x90

영어 발표 스터디를 하고 있다. (참고로 OMEP: Oh My English Present 는 사실 내가 그냥 지은 이름이다.) 내 발표들을 다시 정리해두면 좋을 것 같아, 블로그에도 업로드한다.

To do or not to do?

Prompt:

The following is an agent that recommends movies to a customer. DO NOT ASK FOR INTERESTS. DO NOT ASK FOR PERSONAL INFORMATION.Customer: Please recommend a movie based on my interests.Agent:

Output:

Sure, I can recommend a movie based on your interests. What kind of movie would you like to watch? Do you prefer action, comedy, romance, or something else?

Here is a better prompt:

Prompt:

The following is an agent that recommends movies to a customer. The agent is responsible to recommend a movie from the top global trending movies. It should refrain from asking users for their preferences and avoid asking for personal information. If the agent doesn't have a movie to recommend, it should respond "Sorry, couldn't find a movie to recommend today.".Customer: Please recommend a movie based on my interests.Agent:

Output:

Sorry, I don't have any information about your interests. However, here's a list of the top global trending movies right now: [list of movies]. I hope you find something you like!

Kor ver.

Prompt:

다음은 고객에게 영화를 추천하는 상담원입니다. 관심사를 묻지 마세요. 개인정보를 묻지 마세요.고객: 제 관심사를 바탕으로 영화를 추천해 주세요.상담원:

Output:

네, 당신의 관심사를 바탕으로 영화를 추천해 드리겠습니다. 액션, 코미디, 로맨스, 아니면 그 밖의 장르, 어떤 종류의 영화를 좋아하세요?

Prompt:

다음은 고객에게 영화를 추천하는 상담원입니다. 상담원은 글로벌 인기 영화 중에서 영화를 추천해야 합니다. 사용자의 관심사를 묻지 않고, 개인 정보를 요구하지 않아야 합니다. 상담원이 추천할 영화가 없는 경우 "죄송합니다. 오늘 추천할 영화를 찾을 수 없습니다." 라고 응답해야 합니다.고객: 제 관심사를 바탕으로 영화를 추천해 주세요.상담원:

Output:

죄송합니다만, 당신의 관심사에 관한 정보를 찾을 수 없었습니다. 하지만 지금 가장 인기 있는 영화에 대한 목록이 있습니다: [영화 목록]. 좋아하는 것을 찾으시길 바랄게요!

Zero-Shot Prompting

Prompt:

Classify the text into neutral, negative or positive. Text: I think the vacation is okay.Sentiment:

Output:

Neutral

Kor ver.

Prompt:

텍스트를 중립, 부정 또는 긍정으로 분류합니다.텍스트: 휴가는 괜찮을 것 같아요.감정:

Output:

중립

Few-Shot Prompting

Brown et al. 2020

Prompt:

A "whatpu" is a small, furry animal native to Tanzania. An example of a sentence that usesthe word whatpu is:We were traveling in Africa and we saw these very cute whatpus.To do a "farduddle" means to jump up and down really fast. An example of a sentence that usesthe word farduddle is:

Output:

When we won the game, we all started to farduddle in celebration.

Kor ver.

Prompt:

"whatpu"는 탄자니아에 서식하는 작은 털복숭이 동물입니다. whatpu를 사용하는 문장의 예라는 단어를 사용하는 문장의 예입니다:우리는 아프리카를 여행하고 있었는데 아주 귀여운 whatpu를 보았습니다."farduddle"을 한다는 것은 정말 빠르게 위아래로 점프한다는 뜻입니다. farduddle을 사용하는 문장의 예를 사용하는 문장의 예입니다:

Output:

게임에서 이겼을 때 우리 모두는 farduddle를 시작했습니다.

We can observe that the model has somehow learned how to perform the task by providing it with just one example (i.e., 1-shot). For more difficult tasks, we can experiment with increasing the demonstrations (e.g., 3-shot, 5-shot, 10-shot, etc.).

 

: Few-shot GPT-3 outperforms previous unsupervised NMT work by 5 BLEU when translating into English reflecting its strength as an English LM.

Chain-of-Thought (CoT) Prompting

Wei et al. (2022)

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.The odd numbers in this group add up to an even number: 17,  10, 19, 4, 8, 12, 24.A: Adding all the odd numbers (17, 19) gives 36. The answer is True.The odd numbers in this group add up to an even number: 16,  11, 14, 4, 8, 13, 24.A: Adding all the odd numbers (11, 13) gives 24. The answer is True.The odd numbers in this group add up to an even number: 17,  9, 10, 12, 13, 4, 2.A: Adding all the odd numbers (17, 9, 13) gives 39. The answer is False.The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. A:

Output:

Adding all the odd numbers (15, 5, 13, 7, 1) gives 41. The answer is False.

i.e., just one example seems enough:

Prompt:

The odd numbers in this group add up to an even number: 4, 8, 9, 15, 12, 2, 1.A: Adding all the odd numbers (9, 15, 1) gives 25. The answer is False.The odd numbers in this group add up to an even number: 15, 32, 5, 13, 82, 7, 1. A:

Output:

Adding all the odd numbers (15, 5, 13, 7, 1) gives 41. The answer is False.
  • Keep in mind that the authors claim that this is an emergent ability that arises with sufficiently large language models.

Kor ver.

Prompt:

집합 {4, 8, 9, 15, 12, 2, 1}에서 홀수를 모두 더하면 짝수야.답변: 홀수(9, 15, 1)를 모두 더하면 25가 돼. 위의 명제는 거짓이야.집합 {17, 10, 19, 4, 8, 12, 24}에서 홀수를 모두 더하면 짝수야.답변: 홀수(17, 19)를 모두 더하면 36이 돼. 위의 명제는 참이야.집합 {16, 11, 14, 4, 8, 13, 24}에서 홀수를 모두 더하면 짝수야.답변: 홀수(11, 13)를 모두 더하면 24가 돼. 위의 명제는 참이야.집합 {17, 9, 10, 12, 13, 4, 2}에서 홀수를 모두 더하면 짝수야.답변: 홀수(17, 9, 13)를 모두 더하면 39가 돼. 위의 명제는 거짓이야.집합 {15, 32, 5, 13, 82, 7, 1}에서 홀수를 모두 더하면 짝수야.답변:

Output:

홀수(15, 5, 13, 7, 1)를 모두 더하면 41이 돼. 위의 명제는 거짓이야.

Prompt:

이 그룹의 홀수의 합은 짝수야: 4, 8, 9, 15, 12, 2, 1A: 홀수(9, 15, 1)를 모두 더하면 25가 돼. 정답은 거짓이야.이 그룹의 홀수의 합은 짝수야: 15, 32, 5, 13, 82, 7, 1A:

Output:

홀수(15, 5, 13, 7, 1)를 모두 더하면 41이 돼. 답은 거짓이야.

Zero-shot CoT Prompting

Kojima et al. 2022

Large Language Models are Zero-Shot Reasoners

Let's think step by step”

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and 2 to the repairman. I then went and bought 5 more apples and ate 1. How many apples did I remain with?

Output:

11 apples

add “Let's think step by step”

Prompt:

I went to the market and bought 10 apples. I gave 2 apples to the neighbor and 2 to the repairman. I then went and bought 5 more apples and ate 1. How many apples did I remain with?Let's think step by step.

Output:

First, you started with 10 apples.You gave away 2 apples to the neighbor and 2 to the repairman, so you had 6 apples left.Then you bought 5 more apples, so now you had 11 apples.Finally, you ate 1 apple, so you would remain with 10 apples.

Kor ver.

Prompt:

나는 시장에 가서 사과 10개를 샀어. 사과 2개를 이웃에게 주고, 2개를 수리공에게 주었어. 그리고 사과 5개를 더 사서 1개는 내가 먹었어. 나는 몇 개의 사과를 가지고 있었니?

Output:

사과 11개

add “Let's think step by step”

Prompt:

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

Output:

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

Automatic Chain-of-Thought (Auto-CoT)

Zhang et al. (2022)

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

Auto-CoT consists of two main stages:

  • Stage 1): question clustering
  • Stage 2): demonstration sampling

The process is illustrated below:

Automatic Chain of Thought Prompting in Large Language Models

You can see the actual code below.

https://github.com/amazon-science/auto-cot

fun project based on CoT: NomaDamas

GitHub - NomaDamas/KICE_slayer_AI_Korean: 수능 국어 1등급에 도전하는 AI

problem #17 (오답률 84.9%, GPT-4 with CoT Prompt 정답)

!https://github.com/NomaDamas/KICE_slayer_AI_Korean/raw/master/resource/17_problems.png

used prompt

  국어 시험 문제를 푸는 대한민국의 고3 수험생으로서 다음 문제의 답을 구하세요.

  문제를 풀이할 때, 반드시 지문을 참고하세요.
  문제는 무조건 1개의 정답만 있습니다.
  문제를 풀이할 때 모든 선택지들을 검토하세요.
  모든 선택지마다 근거를 지문에서 찾아 설명하세요.

  다음의 형식을 따라 답변하세요.
  최종 정답: (최종 정답)
  1번: (선택지 1번에 대한 답변) + "(지문 속 근거가 된 문장)"
  2번: (선택지 2번에 대한 답변) + "(지문 속 근거가 된 문장)"
  3번: (선택지 3번에 대한 답변) + "(지문 속 근거가 된 문장)"
  4번: (선택지 4번에 대한 답변) + "(지문 속 근거가 된 문장)"
  5번: (선택지 5번에 대한 답변) + "(지문 속 근거가 된 문장)"

  지문:
  하루에 필요한 에너지의 양은 하루 동안의 총 열량 소모량인 대사량으로 구한다. 그중 기초 대사량은 생존에 필수적인 에너지로, 쾌적한 온도에서 편히 쉬는 동물이 공복 상태에서 생성하는열량으로 정의된다. 이때 체내에서 생성한 열량은 일정한 체온에서 체외로 발산되는 열량과 같다. 기초 대사량은 개체에 따라대사량의 60~75%를 차지하고, 근육량이 많을수록 증가한다.기초 대사량은 직접법 또는 간접법으로 구한다. ㉠ (직접법)은 온도가 일정하게 유지되고 공기의 출입량을 알고 있는 호흡실에서 동물이 발산하는 열량을 열량계를 이용해 측정하는 방법이다. ㉡ (간접법)은 호흡 측정 장치를 이용해 동물의 산소 소비량과 이산화 탄소 배출량을 측정하고, 이를 기준으로 체내에서 생성된 열량을 추정하는 방법이다.19세기의 초기 연구는 체외로 발산되는 열량이 체표 면적에 비례한다고 보았다. 즉 그 둘이 항상 일정한 비(比)를 갖는다는 것이다. 체표 면적은 (체중)^0.67에 비례하므로, 기초 대사량은 체중이 아닌 (체중)^0.67에 비례한다고 하였다. 어떤 변수의 증가율은 증가 후 값을 증가 전 값으로 나눈 값이므로, 체중이 W에서2W로 커지면 체중의 증가율은 (2W) / (W)=2이다. 이 경우에 기초대사량의 증가율은 (2W)^0.67 / (W)^0.67 = 2^0.67, 즉 약 1.6이 된다.1930년대에 클라이버는 생쥐부터 코끼리까지 다양한 크기의 동물의 기초 대사량 측정 결과를 분석했다. 그래프의 가로축 변수로 동물의 체중을, 세로축 변수로 기초 대사량을 두고, 각 동물별 체중과 기초 대사량의 순서쌍을 점으로 나타냈다. 가로축과 세로축 두 변수의 증가율이 서로 다를 경우, 그 둘의 증가율이 같을 때와 달리, ‘일반적인 그래프’에서 이 점들은 직선이 아닌 어떤 곡선의 주변에 분포한다. 그런데 순서쌍의 값에 상용로그를 취해 새로운 순서쌍을 만들어서 이를 <그림>과같이 그래프에 표시하면, 어떤 직선의 주변에 점들이 분포하는 것으로 나타난다. 그러면 그 직선의 기울기를 이용해두 변수의 증가율을 비교할 수 있다. <그림>에서 X와 Y는 각각 체중과 기초대사량에 상용로그를 취한 값이다. 이런 방식으로 표현한 그래프를 ‘L-그래프’라 하자. 체중의 증가율에 비해, 기초 대사량의 증가율이 작다면 L-그래프에서 직선의 기울기는 1보다 작으며 기초 대사량의 증가율이 작을수록 기울기도 작아진다. 만약 체중의 증가율과 기초 대사량의 증가율이 같다면 L-그래프에서 직선의 기울기는 1이 된다.이렇듯 L-그래프와 같은 방식으로 표현할 때, 생물의 어떤 형질이 체중 또는 몸 크기와 직선의 관계를 보이며 함께 증가하는 경우 그 형질은 ‘상대 성장’을 한다고 한다. 동일 종에서의심장, 두뇌와 같은 신체 기관의 크기도 상대 성장을 따른다.한편, 그래프에서 가로축과 세로축 두 변수의 관계를 대변하는최적의 직선의 기울기와 절편은 최소 제곱법으로 구할 수 있다. 우선, 그래프에 두 변수의 순서쌍을 나타낸 점들 사이를 지나는임의의 직선을 그린다. 각 점에서 가로축에 수직 방향으로 직선까지의 거리인 편차의 절댓값을 구하고 이들을 각각 제곱하여 모두 합한 것이 ‘편차 제곱 합’이며, 편차 제곱 합이 가장 작은 직선을 구하는 것이 최소 제곱법이다.클라이버는 이런 방법에 근거하여 L-그래프에 나타난 최적의직선의 기울기로 0.75를 얻었고, 이에 따라 동물의 (체중)^0.75에 기초 대사량이 비례한다고 결론지었다. 이것을 ‘클라이버의 법칙’이라 하며, (체중)^0.75을 대사 체중이라 부른다. 대사 체중은 치료제 허용량의 결정에도 이용되는데, 이때 그 양은 대사 체중에 비례하여 정한다. 이는 치료제 허용량이 체내 대사와 밀접한 관련이 있기 때문이다.

  이 문제는 아래와 같이 <보기>가 주어져 있습니다.
  문제의 각 선택지들을 해결하기 위한 배경 지식을 설명해 주고 있는 것이 <보기>로써,
  각 선택지들을 지문과 연결시키고, <보기>의 지식을 활용하면 각 선택지의 참과 거짓을 판단할 수 있습니다.
  문제를 해결할 때, 반드시 <보기>의 내용을 이용해서 문제를 해결해야 합니다.

  <보기> :
  <보기>농게의 수컷은 집게발 하나가매우 큰데, 큰 집게발의 길이는게딱지의 폭에 '상대 성장'을한다. 농게의 ⓐ(게딱지 폭)을이용해 ⓑ(큰 집게발의 길이)를 추정하기 위해, 다양한 크기의농게의 게딱지 폭과 큰 집게발의 길이를 측정하여 다수의순서쌍을 확보했다. 그리고 'L-그래프'와 같은 방식으로,그래프의 가로축과 세로축에 각각 게딱지 폭과 큰 집게발의길이에 해당하는 값을 놓고 분석을 실시했다.

  질문 :
  윗글을 바탕으로 <보기>를 탐구한 내용으로 가장 적절한 것은?

 선택지 :
1번 - 최적의 직선을 구한다고 할 때, 최적의 직선의 기울기가 1보다 작다면 ⓐ에 ⓑ가 비례한다고 할 수 없겠군.
2번 - 최적의 직선을 구하여 ⓐ와 ⓑ의 증가율을 비교하려고 할 때, 점들이 최적의 직선으로부터 가로축에 수직 방향으로 멀리떨어질수록 편차 제곱 합은 더 작겠군.
3번 - ⓐ의 증가율보다 ⓑ의 증가율이 크다면, 점들의 분포가 직선이아닌 어떤 곡선의 주변에 분포하겠군.
4번 - ⓐ의 증가율보다 ⓑ의 증가율이 작다면, 점들 사이를 지나는 최적의 직선의 기울기는 1보다 크겠군.
5번 - ⓐ의 증가율과 ⓑ의 증가율이 같고 ‘일반적인 그래프’에서 순서쌍을 점으로 표시한다면, 점들은 직선이 아닌 어떤 곡선의주변에 분포하겠군.

solution from GPT-4

EBS solution

Ref.

eng ver.

Prompt Engineering Guide – Nextra

 

Prompt Engineering Guide – Nextra

A Comprehensive Overview of Prompt Engineering

www.promptingguide.ai

kor ver.

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

 

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

A Comprehensive Overview of Prompt Engineering

www.promptingguide.ai

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.