프롬프트

상솜공방·2025년 4월 23일

비전 언어 모델

목록 보기
6/9

1. 프롬프트(Prompting) 개요

1.1 Prompting이란?

(1) 정의

프롬프트(prompt)는 예를 들어 “영어를 한국어로 번역해줘: Climate change is real.”처럼 자연어 지시문으로 모델이 해야 할 작업을 명시하여, 별도 파인튜닝 없이 번역·분류·요약·코드 생성 등 다양한 태스크를 수행하게 하는 방법이다.

1.2 표준 프롬프트 워크플로우

(1) 프롬프트 템플릿 작성

감정 분석 예시 템플릿
• 리뷰: [입력 문장]
• 감정: ___
여기서 [입력 문장] 자리에 “이 영화는 최고였다.”를 넣으면 모델이 “positive” 같은 답을 예측하도록 유도한다.

(2) 모델 추론(Answer Prediction)

템플릿이 채워진 문자열을 입력하면 GPT-3·ChatGPT가 다음 토큰을 순차적으로 생성해 완성된 답변을 출력한다.

• 리뷰: 이 영화는 최고였다.
• 감정: ___
라는 예시가 주어지면, 모델인 감정에 '긍정적'을 출력한다.

(3) 후처리(Post-Processing)

  • 코드 생성: python … 블록만 추출
  • 요약 태스크: 긴 응답에서 핵심 문장(“주요 내용: …”)만 남기고 불필요한 부연 설명은 제거한다.
  • 분류 태스크: “positive”, “neutral”, “negative” 중 하나를 레이블로 매핑하고, 그 외 단어는 무시한다.

1.3 챗 프롬프트(Chat Prompts)

(1) 챗봇 입력 형식

OpenAI 메시지 예시
• role=system: “You are a helpful assistant.”
• role=user: “오늘 날씨 어때?”
이 구조가 내부에서 토큰 시퀀스로 변환되어 모델에 전달된다.

(2) 메시지 토큰화

위 JSON 메시지는 실제로
<|system|>You are a helpful assistant.<|end|>
<|user|>오늘 날씨 어때?<|end|>
와 같은 토큰 스트림으로 처리된다.

1.4 출력 포맷팅 및 선택

(1) Markdown 렌더링

답변 중에 “강조”나 “- 리스트” 같은 Markdown 문법이 포함되면, 후처리 과정에서 그대로 렌더링해 사용자에게 보여준다.

(2) 핵심 정보 추출

“요약: …” 형태로 시작하는 문장만 골라내거나, 숫자 예측 문제에서 “42”처럼 순수 숫자 토큰만 선택해 최종 값으로 사용한다.

(3) 출력 레이블 매핑

예를 들어 “예측: positive” 중 “positive”만 분리해 분류 태스크의 정답 레이블로 변환한다.

1.5 Few-Shot Prompting / In-Context Learning

(1) Zero-Shot vs. Few-Shot

Zero-Shot

영어를 스페인어로 번역해줘: “Hello, how are you?”
와 같이 예시 없이 태스크 설명만으로 모델이 수행한다.

Few-Shot

예시1) Hello → Hola
예시2) Goodbye → Adiós
번역해줘: Thank you → ___
처럼 1~5개의 예시를 함께 제공해 패턴을 학습시킨다.

(2) 핵심 논문

“Language Models are Few-Shot Learners” (Brown et al., 2021)에서는 GPT-3가 이렇게 제공된 예시만으로 새로운 번역·분류 태스크를 수행함을 보였다.

1.6 In-Context Learning의 민감도

(1) 예시 순서(ordering)

동일한 예시라도 배치 순서가 달라지면 성능이 크게 변한다(Lu et al., 2021).

(2) 긍정적 예시 비율

긍정적 예시를 많이 넣는다고 반드시 성능이 향상되지 않으며, 가끔은 오히려 떨어진다(Zhang et al., 2022).

(3) 잘못된 레이블

예시 레이블을 일부 랜덤으로 바꿔도, 모델 성능이 거의 유지되는 경우가 있어(Li et al., 2022), 예시 품질과 수가 항상 비례하지 않는다.

1.7 Prompt Engineering

(1) 수동 설계(Manual)

  • 포맷: 모델 학습 시 사용된 입력 형태(chat·plain text)와 일치

  • 지시문은 명확·구체·간결하게 작성

(2) 자동 탐색(Automated)

  • Prompt Paraphrasing: 기존 프롬프트를 “문장 A → 문장 B” 방식으로 재작성해 후보 풀을 확장(Jiang 2019, Zhou 2021).

  • Gradient-Based Search (AutoPrompt): 모델의 출력 확률을 미분 가능하게 활용해, discrete tokens를 자동으로 최적화(Shin 2020).

  • Prompt Tuning: 입력 임베딩 층 앞에 몇 개의 soft prompt 벡터만 삽입해 학습(Lester 2021).

  • Prefix Tuning: 모든 Transformer 레이어의 쿼리/키 앞에 learned prefix key/value를 추가해, 문맥을 제어(Li 2021).

profile
상어 인형을 좋아하는 사람

0개의 댓글