IT/인공지능 AI

ChatGPT로 대화술 마스터하기 : ChatGPT - prompt engineering의 기초 (기본원리)

ensuta 2023. 6. 8. 10:28
728x90
반응형

ChatGPT 란?

일론 머스크가 공동창업한 OpenAI에서 서비스하는 인공지능 챗봇 서비스

NLP(자연어 처리) 모델 중 하나인 GPT 를 채팅 형식으로 파인 튜닝한 AI

현재 기준으로 GPT-3.5와 GPT-4 버전 사용, 2021년까지의 데이터로 학습

사용자가 입력한 프롬프트를 바탕으로 최적의 답변을 생성

GPT-3.5는 1750억 개의 파라미터를 가지며, RLHF를 통해 GPT3를 대화에 최적화

 

GPT(Generative Pre-trained Transformer)란?

한국어로 직역하면 사전 훈련된 생성 변환기이다.

미리 입력된 데이터를을 가공, 재구성한다는 의미이다.

입력 문장 벡터 데이터를 다시 재구성하여 자연어 출력을 한다.

과거의 chat bot 들과 다르게 Auto Regressive 방식을 채택한다.

 

chatGPT 는 다음 단어를 확률적으로 예측하여 출력하는 언어 모델이다.

 

초기 GPT 는 사람의 라벨링, 크라우드소싱 등 대규묘의 학습이 필요했지만, 

현재 GPT-3 모델 이상 부터 RLHF(reinforcement Learning from Human Feedback) 로 질문-답변 형식을 지도학습하였다.

 

데이터베이스 기반 확률적 텍스트 생성의 문제점

가짜 데이터(fake data)를 생성되는 것을 막기 위해 chatGPT-4 부터 추가학습을 통해 데이터베이스에 없는 자료의 접근을 막았다.

 

다음에서 '세종'이 정확하게 어떤 인물인지 구체적으로 제시하는 것이 필요하다.

그래서 Prompt 를 어떻게 쓰는가?

기본 베이스는 다음을 따른다:

  • task description - 작업이 뭔지 설명, 데이터를 제시
  • Input indicator - 입력의 형식을 지정
  • Current input - 
  • Output indicator - 출력의 형식을 지정

 

프롬프트 엔지니어링의 기본원리

 

구체성(명확성)

원하는 답변을 받을 확률을 올리기 위해 구체적인 제시가 필요하다..

 

데이터 & IN-context learning (문맥의 이해)

원하는 답변이 AI의 데이터 베이스에 존재하는지 여부를 파악하고 활용해야 한다.

 

알고리즘

한꺼번에 너무 복잡하고 다양한 지시를 하면 원하는 답변을 얻을 확류이 매우 낮아진다.

큰 문제를 작은 문제로 나누어 해결하려고 노력해야 한다. 자신의 질문을 알고리즘화한다. 

 

기법 소개

 Zero샷 러닝(Zero - shot learning)

를 통한 학습 방식

텍스트를 중립, 부정 또는 긍정으로 분류해.
텍스트: 방학은 괜찮은 것 같아요.
감정:

답변:

중립적

 

위의 프롬프트에서 모델에 분류와 함께 텍스트의 예를 제공하지 않았으며 LLM은 이미 "감정"이란 키워드를 이해하고 있다. 이것이 제로샷 기능이다.

zero-shot 이 먹히지 않는다면, 데모나 예시를 프롬포트에 깔아주어야 한다. 이것은 후술할 Few-shot 기법이다.

퓨샷 러닝(Few - shot learning)

예시를 통한 학습 방식

답변: 카페에 가면 항상 함께하는 친구들과의 이야기가 떠올라서 기분이 좋아진다.

질문: 여행, 추억

답변: 여행을 다녀올 때마다 쌓이는 소중한 추억들이 인생에 풍요로움을 더해준다.

질문: 책, 지식

답변: 책을 읽을 때마다 새로운 지식을 얻고 세계가 더욱 넓어지는 기분이 든다.

질문: 음악, 감정

답변: 음악을 듣는 순간 감정이 음악과 어우러져 행복하거나 슬픔에 젖을 수 있다.

질문: 운동, 건강

예상답변: 운동을 하면 몸이 건강해지고 활력이 넘쳐나서 일상 생활에 활력을 더할 수 있다.

 

최대한 애매모호하지 않게

일정한 패턴을 주면서 입력해야 한다.

 

정보 제공 및 답변 조건 지정

  • 기본 베이스는 이렇다:
  • 지시사황 설명
  • 사전지식 학습
  • 사용자 역할 지정
  • AI 역할 지정
  • 답변 조건 지정 who where how when 등

알고리즘

  • 분해 (큰 문제를 작은 문제로 나누기)
  • 추상화(문제를 간단하게 말로 풀어 쓴다)
  • 패턴 인식 (문제의 패턴을 인식하여 
  • 알고리즘(도식화) 프롬프트 엔지니어링 알고리즘의 조건: 명확성, 수행 가능성, 효율성
반응형