[AI] 프롬프트 엔지니어링

조승현·2024년 5월 13일
0

유튜브 강의

https://youtu.be/dxCKqmqSLy0?si=ZdxcvU6KdyZEiYLf
https://metamind.kr/memory-note-view/?note=900&pid=2

프롬프트 엔지니어링

기초원리

구체성(명확성)
AI는 답변 생성시 다음 나올 단어를 예측
구체적인 프롬프트를 사용하여 원하는 내용이 나올 확률을 높어야 함
데이터 & In-context learning (문맥 이해)
AI는 입력된 데이터를 기반으로 학습하고 문맥을 이해
원하는 답변이 AI의 데이터베이스에 존재하는지 파악해야 함
알고리즘 (논리적 사고 절차)
구체적인 프롬프트라도 한번에 복잡하고 다양한 지시를 하면 정확도가 떨어짐
AI가 알아듣기 쉽게 알고리즘화하여 입력

프롬프팅 종류

Generated Knowledge Prompting
: 기본 지식에 대한 질문을 먼저 던지고 해당 질문에 대한 추가 정보를 활용
특징

  • 언어모델이 스스로 지식을 생성하고 활용
  • 지식 생성 및 통합을 위해 추가적인 지도가 필요하지 않음

Chain-of-Thought(CoT)
: 추론 과정을 순차적으로 연결한 것
: 중간 추론 단계의 연속성이 최종 결과를 유도하기 위한 과정을 포함
특징

  • 연속성: 시작과 끝까지 중간 추론 단계가 논리적으로 연결
  • 유창성: 최대한 이해하기 쉽고 자연스러운 언어로 중간 추론을 표현
  • 효과성: 중간 추론 단계가 최종 결과를 유도하는데 효과적

활용

  • 복잡한 추론 작업: 수리적 추론, 상징적 추론
  • 언어 모델 교육

+) 여러 단계를 포함하고 말로 풀어진 수학 연산의 경우 ChatGPT가 오류를 만드는 일이 있었음

지시사항

단계적으로 추론 과정을 거치는 Chain of Thought 방식대로 문제를 해결하세요

Self-Consistency
: 여러 추론 경로를 통해 얻은 다양한 답변 중에서 가장 일관된 답변을 선택하여 모델의 추론 능력을 방법
특징

  • 다양한 Chain of Tought를 퓨샷러닝처럼 예시로 제시
  • 가장 일관된 답변을 선택

지시사항

다음에 제시하는 여러 추론 경로를 참고하여 다양한 결과를 도출해내고, 이후 가장 일관적인 결과를 선택하여 답변해주세요

Automatic Reasoning and Tool-use (ART)
: 스스로 추론 단계를 생성하고 외부 도구를 사용하는 방법
특징

  • 자동적인 중간 추론 단계 생성
  • 사용자의 개입 가능: 작업 및 도구 라이브러리를 업데이트하거나 오류를 수정하여 성능 향상

예시 프롬프트

사용자의 질문을 분석
사용자의 요청을 해결할 최적의 추론 경로와 외부 도구가 무엇인지 탐색
최적의 추론 경로와 외부 도구를 활용하여 문제를 해결
필요에 따라 사용자가 외부 도구 라이브러리를 추가하거나 수정

Prompt Chaining
: 작업을 하위 작업으로 분할, LLM에 작업을 요청하여 받은 응답을 또 다른 프롬프트의 입력으로 사용
특징

  • 더 정확하고 효율적인 결과
  • LLM이 처리하기 어려운 부분을 집중적으로 다룸

예시 프롬프트

문서에서 질문에 대한 인용구를 추출하고, 그 인용구를 사용하여 질문에 대한 답변을 요청(첫 번째 프롬프트와 두 번째 프롬프트를 연결)
문서의 문법적 오류를 찾아내고 추가적인 빠뜨린 오류가 있는지 확인(응답 유효성 검사용 프롬프트)
다양한 수준의 독자들에게 병렬적으로 각각 다른 수준의 설명을 요청(병렬 작업용 프롬프트)

Tree of Thought (ToT)
: 여러 명의 전문가를 연기하며 단계적으로 추론 과정을 거쳐, 스스로의 생각을 관찰 및 평가

특징

  • 각각의 "thought"를 단계별로 생성, 중간 단계로 활용
  • "thought"는 언어 모델이 문제를 해결하는 과정을 스스로 평가하고 숙고하는 메타인지 능력을 갖추게 함
  • 다양한 추론 경로를 고려, 다음 단계의 선택을 결정, 전방 또는 후방 추적을 통해 전역적인 선택 가능

활용

  • 법률 해석
  • 의료적 판단
  • 논문 작성

Retrieval Augmented Generation (RAG)
: 언어모델 + 검색기능 = 지식 기반 생성 작업을 위한 알고리즘

특징

  • 지식 기반 작업: 모델이 검색된 문서의 정보를 참조
  • 해석 가능성: 문서 출처 제공, 모델의 결정 과정을 추적하고 이해할 수 있음 ++ 훈련 과정을 볼 수 없다는 특성 때문에 필요
  • 유연성과 적응성: 다양한 종류의 검색 DB와 생성 모델을 결합, 다양한 언어 처리 과제에 적용

활용

  • 모델의 능력 향상
  • 콘텐츠 생성 및 요약
  • 사실 검증
  • 논문 분석

ReAct prompting (Reasoning Act)
: 추론과 행동을 교차로 생성하도록 유도 - 추론과 상호작용을 조합
: 언어모델이 작업에 관련된 추론 과정과 행동을 생성, 외부 소스와 상호작용하여 정보를 가져오고 작업을 수행

특징

  • rag보다 좀 더 포괄적인 개념 (웹 정보도 고려)
  • agi와 관련된 경우가 많음 (인간 대체 가능)
  • 인간의 개입을 통해 행동을 수정, 상황에 유연하게 대처

참고

퓨삿러닝?
: 초집중 학습, 짧은 시간 동안 집중해서 공부하는 학습 방법

0개의 댓글