본문 바로가기
프로그래밍/인공지능

프롬프트 엔지니어링 - Few Shot 기법

by 만디기 2024. 1. 12.

Few Shot 기법


  • 인공지능의 결과물을 더욱 향상되게 만들기 위해서는 많은 샷(Shot)을 추가할 필요가 있다. 여기서 샷은 'AI 모델에 제시하는 예제' 를 의미한다.
  • 흔히 Zero Shot(아무런 예시도 주지 않는 것), One Shot(예시를 하나만 준 것), Few Shot(두 개 이상의 예시를 준 것)으로 구분
  • 인컨텍스트 러닝(In-Context Learning) : 앞서 제공되는 맥락으로부터 결과를 도출하려고 함
  • 관련 예시와 정보를 많이 줄수록, GPT 입장에서는 참고할 수 있는 소스가 많다. 
  • GPT-3.5나 GPT-4와 같은 모델은 Zero Shot에서도 뛰어난 성능을 보이나, GPT가 스스로 추론해내지 못하는 영역이나 외부 지식 활용이 필요한 경우 Shot이 필요하다.
  • Few Shot 기법을 더욱 잘 활용하기 위해서는 적절한 라벨링과 함께 아래와 같은 프롬프트를 포함해 주면 좋다.

"다음의 예시를 참고해서 같은 형식으로 알려주세요."

 

  • ​복잡한 추론의 작업을 다룰 경우에는 큰 의미를 갖기 힘들며, 오히려 논리적인 추론의 과정을 의도적으로 무시하거나 위배하도록 정의할 때 사용하는 경우도 많다.
  • 아래 예시는 Few shot 기법이 수학 등의 복잡한 추론에 도움이 되지 않는다는 대표적인 예시로, '거짓'을 출력해야 함에도 '참'을 출력하는 결과를 확인할 수 있다.
  • 이는 언어 모델이 가지는 한계이며, 사고의 연쇄(CoT) 기법을 통해 어느 정도 극복할 수 있다.

17, 10, 19, 4, 8, 12, 24에서 홀수를 다 더하면 짝수가 됩니다 = 참

4, 8, 9, 15, 12, 2, 10에서 홀수를 다 더하면 짝수가 됩니다 = 거짓

17, 10, 4, 8, 12, 2에서 홀수를 다 더하면 짝수가 됩니다 = 거짓

15, 32, 5, 13, 82, 7, 1에서 홀수를 다 더하면 짝수가 됩니다 = 


결과 : 참

 

출처


서승완, 『프롬프트 엔지니어링 교과서』, 애드앤미디어(2023)