본문 바로가기
개발/LLM

Zero-Shot(제로샷)/Few-Shot(퓨샷) Prompting

by ▶ Carpe diem ◀ 2023. 9. 18.
Prompt Engineering
Prompt Engineering

이미지 출처: 링크

 

 

아래 내용은 Prompt Engineering Guide(https://www.promptingguide.ai/) 내용을 번역한 내용입니다.

 

Zero-Shot(제로샷)/Few-Shot(퓨샷) Prompting

 

Zero-Shot Prompting(제로샷 프롬프팅)

오늘날 GPT-3과 같은 LLMs은 instruction을 따르도록 조정(tuned)되고 대량의 데이터에 의해 훈련(trained)됩니다. 따라서 LLMs은 "zero-shot" 작업을 수행할 수 있습니다.

다음은 zero-shot 예제 중 하나입니다.

Prompt:

Classify the text into neutral, negative or positive. 
Text: I think the vacation is okay.
Sentiment:

 

Output:

Neutral


위의 프롬프트에서 모델에 분류와 함께 텍스트의 예를 제공하지 않았으며 LLM은 이미 "sentiment"을 이해하고 있습니다. 이것이 zero-shot capabilities입니다.

 Wei et al. (2022) 에서 Instruction tuning은 zero-shot learning을 개선하는 것으로 나타났습니다. Instrunction tuning은 본질적으로 instruction을 통해 설명된 데이터 세트에 대한 finetuning models의 개념입니다. 또한, RLHF(인간의 피드백을 통한 강화 학습)은 instruction tuning을 확장하여 인간의 선호도에 더 잘 맞도록 조정하는 데 채택되었습니다. 이 최근 개발은 ChatGPT와 같은 모델을 뒷받침합니다. 


zero-shot이 작동하지 않는 경우 프롬프트에서 데모나 예시를 제공하여 few-shot prompting(퓨샷 프롬프팅)로 유도하는 것이 좋습니다. 

 

Few-Shot Prompting(퓨샷 프롬프팅)

대규모 언어 모델은 뛰어난 zero-shot 기능을 보여주지만, 복잡한 작업에서는 여전히 개선이 필요합니다. Few-shot prompting은 모델이 더 나은 성능을 발휘하도록 조정하기 위해 프롬프트에서 데모를 제공하 컨텍스트 내 학습(in-context learning)을 가능하게 하는 기법을 사용할 수 있습니다.

 

Touvron et al. 2023에 따르면 모델이 충분한 크기로 커졌을 때, few-shot 속성이 처음나타났니다. (Kaplan et al., 2020)

 

Min et al. (2022)의 연구 결과에 따라, 다음은 few-shot을 사용할 때 시연/예제(exemplars)를 위한 몇 가지 팁입니다:

  • "데모에서 지정한 입력 테스트의 레이블 공간(label space)과 분포는 모두 중요합니다(개별 입력에 대해 레이블이 올바른지 여부와 관계없이)."
  • 사용하는 형식도 성능에 중요한 역할을 하며, 랜덤 레이블만 사용하더라도 레이블이 전혀 없는 것보다 훨씬 낫습니다.
  • 추가 결과는 레이블의 실제 분포에서 (균일 분포 대신) 랜덤 레이블을 선택하는 것도 도움이 됩니다.

 

Limitations of Few-shot Prompting

표준 few-shot prompting은 많은 작업에 적합하지만, 특히 더 복잡한 추론 작업을 처리할 때 여전히 완벽하지 않습니다. 문제를 여러 단계로 나누고 이를 모델에 여러 단계로 나눈 문제를 데모(demonstrate)하면 도움이 될 수 있습니다. 최근에는 더 복잡한 산술, 상식, 상징적 추론 작업을 처리하기 위해 chain-of-thought (CoT) prompting 이 대중화되었습니다.

'개발 > LLM' 카테고리의 다른 글

Retrieval Augmented Generation(RAG)  (0) 2023.09.23
Chain of Thought Prompting  (0) 2023.09.20
Colab 에서 streamlit app 실행하기  (0) 2023.09.17
Streamlit을 이용한 Chatbot 만들기  (0) 2023.09.10
시스템, 사용자, 어시스턴트  (0) 2023.09.10