[프로그래밍] 프롬프트 엔지니어링

[프롬프트 엔지니어링] 프롬프트 기초지식

JHVan 2024. 5. 27. 13:46

프롬프트 디자인

대화형 생성 AI

사용자의 입력을 처리하고 그에 맞는 자연스러운 응답을 생성하는 인공지능이다.

이를 위해 다양한 기술과 접근법이 결합된다.

 

주요 구성 요소와 작동 원리

자연어 처리 (NLP)

  • 텍스트 데이터에서 의미를 추출하고 이해하는 기술
  • AI는 문장의 구조, 단어의 의미, 문맥 등을 분석

기계 학습

  • 대규모 데이터셋을 통해 AI 모델을 훈련
  • 이러한 데이터셋에는 책, 웹사이트, 대화 로그 등이 포함 기계 학습을 통해 AI는 패턴을 인식하고 새로운 입력에 대한 적절한 응답을 생성하는 방법을 학습

딥러닝

  • 인공신경망, 특히 트랜스포머 모델을 사용하여 언어를 처리
  • 트랜스포머 모델은 대규모 텍스트 데이터를 병렬로 처리하며, 문맥을 이해하는 데 강력한 성능을 발휘
  • GPT-4가 대표적인 트랜스포머 모델

문맥 유지

  • 대화의 연속성을 유지하기 위해 이전 대화 내용을 기억하고 활용
  • 이를 통해 일관성 있는 대화를 이어갈 수 있다. 문맥을 파악하여 적절한 정보를 제공하고, 사용자 경험을 향상

다양한 응용 분야:

  • 고객 지원: 자동화된 고객 응대를 통해 문제 해결 및 정보 제공.
  • 교육: 학생들에게 질문에 대한 답변 및 학습 자료 제공.
  • 콘텐츠 생성: 블로그 글, 기사, 소설 등의 텍스트 생성.
  • 언어 번역: 다양한 언어 간 번역 서비스 제공.
  • 퍼스널 어시스턴트: 일정 관리, 정보 검색, 작업 수행 등.

인간과의 상호작용

  • 대화형 생성 AI는 사용자와의 상호작용을 통해 학습하고 개선됨
  • 사용자의 피드백을 바탕으로 모델을 업데이트하고, 더 나은 응답을 제공

대화형 AI의 디자인

대규모 언어모델(LLM: Large Lasguage Model)

언어모델 정렬(ALM: Aligning Language Models)

언어모델

학습한 텍스트를 바탕으로 자연스러운 단어를 찾는 모델

재부분의 자연어처리 문제들을 언어모델이 학습하는 방식으로 전환 가능

ex)

감정 분석 : ~~ 한 상황이었다. 그래서 (기분이 어땠나)

주제 분류 : ~~ 하다. 그래서(이 문장은 무엇에 관한 것인지)

기계번역 : ~~다. 를 (국가) 언어로 번역하면 (~~)다.

 

대규모(생성형) 언어 모델

  • 맨 앞부터 한 단어씩 생성하는 단방향 언어모델
  • 자연스러운 문장을 구사하는 강점이 있음
  • 대규모 언어모델의 대부분이 채택(GPT 포함)

언어모델 정렬

인간의 의도에 부합하는 결과물을 만들어내도록 조정하는 것

일반적인 언어 모델

  • 일반적인 언어모델은 웹 상의 텍스트로 학습
  • 자연스러운 대화에 초점이 맞춰지지 않음
  • 문장을 채우는 것에 초점이 맞춰짐 -> 의도한 결과와는 다른 결과가 도출됨

=> AI의 행동을 인간의 목표와 일치시키는 것이 중요하고, 언어모델 정렬이 필요함

목표 설정

  • AI가 따라야 할 명확한 목표와 기준을 설정한다.
  • 예를 들어, 공정성, 투명성, 윤리적 행동 등의 기준을 포함할 수 있다.

훈련 데이터

  • AI를 훈련시키는 데이터는 AI의 행동에 큰 영향을 미친다.
  • 정렬된 행동을 유도하기 위해, 윤리적이고 편향되지 않은 데이터를 사용한다.

피드백 메커니즘

  • AI의 행동을 모니터링하고, 필요시 피드백을 제공한다.
  • 사용자 피드백, 전문가 리뷰 등을 통해 AI의 행동을 평가하고 조정한다.

보상 함수 설계

  • AI가 바람직한 행동을 할 때 보상을 주는 시스템을 만든다.
  • 올바른 보상 함수를 설계하는 것이 AI 정렬의 핵심이다.

안전 장치

  • AI가 예측 불가능하거나 위험한 행동을 하지 않도록 안전 장치를 마련한다.
  • 예를 들어, 특정 행동을 금지하거나, 인간의 승인 없이 중요한 결정을 내리지 않도록 할 수 있다.

연속적인 학습 및 조정

  • AI는 계속해서 학습하고 환경에 적응한다.
  • 따라서 정기적으로 AI의 행동을 모니터링하고 필요한 조정을 해야 한다.

투명성 및 설명 가능성

  • AI의 결정 과정이 투명하고 이해 가능하도록 한다.
  • 사용자가 AI의 행동을 이해하고 신뢰할 수 있도록 돕는다.

프롬프팅

언어모델로부터 사용자가 원하는 답을 이끌어내는 과정

프롬프트 엔지니어링

더 목적에 부합하는 답을 이끌어내도록 프롬프트를 설계하는것

 

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

효과적인 의사소통 방식 활용

명확하고 구체적인 요청

  • 프롬프트는 명확하고 구체적으로 작성
  • 모호한 표현을 피하고, 원하는 결과를 명확하게 전달

문맥 제공

  • 필요한 경우 배경 정보를 제공하여 모델이 상황을 더 잘 이해할 수 있도록 함
  • 예시를 통해 원하는 형식을 제시

단계적 안내

  • 복잡한 요청은 단계를 나누어 설명
  • 각 단계마다 필요한 정보를 제공하고, 다음 단계로 연결 될 수 있게 함

키워드 강조

  • 중요한 단어나 문구를 강조하여 모델이 중점을 두고 이해할 수 있도록 함
  • 대문자, 따옴표 등을 사용하여 강조

언어모델의 특성 활용

문맥 이해 능력

  • 모델의 문맥을 이해하는 능력
  • 이전 대화 내용이나 관련 정보를 활용하여 문맥을 제공하면 더 나은 응답을 얻을 수 있음

다양한 표현 수용:

  • 동일한 의미를 다양한 방식으로 표현할 수 있음
  • 다양한 방식으로 프롬프트를 실험하여 최적의 결과를 찾음

반복 학습

  • 모델은 반복된 입력을 통해 학습
  • 반복적인 피드백과 조정을 통해 모델의 응답 품질을 향상

예측 능력

  • 모델은 다음 단어를 예측하는 능력을 바탕으로 동작
  • 예상 가능한 형태의 문장을 입력하여 원하는 방향으로 응답을 유도