Few-shot 프롬프팅은 「본 작업의 예시 몇 개를 프롬프트 안에 보여 줘서 모델에게 따라 하게 하는」 기법입니다.
모델을 미세조정하지 않고도 새 작업을 가르칠 수 있는 매우 강력한 도구입니다.
예를 들어 「영화 리뷰의 감정을 긍정·부정으로 분류」하고 싶다면 다음과 같이 프롬프트를 만듭니다.
「리뷰: 정말 재미있게 봤어요 / 감정: 긍정 / 리뷰: 시간이 아까웠다 / 감정: 부정 / 리뷰: 평작 정도였다 / 감정:」.
마지막에 답할 자리를 비우면 모델이 「중립」이나 「부정」 같은 답을 만들어 냅니다.
Few-shot의 매력은 「학습이 필요 없다」는 점입니다.
미세조정처럼 모델의 가중치를 바꾸지 않고, 그저 매번 예시를 함께 보여 주는 것만으로 모델이 작업을 익힙니다.
이를 「in-context learning」 — 맥락 안에서의 학습 — 이라 부르며, GPT-3에서 처음 발견된 LLM의 신비한 능력입니다.
예시는 보통 1~5개가 적당합니다.
너무 적으면(0~1개) 패턴 파악이 어렵고, 너무 많으면(20개+) 컨텍스트만 차지하고 별 효과가 없습니다.
또 예시는 작업의 다양한 측면을 골고루 보여 주는 게 좋습니다.
주의할 점은 예시의 「라벨 분포」도 모델에 영향을 준다는 것입니다.
모든 예시가 「긍정」이면 모델이 「긍정」으로 편향됩니다.
그래서 클래스가 균형 있게 섞인 예시를 보여 주는 게 중요합니다.
또 형식의 일관성(콜론 위치·줄바꿈 등)도 결과에 영향을 줍니다.
한 줄 요약
Few-shot 프롬프팅은 프롬프트에 예시 몇 개를 보여 줘서 모델에게 작업을 가르치는 기법으로, 학습 없이도 새 작업을 처리할 수 있게 한 LLM의 강력한 능력입니다.
더 알아볼 것
- Zero-shot — 예시 없이 지시만으로
- In-context learning의 작동 원리
- Active Few-shot — 가장 도움이 되는 예시 자동 선택