top of page

ChatGPT에서 더 정확한 답을 끌어내기 위한 프롬프트 엔지니어링 팁!


Zero-shot prompts: 이 접근 방식에서는 AI 모델에 당면한 문제와 관련된 특정 이전 경험이 제공되지 않습니다. 이는 모델이 이전에 구체적으로 본 적이 없는 문제를 예측하거나 해결해야 하는 상황을 말합니다. 예를 들어 모델에 번역 작업을 수행하도록 요청하는 경우 이는 '제로 샷' 작업이 될 수 있습니다. 모델은 사전에 구체적인 번역 예시를 제공받지 못한 상태에서 원하는 언어로 번역을 수행해야 합니다.

Few-shot prompts: 이 접근 방식에서는 모델이 이전에 경험한 몇 가지 예제를 기반으로 새로운 문제를 해결하도록 안내합니다. 이러한 예제는 일반적으로 프롬프트에 직접 포함됩니다. 예를 들어 모델에게 "개가 ____?"라고 묻는다면 모델은 "강아지"라고 응답할 가능성이 높습니다. 프롬프트에서 이전 예제의 구조를 기반으로 이러한 연관성을 만드는 것입니다.

Chain-of-thought prompts: 여러 차례 대화를 이어가면서 일관된 추론 라인을 유지하는 데 사용됩니다. 일련의 상호 연관된 단계가 필요한 작업에 도움이 됩니다. 여기에는 종종 대화 기록에 새로운 사용자 입력을 추가하여 모델이 이전 교환을 참조하고 컨텍스트를 유지할 수 있도록 하는 작업이 포함됩니다.


설명이 좀 복잡하죠? 간단히 정리하면 초거대 언어 모델에 질문을 어떻게 하느냐? 질문의 흐름을 어떻게 이어가느냐에 따라 답변이 달라질 수 있다는 것입니다.


LLM 커스터마이징을 위한 P-튜닝

GPT-3 또는 GPT-4와 같은 초거대 모델을 커스터마이징을 해야 하는 경우도 있죠. 가령 오픈API가 제공하는 API를 이용해 서비스에 챗봇 기능을 추가하려 한다면 튜닝을 좀 알아야 합니다. 앞서 언급한 내용은 최종 사용자 입장에서 바라본 프롬프트 튜닝이라 할 수 있는데요. 지금 살펴볼 것은 서비스 제공자 또는 슈퍼 유저 입장에서 프롬프트 엔지니어링을 바라보는 것이라 이해하며 됩니다.


P-튜닝은 간단히 말해 초거대 언어 모델(LLM)을 사용자 지정하는 기법이라 할 수 있습니다. 이 방법은 학습 가능한 고정 프롬프트에서 모델을 미세 조정하는 것을 포함합니다. 프롬프트를 사용하여 모델의 동작을 안내하는 아이디어를 변형한 것으로, 프롬프트를 수동으로 지정하는 대신 미세 조정 과정에서 모델이 특정 작업에 대한 최적의 프롬프트를 학습합니다.


이 접근 방식에는 입력에 학습 가능한 매개변수 세트를 추가하는 것이 포함되며, 이는 모델의 행동을 안내하는 학습 가능한 프롬프트 역할을 효과적으로 수행합니다. 이 프롬프트는 종종 미세 조정 프로세스 중에 임베딩이 학습되는 토큰 시퀀스로 표시됩니다.


그림. P-튜닝의 일반적인 흐름 (출처: NVIDIA Developer Blog)


P-튜닝에는 몇 가지 장점이 있습니다. 전체 모델을 조정하는 것이 아니라 최적의 프롬프트를 학습하는 데 초점을 맞추기 때문에 기존의 미세 조정보다 작업별 데이터가 덜 필요합니다. 모델이 당면한 작업에 학습을 집중할 수 있도록 함으로써 모델 용량을 보다 효율적으로 사용할 수 있습니다. 이 방법은 모델의 기존 지식을 활용하여 대규모 사전 학습에서 특정 작업으로 지식을 이전할 수 있는 방법을 제공합니다. 이 방법은 작업별 데이터의 양이 제한되어 있거나 작업에 고도의 정밀도가 필요할 때 특히 유용합니다.


NVIDIA NeMO 같이 기업에서 사내 데이터를 이용해 초거대 언어 모델 기반 서비스를 만들고자 한다면? NeMO에서 P-튜닝을 직접 해보세요. 참고로 얼리 액세스 프로그램 가입이 필요합니다.


조회수 14회댓글 0개
bottom of page