logo

프롬프트 엔지니어링

프롬프트 방식의 필요성과 과제별 능력 차이를 이해하고 활용 시 주의할 점을 살펴본다.

  • 프롬프트(prompt): 어떤 말이나 행동을 하도록 유도하는 신호나 단서
    • 예: 연극에서 배우에게 다음 대사를 일러주는 것, 명령줄에서 입력을 기다린다는 표시
  • LLM의 프롬프트: 모델이 이어서 생성할 텍스트의 출발점으로 주어지는 입력
    • 지시·질문뿐 아니라 예시·참조 자료·출력 조건 등을 포함할 수 있음
  • 프롬프트 엔지니어링: 원하는 결과를 얻도록 프롬프트를 설계하고, 결과를 확인하며 다듬는 작업

자연어 처리의 접근 변화

  • 과제별 모형 설계: 과제에 맞는 특징과 모형을 설계
  • 사전학습과 미세조정: 대량의 자료로 학습한 모형을 특정 과제에 맞춰 추가 학습
  • 프롬프트 방식: 모형의 파라미터를 바꾸지 않고 입력으로 수행할 과제를 지정
    • 접두형 프롬프트(prefix prompt): 뒤에 이어질 내용을 예측
      • 예: 문장: 이 영화 재밌다. 감정:
    • 빈칸형 프롬프트(cloze prompt): 문장 속 빈칸을 예측
      • 예: 이 영화 재밌다. 이 문장의 감정은 [MASK]이다.
    • 과제별 모형 설계, 사전학습, 미세조정 등과 함께 사용하는 것도 가능

프롬프트 방식의 필요성

  • 파라미터를 바꾸지 않고 지시·자료를 바꿔 여러 과제에 빠르게 적용
  • 추가 학습 데이터와 훈련 없이 시도 가능하며, API로 제공되는 모형에도 적용 가능
  • 미세조정에 드는 준비·학습 비용을 줄일 수 있음. 적합한 방법은 과제와 자원에 따라 선택

2018–2020년 주요 언어 모형의 파라미터 수 증가

  • 2018년 ELMo(9,400만 개)에서 2020년 GPT-3(1,750억 개)까지 파라미터 수가 약 2년 만에 1,000배 이상 증가
  • 모형이 커질수록 과제마다 미세조정하고 별도의 모형을 저장·배포하는 비용이 커지므로, 파라미터를 그대로 두고 입력만 바꾸는 프롬프트 방식의 이점이 커짐

프롬프트 작성 시 주의할 점

  • 의인화의 함정에 빠지지 말 것
    • 유창한 표현을 사람과 같은 의도나 감정의 증거로 해석하지 않음
    • 언어 모형은 다음 토큰의 확률을 예측하며 문장을 순차적으로 생성
    • 출력된 풀이 설명만으로 모형의 실제 내부 계산을 단정하지 않음
  • 확률적 생성을 고려할 것
    • 같은 프롬프트도 생성 설정과 실행 조건에 따라 다른 결과를 낼 수 있음
    • 한두 번의 성공만으로 결론내리지 않기
    • 한 문제에 효과적인 프롬프트도 다른 문제에서는 효과가 떨어질 수 있음
    • 대표적인 입력 여러 개와 반복 실행 결과로 품질 확인

들쭉날쭉한 미개척지 Jagged Frontier

  • Dell’Acqua·Mollick 등 공동 연구진의 2023년 연구에서 제시
  • 비슷한 난이도라도 어떤 과업은 매우 잘하지만, 어떤 과업은 그렇지 못함
  • 사람에게 쉬운지 어려운지만으로 LLM의 과제 수행 능력을 예측하기 어려움

비슷한 난이도의 과제도 AI의 능력 범위 안과 밖에 놓일 수 있음을 나타낸 개념도

출처: Jagged Technological Frontier 연구 소개

주요 접근의 개요

  • 제로샷(zero-shot): 시범 예시 없이 지시로 과제 수행
  • 퓨샷(few-shot): 몇 개의 입력·출력 예시를 제공
  • 생각의 연쇄(CoT): 중간 풀이 단계를 생성하도록 유도
  • 앙상블(ensemble): 여러 결과를 생성하고 결합
  • 자기 비판(self-criticism): 생성한 답변을 다시 검토
  • 분해(decomposition): 복잡한 과제를 작은 문제로 나누기

퀴즈

문제 1 / 3맞음: 0힌트: 0틀림: 0채점중: 0남음: 3

프롬프트로 과제를 지정하는 것과 미세조정의 차이는?

  • ○프롬프트는 입력을 바꾸고, 미세조정은 학습으로 파라미터를 바꾼다
  • ○프롬프트는 파라미터 일부를 바꾸고, 미세조정은 전체를 바꾼다
  • ○프롬프트는 출력 형식만 바꾸고, 미세조정은 수행 과제를 바꾼다
  • ○프롬프트는 API 호출에 쓰이고, 미세조정은 로컬 실행에 쓰인다

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
AI 비즈니스의 쓰라린 교훈