Few Shot Prompting 개요
챗GPT와 같은 생성 AI는 Prompt Tuning 기반으로 모델 학습합니다. 물론 Prompt Tuning 이 전부는 아닙니다. 생성 AI의 학습방법은 기존의 Transformer 모델 계열들과 유사하게 사전학습을 진행합니다. 그리고 미세조정 학습을 진행하는데 이에 적용하는 방법이 Prompt tuning입니다. Prompt tuning의 방법에는 여러 가지가 있지만, 지금까지 가장 적합한 방법이 Few shot prompting을 적용하는 방법입니다. 만약 초거대 AI에 대해 관심이 있는 사람이라면 당연하게도 Few Shot prompting에 대한 이해가 필요합니다.
Few shot prompting 설명
프롬프트를 활용하는 주요전략중 하나인 Few shot 프롬프트는 기본적으로 모델에 원하는 작업의 예시를 몇 개만 보여주는 것입니다. 여기서 Few shot은 몇 개의 작업예시입니다. 예를 들어 분류의 가장 대표적인 고객 피드백을 긍정 또는 부정으로 분류하는 것을 보겠습니다. 모델에 긍정적/부정적 피드백의 예시 3개를 보여준 다음 아직 분류되지 않은 새로운 피드백을 요청합니다. 모델은 처음 3개의 예가 긍정 또는 부정으로 분류되었음을 확인하고 이 정보를 사용하여 새 예제를 부정으로 분류합니다. 이것이 가능한 이유는 초거대 AI 모델이 학습하면서, 유사한 태스크의 추론 방법을 알고 있는 것입니다.
Few Shot 학습에서 중요한 것은 예제를 구조화하는 것입니다. 앞서 이 세 가지 예시를 입력할 때, 분류로 구조화했기 때문에 모델은 이 리뷰는 긍/부정에 해당하는 내용이 출력됩니다.
Few shot 구조 더 파헤치기
Few Shot 프롬프트를 주로 사용하는 경우는 모델에 설명하기 어려운 특정 방식으로 출력을 구조화해야 할 때입니다. 이를 이해하기 위해 지역 신문 기사를 분석하여 인근 마을에서 잘 알려진 시민들의 이름과 직업을 수집해야 한다고 가정해 보겠습니다. 모델이 입력으로 들어온 기사를 읽고 이름과 직업 목록을 [이름], [직업] 형식으로 출력하기를 원합니다. 올바른 출력 형식의 모델 예시를 보여줌으로써 새 기사에 대한 올바른 출력을 생성할 수 있습니다.
Shot 프롬프트 종류
"Shot"이라는 단어는 "예시"와 동일하다고 볼 수 있습니다. Shot 프롬프트는 보통 3가지 유형으로 구분할 수 있습니다. 그것은 0 Shot, 1 Shot, Few Shot 입니다
1) 0-shot 프롬프트
0-shot 프롬프트는 가장 기본적인 형태의 프롬프트입니다. 모델에 예제 없이 프롬프트 입력을 통해 응답을 생성하도록 요청하는 것입니다. 예시 없이 "설명해 줘", "답변해 줘", "어떤 내용이 궁금해" 등과 같이 모든 지시 및 역할 프롬프트는 0-shot 프롬프트입니다. 학습에 기반한 내용으로 답변하기 때문에 때때로 다른 답이 나오는 대표적인 프롬프트입니다.
2) 1-shot 프롬프트
1-shot 프롬프트는 단일 예제를 보여주고 답을 요청하는 형태입니다. 예를 들어 덧셈 "+"의 기호에 대한 예를 들어주고, 문제를 내는 형태입니다. 상대적으로 0-shot에 비해 오답률이 내려갑니다. 매번 질문할 때마다, 예시를 말해주는 것이 다소 불편할 수는 있겠지만, 비즈니스적으로 사용한다면 효과적인 방법입니다.
3) Few-shot 프롬프트
2개 이상의 예제를 제공하고 답을 요청하는 형태입니다. 초거대 AI가 답을 구조적으로 구체화해서 답변하기 위한 방법입니다. 1-shot 프롬프트에 비해 더욱더 정확한 답변을 구할 수 있습니다. 만약 회사에서 상용으로 사용한다면, 세션을 유지시키고, 역할을 부여하면서 Few-shot 방법으로 질의를 한다면 훨씬 정확한 답변을 받는 방법을 선택하는 것을 추천합니다.
결론
프롬프트 유형을 여러 가지로 나누었습니다. 사실 초거대 AI가 프롬프트 입력에 대해 잘 이해하냐에 따라 분류해서 쓰는 방법으로, 각각의 Shot 프롬프트가 크게 다른 것은 아닙니다. 초거대 AI 모델에 대해 좀 더 잘 이해하고, 원하는 출력에 따라 취사 선택하면 좋은 결과물을 가져올 수 있습니다.
'최신IT 정보 > IT 개발정보' 카테고리의 다른 글
데이터 유출 없이 챗GPT를 쓰는 방법 (0) | 2023.05.23 |
---|---|
ChatGPT 탈옥?? (0) | 2023.05.20 |
초거대AI를 괴롭히는 적대적 프롬프팅에 대해 알고계신가요? (0) | 2023.05.20 |