제로샷(Zero-Shot)
프롬프트 엔지니어링 기법 중 하나로, 모델이 특정 작업을 수행하기 위해 사전 학습 데이터 없이도 새로운 작업을 해결할 수 있도록 하는 방법이다. 즉, 모델이 명시적으로 훈련되지 않은 작업에 대해 일반화할 수 있는 능력을 발휘하는 것을 의미한다.
제로샷 학습의 핵심 개념
- 사전 학습된 언어 모델 활용:
- 제로샷 학습의 가장 큰 전제는 사전 학습된 대규모 언어 모델이 방대한 양의 텍스트 데이터를 통해 일반적인 언어 이해 능력을 가지고 있다는 점입니다.
- 따라서, 새로운 직업이 주어졌을 때 모델이 기존에 학습된 지식을 활용하여 작업을 해결할 수 있다.
- 자연어로 설명된 프롬프트:
- 제로샷 학습에서는 특정 작업을 모델이 이해할 수 있도록 자연어로 작업을 설명합니다.
- 예를 들어, "이 문장이 긍정적인지 부정적인지 판단하라" 또는 "다음 문장을 요약하라"와 같은 자연어로 프롬프트를 제공한다.
- 특정 태스크에 대한 훈련 없이 일반화:
- 모델은 특정한 클래스나 작업에 대해 훈련된 적이 없기 때문에, 기존 지식과 언어 이해를 바탕으로 예측한다.
- 이는 모델이 기존에 보지 못한 클래스나 상황에 대해서도 일반화할 수 있는 능력을 평가하는 데 중요하다.
제로샷 프롬프트 엔지니어링의 예시
- 텍스트 분류:
- 기존에 '긍정' 또는 '부정' 감정 분석에 대해 훈련된 적이 없지만, 모델에게 "이 문장이 긍정적인지 부정적인지 분류하시오"라는 프롬프트를 제공하면 제로샷으로 예측할 수 있다.
- 예시 프롬프트: "다음 문장이 긍정적인지 부정적인지 판단하시오: '이 영화는 정말 재미있고 흥미로웠다.'"
- 문장 유사성 평가:
- 두 문장이 의미적으로 유사한지 여부를 판단하는 작업이다.
- 모델은 "첫 번째 문장과 두 번째 문장이 유사한가?"라는 자연어 프롬프트를 통해 제로샷으로 문장 유사도를 예측할 수 있다.
- 예시 프롬프트: "두 문장이 같은 의미인지 판단하시오: '나는 배가 고프다.'와 '나는 식사를 해야겠다.'"
- 요약 생성:
- 텍스트의 요약을 생성하라는 작업을 처음 접하는 경우에도, 자연어로 "이 텍스트를 요약하시오"라는 프롬프트를 제공하면 모델이 이를 요약할 수 있다.
- 예시 프롬프트: "다음 글을 한 문장으로 요약하시오: '오늘은 날씨가 맑고, 바람이 부드럽게 불어왔다. 사람들이 공원에서 여유로운 시간을 보냈다.'"
제로샷 학습의 장점과 한계
- 장점
- 데이터 준비 불필요: 새로운 작업을 위해 별도의 훈련 데이터가 필요하지 않다.
- 다양한 작업 적용 가능: 한 번 훈련된 대규모 언어 모델을 활용해 여러 새로운 작업을 제로샷 방식으로 처리할 수 있다.
- 빠른 프로토타이핑: 제로샷 방식은 빠르게 여러 작업을 시도해 볼 수 있는 유연성을 제공한다.