" 이제 보편적으로 사용되고 있는 챗봇(혹은 생성형 AI)를 효율적으로 사용할 수 있는 방법은 없을까? "라는 질문은 LLM 시대가 도래하고, 여러 생성형AI가 나오게 되면서 계속 실험되고 있는 분야 중 하나이다. 하루에도 무수히 많은 방법론들이 나오고 있는 이 시점에서 모든 것을 확인할 수는 없겠지만 그 중 몇가지만 소개해보고자 한다. 우선 이를 이해하기 위해 몇가지 알아야 할 간단한 개념이 있다.
먼저 제목에서도 볼 수 있는 '프롬프트(prompt)'이다. prompt의 어원은 '즉각적인, 신속한, 즉각 움직이도록 만들다...'이며 연극이나 방송에서는 '연극이나 배우에게 대사나 동작을 알려주는 일'이라는 의미로 사용된다. 그렇다면 자주 언급되는 ChatGPT 등 생성형AI의 ChatBot에서 사용되는 프롬프트는 어떤 의미일까?
위의 사진은 대한민국의 대표적인 생성형 기업 중 하나인 뤼튼(wrtn)에서의 모습이다. 흔히 우리가 사용하는 텍스트 입력창이 프롬프트창이라고 생각하면 쉽게 다가갈 수 있다. Amazon에서는 "프롬프트를 특정 작업을 수행하도록 생성형AI에 요청하는 자연어 텍스트"라고 한다. 즉, 우리가 그동안 "뤼튼 써봤어?" 할 때 만일 "응! 써봤어!"라고 하면 우선 무의식적으로라도 프롬프트를 작성해 본 경험이 있다고 해도 된다는 것이다.
그리고 사진에 보면 확인할 수 있는 것 중 하나는 세션(Session)이다. 이는 간단히 말하면 카톡의 대화창이다. 일반적으로 A그룹과의 대화 내용이 B그룹으로 전달이 안되는 것처럼 Session의 내역은 각각 분리되어 있어 독립적인 부분이라고 생각해도 된다. 그렇기에 하나의 내용에 대한 구체화를 한 곳에서만 집중을 하는 것이 효과적일 가능성이 높고, 내용이 산으로 가고 있다고 생각되면 다른 창에서 새롭게 시작하는 것도 좋은 방법이다. 프롬프트 엔지니어링에서는 기본적으로 세션관리는 필수적이다.
프롬프트 엔지니어링은 말그대로 프롬프트를 잘 작성하는 방법이다. 생성형AI는 인간이 아니기에 인간의 의도를 한번에 파악하기 힘들다. 질문의 유형과 길이는 사람마다 상이하기에 보다 정확하게 전달하기위해 여러 방법론들이 진화해왔다.
아마 많이 본 형태이겠지만 간단하게 소개하자면 위의 내용은 프롬프트의 기본 구조라고 알려져 있는 것들이다. 이와 관련된 예시는 검색을 하게되면 많은 예시들을 확인할 수 있다. 하지만 해당 구조를 모든 상황에 적용하기에는 표준의 오류가 있다. 예를 들어 "배고픈데.. 저녁 먹을 곳 추천해줘!"라고 해보자. 물론 위의 방법을 통해서도 가능할지도 모르지만 실험결과 더 효과적으로 나온 방법이 있다. 바로 "Fewshot prompting"이다.
Zero-shot & Few-shot Prompting
본 방법을 확인하기에 앞서 Zeroshot Prompting과 비교하며 확인해보자.
IBM에서는 Zero-shot에 대한 의미를 어떠한 범위와 내요에 대한 예시없이 학습을 시키는 것이라고 정의하고, Few-shot에 대한 의미를 조금의 정제되어 있는 예시들을 통해 학습을 시키는 방식이라고 정의를 한다. 이는 프롬프팅 기법에서도 같은 의미로 사용된다. 예시를 통해 더 쉽게 이해해 보자.
[ Zero-Shot ]
좌측에 실험해본 예시는 아무런 조건없이 질문을 한 것이다. 확인할 수 있듯 그저 질문에 대한 답을 하는 것을 확인할 수 있다. 하지만 아래의 몇가지 사항의 간과했다.(사용자마다 다르겠지만!)
- 사용자의 위치
- 사용자가 원하는 정보(마감시간, 추천도 등)
- 음식 유형(한식, 일식, 양식)
Zeroshot의 한계는 크기에 보완할 수 있는 기법이 Fewshot이다. 아래는 Fewshot의 예시이다.
Zeroshot의 예시와 같이 확인해 보면 확연히 정제되어있는 값을 내는 것을 확인할 수 있다. 이와 같이 기본적인 프롬프터 구조에 원하는 형태의 몇가지의 예시를 추가하게되면 훨씬 좋은 결과를 내는 것을 알 수 있다.
'Activity > Wrtn's Campus Leader' 카테고리의 다른 글
WRTN Campus Leader 1기 회고 (0) | 2024.07.29 |
---|---|
대학생의 뤼튼(wrtn) 활용법 (2) | 2024.03.30 |