프롬프트 엔지니어링
프롬프트 방식의 필요성과 과제별 능력 차이를 이해하고 활용 시 주의할 점을 살펴본다.
- 프롬프트(prompt): 어떤 말이나 행동을 하도록 유도하는 신호나 단서
- 예: 연극에서 배우에게 다음 대사를 일러주는 것, 명령줄에서 입력을 기다린다는 표시
- LLM의 프롬프트: 모델이 이어서 생성할 텍스트의 출발점으로 주어지는 입력
- 지시·질문뿐 아니라 예시·참조 자료·출력 조건 등을 포함할 수 있음
- 프롬프트 엔지니어링: 원하는 결과를 얻도록 프롬프트를 설계하고, 결과를 확인하며 다듬는 작업
자연어 처리의 접근 변화
- 과제별 모형 설계: 과제에 맞는 특징과 모형을 설계
- 사전학습과 미세조정: 대량의 자료로 학습한 모형을 특정 과제에 맞춰 추가 학습
- 프롬프트 방식: 모형의 파라미터를 바꾸지 않고 입력으로 수행할 과제를 지정
- 접두형 프롬프트(prefix prompt): 뒤에 이어질 내용을 예측
- 예:
문장: 이 영화 재밌다. 감정:
- 예:
- 빈칸형 프롬프트(cloze prompt): 문장 속 빈칸을 예측
- 예:
이 영화 재밌다. 이 문장의 감정은 [MASK]이다.
- 예:
- 과제별 모형 설계, 사전학습, 미세조정 등과 함께 사용하는 것도 가능
- 접두형 프롬프트(prefix prompt): 뒤에 이어질 내용을 예측
프롬프트 방식의 필요성
- 파라미터를 바꾸지 않고 지시·자료를 바꿔 여러 과제에 빠르게 적용
- 추가 학습 데이터와 훈련 없이 시도 가능하며, API로 제공되는 모형에도 적용 가능
- 미세조정에 드는 준비·학습 비용을 줄일 수 있음. 적합한 방법은 과제와 자원에 따라 선택

- 2018년 ELMo(9,400만 개)에서 2020년 GPT-3(1,750억 개)까지 파라미터 수가 약 2년 만에 1,000배 이상 증가
- 모형이 커질수록 과제마다 미세조정하고 별도의 모형을 저장·배포하는 비용이 커지므로, 파라미터를 그대로 두고 입력만 바꾸는 프롬프트 방식의 이점이 커짐
프롬프트 작성 시 주의할 점
- 의인화의 함정에 빠지지 말 것
- 유창한 표현을 사람과 같은 의도나 감정의 증거로 해석하지 않음
- 언어 모형은 다음 토큰의 확률을 예측하며 문장을 순차적으로 생성
- 출력된 풀이 설명만으로 모형의 실제 내부 계산을 단정하지 않음
- 확률적 생성을 고려할 것
- 같은 프롬프트도 생성 설정과 실행 조건에 따라 다른 결과를 낼 수 있음
- 한두 번의 성공만으로 결론내리지 않기
- 한 문제에 효과적인 프롬프트도 다른 문제에서는 효과가 떨어질 수 있음
- 대표적인 입력 여러 개와 반복 실행 결과로 품질 확인
들쭉날쭉한 미개척지 Jagged Frontier
- Dell’Acqua·Mollick 등 공동 연구진의 2023년 연구에서 제시
- 비슷한 난이도라도 어떤 과업은 매우 잘하지만, 어떤 과업은 그렇지 못함
- 사람에게 쉬운지 어려운지만으로 LLM의 과제 수행 능력을 예측하기 어려움

출처: Jagged Technological Frontier 연구 소개
주요 접근의 개요
- 제로샷(zero-shot): 시범 예시 없이 지시로 과제 수행
- 퓨샷(few-shot): 몇 개의 입력·출력 예시를 제공
- 생각의 연쇄(CoT): 중간 풀이 단계를 생성하도록 유도
- 앙상블(ensemble): 여러 결과를 생성하고 결합
- 자기 비판(self-criticism): 생성한 답변을 다시 검토
- 분해(decomposition): 복잡한 과제를 작은 문제로 나누기
퀴즈
프롬프트로 과제를 지정하는 것과 미세조정의 차이는?
퀴즈를 풀려면 대화형 기능을 불러와야 합니다.