Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4 논문 리뷰

hu22·2024년 4월 6일

AI 논문 리뷰

목록 보기
4/6

이 글은 Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4 (Sondos Mahmoud Bsharat, Aidar Myrzakhan, Zhiqiang Shen)논문을 요약한 글입니다.

1. 논문 요약과 소개

"Prompt engineering is the art of communicating with a generative
large language model."

  • LLM(대형 언어 모델)의 진화는 Google의 BERT를 시작으로 1,750억 개의 parameter로 학습된 GPT-3과 같은 모델로 발전하면서 자연어 처리(NLP)의 기술을 크게 발전 시켰음.

  • 이 논문에서는 다양한 규모의 모델 동작에 대한 사용자의 이해를 향상시키는 것을 목표로 LLM의 prompt를 어떻게 잘 engineering하여 ChatGPT를 잘 쓸 수 있는지에 대한 26가지 기본 원칙을 소개함.

2. Principles

2-1. Motivation

  • pre-trained 된 LLM에 의해 생성된 응답의 quality는 사용자가 제공한 prompt 또는 지침의 품질과 직접적으로 관련이 있으므로 반드시 필요함.

  • LLM에 전달되는 prompt는 다양한 작업을 처리할 수 있는 기능을 향상시키기 위해 사용자와 LLM 간의 상호 작용을 수행하는 것임.

  • 주요 초점은 LLM의 출력 quality를 향상시키기 위해 prompt를 제작하고 customizing하는 방법론에 있음.

  • 다양한 시나리오와 상황에서 포괄적인 prompt에 대한 26가지 원칙을 정교화하여 이를 실현하고자 함.

2-2. Overview

"According to their unique nature, we group them into five categories as in Table"
->다섯가지 카테고리로 나누어 원칙을 소개함.

2-2-1. prompt Structure and Clarity

  1. prompt에 audience를 통일 해야 한다. 예를 들어 audience를 해당 분야의 전문가로 통일하면 좋다.

  2. '하지 않음'과 같은 부정적인 언어를 피하고 '하다'와 같은 긍정적인 지시를 사용해야 한다.

  3. "think step by step(차근차근 생각해라)"와 같이 leading하는 말을 사용해야 한다.

  4. 얻고자 하는 출력의 시작 부분에 prompt를 마무리하는 output primer를 사용해야 한다. 즉 예상 응답 시작과 함께 prompt를 종료해야 한다.

  5. 구분 기호를 사용해야 한다.

  6. prompt를 formatting할 때 '명령어'로 시작하고, 해당하는 경우의 '예시' 또는 '질문'으로 시작하여 내용을 제시해야 한다. 명령어, 예시, 질문을 제시할 때 한 번 이상 줄 바꿈을 하는 것이 좋다.

2-2-2. Specificity and Information

  1. 예제 기반의 prompt를 쓰는 것이 좋다. (few-shot prompting을 써라).

    few-shot prompting 관련 글 https://www.promptingguide.ai/kr/techniques/fewshot

  2. 주제, 아이디어 또는 정보에 대한 명확성이나 더 깊은 이해가 필요한 경우에는 아래와 같이 하는 것이 좋다.
  • [특정 주제]를 간단한 용어로 설명해야 한다.
  • 11살인 것처럼 설명해야 한다.
  • 질문하고자 하는 분야의 초보자인 것처럼 설명해야 한다.
  • 5세 아이에게 설명하듯이 간단한 언어로 [에세이/본문/문단]을 작성해야 한다.
  1. "답변에 편견이 없고 고정관념에 의존하지 않도록 하라"는 문구를 prompt에 추가해야 한다.

  2. 미리 제공한 sample과 유사한 텍스트를 작성하려면 다음과 같은 구체적인 지침을 포함해야 한다.

  • "제공된 문단의 [제목/글/에세이/답변]을 기준으로 동일한 언어를 사용해라."
  1. 특정 단어, 구 또는 문장을 사용하여 텍스트를 시작하거나 계속하려면 아래와 같이 prompt를 작성하면 된다.
  • "내가 [노래 가사/이야기/문단/에세이...], [가사/단어/문장] 의 시작 부분을 제공할게.
    제공된 단어를 바탕으로 마무리하고, 흐름을 일관되게 유지해줘"
  1. model이 콘텐츠를 생성하기 위해 따라야 하는 모델의 요구 사항을 <키워드, 규정, 힌트 또는 지시>를 잘 사용 하여 명확하게 설명해야 한다.

  2. 특정 주제나 아이디어에 대해 문의하고 이해도를 테스트하려면 아래와 같은 문구를 사용할 수 있다.

  • "나에게 [정리/주제/규칙 이름]을 알려주고 마지막에 나를 테스트하는 말을 포함해줘 그리고 미리 답변하지 말고 내가 답변한 후에 답변이 맞으면 알려줘"
  1. 에세이/텍스트/문구/기사 또는 상세해야 할 텍스트 유형을 작성하려면 아래와 같은 문구를 사용할 수 있다.
  • "[주제]에 필요한 모든 정보를 추가하여 나를 위한 상세한 [[논술/문구/문구]]를 작성해줘."

2-2-3. User Interaction and Engagement

  1. 모델이 충분히 원하는 답변을 할 때까지 세부적으로 질문을 함으로써 정확한 답변을 도출할 수 있다.
    필요한 출력을 제공하기 위한 정보
    o "이제부터 너가 나에게 ...에 대해 질문을 했으면 한다."

  2. 에세이/텍스트/문구/기사 또는 상세해야 할 텍스트 유형을 작성하려면 아래와 같은 문구를 사용할 수 있다.

  • "내가 필요한 모든 정보를 추가하여 [topic]에 대해 자세히 설명해주고 이에 대한 자세한 [에세이/텍스트/-]를 작성해줘"

2-2-4. Content andLanguage Style

  1. 나의 스타일을 변경하지 말고 특정 텍스트를 수정/변경하기 위해 아래와 같은 방법을 쓸 수 있다.
  • "내가 보낸 모든 단락을 수정해 봐. 내 글의 문법과 어휘를 개선하고 자연스럽게 들리도록 유지해줘."
  1. "너의 임무는"과 "너는 반드시 해야 돼."라는 문구를 포함해야 한다.
  2. "벌점을 받을 거야."라는 문구를 포함해야 한다.
  3. model에 역할을 줘야 한다.
  4. prompt에서 "자연어 형태로 주어진 질문에 답하세요"라는 문구를 사용해야 한다.
  5. LLM에 대한 예의를 갖출 필요가 없으므로 "부탁드립니다", "괜찮으시다면", "감사합니다"와 같은 문구를 추가할 필요가 없다. "~ 하고 싶어" 등의 내용을 담고 바로 본론으로 들어가는 것이 좋다.
  6. prompt에서 특정 단어나 구를 여러 번 반복하면 좋다.
  7. "더 나은 솔루션을 위해 $xxx에 팁을 줄게!" 와 같은 문구를 추가하면 좋다.
profile
ai 개발자를 꿈꾸는 대학생

2개의 댓글

comment-user-thumbnail
2024년 4월 6일

꿀팁이네요. 잘 보고 갑니다~

답글 달기
comment-user-thumbnail
2024년 4월 7일

GPT 사용에 도움되는 내용 감사합니다 :)

답글 달기