[Paper Review] Large Language Models Are Human-Level Prompt Engineers

김세민·2024년 3월 14일
0

Prompt Engineering이란?: AI가 최적의 결과물을 낼 수 있도록 AI 프롬프트를 작성하는 작업이다. 최근 들어 ChatGPT와 같은 생성형 AI가 주류로 자리 잡으며, 이를 보다 효율적으로 활용하고자 하는 차원에서 프롬프트 엔지니어링의 중요성이 이전보다 크게 대두되고 있다.

1. 논문에서 풀고자 하는 문제

대형 언어 모델(Large Language Model, LLM)은 자연어 명령어(프롬프트)를 통해 제어할 수 있는데, 이때 프롬프트의 퀄리티가 모델의 성능을 좌우한다. 그런데 효과적인 프롬프트를 만드는 것은 사람에게도 쉽지 않은 일이며, 시행착오를 많이 거쳐야 한다. 이 논문에서는 프롬프트 엔지니어링 과정을 자동화하는 것을 목표로 한다.

2. 기존의 연구들이 이 문제를 풀어온 방식

기존에는 사람이 직접 프롬프트를 작성하거나(manual prompt engineering), 연속적인 벡터 공간에서 프롬프트를 최적화하는 방식(soft prompt tuning)이 주로 사용되었다. 하지만 전자는 사람의 수고가 많이 필요하고, 후자는 대규모 LLM에는 적용하기 어려운 단점이 있었다.

3. 논문 내 주요 방법론

저자들은 LLM 자체를 활용한 자동 프롬프트 생성 및 선택 알고리즘인 APE(Automatic Prompt Engineer)를 제안한다. APE에서는 프롬프트를 자연어로 된 '프로그램'으로 보고, 이를 최적화한다.

APE의 작동 알고리즘은 다음과 같다.

  • LLM으로 다수의 프롬프트 후보들을 먼저 생성 (프로그램 합성)
  • 각 프롬프트를 LLM에 넣어 결과를 계산하고 평가 지표로 스코어링

Execution Accuracy (모델이 출력한 결과가 주어진 답변과 정확히 일치하는 지를 Loss 값을 통해 표현)

Log Probability (instruction과 질문이 주어졌을 때 원하는 답변에 대한 로그 확률)

Efficient Score Estimation (학습 데이터셋의 일부를 가지고 전체 후보군에 대해 평가한 뒤, 점수가 특정 threshold를 상회하는 후보군에 대해서만 데이터셋의 다른 부분을 가지고 재평가하는 과정 반복)

  • 스코어가 높은 프롬프트들 중심으로 반복적으로 탐색 및 개선
  • 최종적으로 가장 스코어가 높은 프롬프트를 선택

4. 기존의 연구 대비 이 논문의 강점

실험 결과, APE로 찾은 프롬프트는 기존의 사람이 작성한 프롬프트보다 더 좋은 성능을 보였다. 24개 Instruction Induction 태스크와 21개 BIG-Bench 태스크에서 대부분 사람 수준 이상의 zero-shot 성능을 달성했다.

특히 APE는 모델 용량이 크고 인간 지침을 따르도록 fine-tuned된 모델일수록(예: InstructGPT) 더 효과적인 프롬프트를 찾아냈다. 또한 발견된 프롬프트로 추론 프롬프트를 보완하면 기존 In-context learning의 few-shot 성능도 높일 수 있음을 확인했다.

5. Future Work

  • 프롬프트 길이 및 구조 최적화로 LLM 추론 비용을 더 줄이는 방향
  • 프롬프트 생성 및 검증에 사용하는 LLM을 다양화하고 개선하는 연구
  • APE를 LLM 이외의 다른 자연어 인터페이스 모델(예: 이미지 합성)에 적용
  • LLM이 윤리적인 특성을 갖도록 유도하는 프롬프트 생성

이 연구는 LLM 활용에 있어 프롬프트 엔지니어링의 자동화 가능성을 제시했다는 점에서 의미가 있다. 향후 연구를 통해 APE가 더욱 발전한다면, 자연어로 범용 인공지능을 제어하는 데 한 걸음 더 다가갈 수 있을 것으로 기대된다.

profile
개발자 지망생

0개의 댓글