Few-shot의 "왜"
예시 기반 학습의 원리와 예시 선택/순서의 중요성
Few-shot Prompting이란?
예시를 통한 In-Context Learning
Few-shot Prompting은 프롬프트에 몇 개의 예시(demonstrations)를 포함하여 모델이 원하는 태스크 패턴을 학습하도록 유도하는 기법입니다. GPT-3 논문 "Language Models are Few-Shot Learners"에서 명명되었습니다.
Zero-shot
예시 없이 지시만으로 태스크 수행. 모델의 기본 능력에 의존.
One-shot
하나의 예시 제공. 형식과 톤을 보여줄 때 유용.
Few-shot
여러 예시 제공. 복잡한 패턴 학습에 효과적.
"Few-shot 프롬프팅은 in-context learning을 가능하게 하는 기법으로 사용될 수 있으며, 모델을 더 나은 성능으로 유도하기 위해 프롬프트에 데모를 제공합니다. 데모는 모델이 응답을 생성하기를 원하는 후속 예시들의 조건화 역할을 합니다."
Few-shot이 효과적인 이유
패턴 인식 활성화의 메커니즘
🎯 패턴 인식 활용
LLM은 방대한 텍스트에서 패턴을 학습했습니다. 예시를 제공하면 관련 패턴을 "깨워" 활성화시킵니다.
📐 출력 형식 명시
예시가 원하는 응답 스타일, 톤, 구조를 명확하게 보여줍니다. 말로 설명하는 것보다 효과적.
🔍 출력 공간 제한
예시가 가능한 응답의 범위를 좁혀줍니다. 모델이 예상치 못한 방향으로 가는 것을 방지.
📚 암묵적 지식 전달
명시적으로 설명하기 어려운 미묘한 규칙도 예시를 통해 전달할 수 있습니다.
Few-shot은 모델에게 "이렇게 해줘"라고 말하는 것이 아니라 "이런 식으로 하면 돼"라고 보여주는 것입니다. 많은 경우 보여주는 것이 말하는 것보다 효과적입니다.
예시 순서의 중요성
같은 예시도 순서에 따라 결과가 달라진다
연구에 따르면 동일한 예시라도 순서에 따라 성능이 극적으로 달라질 수 있습니다. 이는 LLM의 특성상 최근 맥락에 더 많은 가중치를 부여하기 때문입니다.
"Calibrate Before Use: Improving Few-Shot Performance of Language Models" 논문은 GPT-3에서 동일한 예시의 순서만 바꿔도 모델의 예측이 극적으로 달라짐을 보여주었습니다. 일부 경우에는 올바른 순열이 거의 SOTA 성능을 이끌어냈고, 다른 경우에는 거의 우연 수준으로 떨어졌습니다."
분류 태스크에서의 예시 순서 영향
- 레이블 균형 — 분류 태스크에서 각 클래스의 예시를 균등하게 배치
- 마지막 예시 주의 — 바로 앞의 예시가 가장 큰 영향을 미침
- 다양성 확보 — 비슷한 예시를 연속 배치하지 않기
- 쿼리와 유사한 예시를 가까이 배치하면 효과적일 수 있음
효과적인 예시 선택
품질, 다양성, 대표성의 균형
Few-shot 예시 선택 체크리스트
잘못된 예시는 잘못된 패턴을 학습시킴
극단적 사례보다 일반적 사례 중심으로
비슷한 예시만 나열하면 과적합 위험
입력→출력 형식이 일관되어야 함
보통 3-5개가 적절, 컨텍스트 윈도우 고려
"표준 few-shot 프롬프팅은 많은 태스크에서 잘 작동하지만 더 복잡한 추론 태스크를 다룰 때는 여전히 완벽한 기법이 아닙니다." 복잡한 추론이 필요하다면 Few-shot + CoT를 함께 사용하세요.
핵심 요약
- Few-shot: 프롬프트에 예시를 포함하여 In-Context Learning 유도
- 효과 원리: 패턴 인식 활성화, 출력 형식 명시, 출력 공간 제한
- 예시 순서가 결과에 큰 영향 - 레이블 균형, 다양성 확보 필요
- 예시 선택: 품질, 대표성, 다양성, 형식 일관성 고려
- 복잡한 추론 태스크에서는 Few-shot + CoT 조합 권장