AI 모델 개발: 프롬프트 설계

ㅁ 프롬프트 설계

ㅇ 정의:
프롬프트 설계는 AI 모델, 특히 대규모 언어모델(LLM)이 원하는 출력과 행동을 하도록 입력 문장을 구성하는 기법이다.

ㅇ 특징:
– 입력 문장의 구조, 맥락, 예시 제공 여부에 따라 모델의 응답 품질이 크게 달라진다.
– 다양한 설계 패턴(Zero-shot, Few-shot, Chain-of-Thought 등)이 존재한다.

ㅇ 적합한 경우:
– 모델의 응답 품질을 높이거나 특정 형식의 출력을 유도해야 할 때.
– 시험, 평가, 데이터 생성 등에서 일관된 결과를 얻고자 할 때.

ㅇ 시험 함정:
– 프롬프트 방식의 이름과 특징을 혼동.
– 예시 제공 여부, 단계적 사고 유도 여부를 구분 못함.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “예시 없이도 문제를 해결하도록 요구하는 프롬프트 설계 기법은 Zero-shot이다.”
X: “Few-shot은 예시 없이 문제를 해결하도록 한다.”

================================

1. Zero-shot

ㅇ 정의:
예시를 전혀 제공하지 않고, 문제나 요청만을 제시하여 모델이 답을 생성하도록 하는 프롬프트 방식.

ㅇ 특징:
– 빠르고 간단하며, 사전 데이터 기반 일반화 능력을 활용.
– 복잡하거나 맥락이 필요한 문제에서는 성능이 떨어질 수 있음.

ㅇ 적합한 경우:
– 단순 질의응답, 정의, 사실 기반 질문.
– 예시를 준비하기 어려운 경우.

ㅇ 시험 함정:
– 예시 없는 것을 Few-shot과 혼동.
– Chain-of-Thought와 같이 단계적 사고를 유도하는 것과 구분 못함.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Zero-shot은 예시 없이 문제를 제시한다.”
X: “Zero-shot은 반드시 예시를 포함해야 한다.”

================================

2. Few-shot

ㅇ 정의:
요청과 함께 몇 개의 예시 입력-출력 쌍을 제공하여 모델이 유사한 패턴을 학습하도록 하는 프롬프트 방식.

ㅇ 특징:
– 예시 기반 패턴 인식 가능.
– 예시 품질과 다양성에 따라 성능이 좌우됨.

ㅇ 적합한 경우:
– 특정 형식의 출력이 필요한 경우.
– 예시를 통해 모델의 응답을 유도하고 싶은 경우.

ㅇ 시험 함정:
– 예시 개수와 성능 관계를 단순화하여 오해.
– Zero-shot과 혼동.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Few-shot은 몇 개의 예시를 제공하여 모델이 패턴을 학습하게 한다.”
X: “Few-shot은 예시 없이 작동한다.”

================================

3. Chain-of-Thought

ㅇ 정의:
모델이 답을 내기 전 중간 사고 과정을 단계적으로 표현하도록 유도하는 프롬프트 기법.

ㅇ 특징:
– 복잡한 추론 문제에 효과적.
– 모델이 ‘생각의 흐름’을 텍스트로 출력.

ㅇ 적합한 경우:
– 수학 문제, 논리 추론, 단계적 분석이 필요한 상황.

ㅇ 시험 함정:
– 단순 예시 제공과 혼동.
– 사고 과정을 숨기고 최종 답만 주는 것과 차이를 모름.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Chain-of-Thought는 모델이 단계별 사고 과정을 출력하게 한다.”
X: “Chain-of-Thought는 예시 없이만 사용 가능하다.”

================================

4. Prompt Injection

ㅇ 정의:
악의적 또는 의도치 않은 입력을 통해 모델의 원래 지시를 무력화하거나 변경하는 공격 기법.

ㅇ 특징:
– 보안 취약점으로 악용 가능.
– 모델이 민감 정보 유출, 금지된 행동 수행 가능.

ㅇ 적합한 경우:
– 보안 취약점 테스트.
– 모델 방어 기법 개발.

ㅇ 시험 함정:
– 프롬프트 설계 기법과 공격 기법을 혼동.
– 단순한 입력 오류와 보안 공격을 구분 못함.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Prompt Injection은 모델의 원래 지시를 변경하는 공격이다.”
X: “Prompt Injection은 모델 성능 향상을 위한 예시 제공 방식이다.”

ㅁ 추가 학습 내용

추가 학습 정리

1. Zero-shot과 Few-shot 성능 차이
– 성능은 모델의 사전 학습 데이터 범위와 품질에 크게 의존한다.
– Zero-shot에서도 설명형 프롬프트를 사용하면 성능이 향상될 수 있다.

2. Few-shot 프롬프트 설계 시 유의점
– 예시의 순서, 다양성, 포맷 일관성이 중요하다.

3. Chain-of-Thought 트리거
– 일반적으로 “Let’s think step by step”과 같은 문구로 활성화된다.
– 시험에서 해당 트리거 문구를 묻는 문제가 나올 수 있다.

4. Prompt Injection 방어 기법
– 입력 검증(Input Validation)
– 맥락 분리(Context Isolation)
– 출력 필터링(Output Filtering)
– 시험에서는 공격 시나리오와 방어 방법 매칭 문제가 출제될 수 있다.

5. 프롬프트 설계 평가 지표
– 일관성(consistency): 결과가 안정적으로 동일하게 나오는 정도
– 정확성(accuracy): 사실과 요구사항에 맞는 정도
– 창의성(creativity): 새로운 아이디어나 독창적 표현의 정도
– 안전성(safety): 유해하거나 위험한 콘텐츠를 방지하는 정도
– 각 지표의 정의와 적용 예시를 숙지해야 한다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*