GPT에게 더 좋은 답변을 받는 방법은 따로 있다

 Chat GPT와 같은 대규모 언어 모델(LLM)에 특정 작업을 시키기 위한 2가지 방법이 있습니다. 첫 번째로는 모델을 직접 미세 조정(fine tuning)하는 방법이 있고, 두 번째로는 프롬프트를 최적화하는 방법입니다. 하지만 개인이 모델을 직접 미세 조정(fine tuning)하는 것은 비효율적이라서 프롬프트를 최적화 하는 연구들이 활발하게 진행되고 있습니다.

프롬프트 엔지니어링이 뭔데요?

 “좋은 답변을 받기 위해서는 질문을 잘 해야한다” 이건 21세기 살아가는 사회구성원으로써 다들 동의하실겁니다. LLM에게도 마찬가지입니다. 좋은 답변을 얻어내기 위해서는 좋은 질문을 해야하고, 어떤게 좋은 질문인지 찾아가는 과정이 바로 프롬프트 엔지니어링입니다.

그래서 어떻게 질문 하면 돼요?

 VILA-lab에서 유명한 대규모 언어 모델(LLaMA-1/2, GPT-3.5/4)를 대상으로 테스트하여 정리한 26가지 프롬프트 원칙을 2023년 12월 말에 논문으로 발표했습니다.(Bsharat, Sondos Mahmoud, Aidar Myrzakhan, and Zhiqiang Shen. “Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4.” arXiv preprint arXiv:2312.16171 (2023).) 논문의 디테일은 본 글에서 다루지는 않고, 어떻게 질문을 해야하는지에 내용을 공유드립니다. 

  • 언어모델에게 공손하게 대할 필요가 없다.
    • please, thank you등을 쓸 필요가 없다.
  • 청자들이 누구인지를 적어준다.
    • 이 글을 읽는 사람은 해당 분야의 전문가이다.
  • “~~을 해라”라는 긍정적인 지시어를 사용하되, ~을 하지 마라”라는 부정적인 표현은 피하는게 좋다.
    • 반말을 써라 O, 존댓말을 쓰지 마라 X.
  • 더 좋은 대답을 해주면 팁을 준다고 한다.
    • I’m going th tip $400 for a better solution!
  • “너의 일은 ~ 다.” 나 “넌 반드시 ~”와 같은 표현을 포함한다.
    • 너의 일은 문장 요약이야. 넌 반드시 주어진 글 안에서 요약을 해야해.
  • “~~하면 불이익이 있을수도 있다” 라는 표현을 포함한다.
    • 만약 헛소리를 하면 불이익이 있을 거야.
  • 단계별로 생각하라고 한다.
    • 답변할때 단계별로 생각하고 답변해.
  • 언어모델에게 역할을 할당한다.
    • 넌 요약 전문가야.
  • 구분 기호를 사용한다.

예시는 없나요?

좋은 예시들이 논문에 있어서 발췌를 했습니다.

Correctness improvement example of LLM response after using the introduced principle 7 on prompts.
Boosting example of LLM response after using the principle 13 on prompts.

얼마나 더 좋아지나요?

논문에서는 Boosting과 Correctness의 측면으로 설명하고 있습니다. Boosting은 언어모델의 답변 품질이 더 좋아졌는지 여부이고, Correctness는 정답이 있는 답변의 경우 틀렸던 답변이 맞게 된 경우입니다. 테스트에 사용한 데이터셋은 VILA-lab에서 LLM 프롬프트 원칙을 연구하기 위해 생성한 1만2500개의 데이터 포인트들입니다.

Boosting score across various LLMs on the ATLAS dataset.
Correctness improvement score on the ATLAS dataset.

 Boosting의 경우, 평균적으로 다양한 언어모델에서 안정적으로 50%의 개선이 있었고, Correctness의 경우, 모델이 클수록 정확도가 더 크게 향상되는 추세가 있었습니다.

결론

 GPT를 단순히 사용하는 것을 넘어서 잘 활용하는 것이 중요해진 시대입니다. 본 글에서 정리한 프롬프트 원칙을 이용해서 GPT에게 더 좋은 답변 만들게하여 잘 활용하셨으면 좋겠습니다.


감사합니다.

Reference