프롬프트 엔지니어링 / 리버스 프롬프트 엔지니어링

  • 프롬프트 엔지니어링:
    • 타겟에 대하여 순방향
    • 목표로 하는 답을 얻기 위해 질문을 던짐
    • 원하는 결과가 나올 수도 있고 안 나올 수도 있음
  • 리버스 프롬프트 엔지니어링:
    • 타겟으로부터 시작하여 역방향
    • 이미 이루어진 목표로부터 출발하여 질의응답을 가져옴
      • ex. 이미 부자인 사람이 어떻게 부자가 되었는지 그 삶을 추적하기

생성 AI의 결과물 특징

  • 생성 AI는 동일한 결과를 재생산할 수 없음
    • 난수를 통해 결과를 만들어내기 때문
    • 이 결과에 대한 분산을 줄이기 위해 필요한 것이 프롬프트 엔지니어링
    • 비유: 오은영 박사와 강형욱 조련사의 공통점 = 문제 있는 아이 혹은 개를 온순하게 만듦
      • 프롬프트 엔지니어링도 마찬가지, (결과가) 마구 날뛰는 생성 AI를 온순하게, 의도대로 작동하게 만드는 것임

Few Shot Learning

  • 기존의 딥러닝 모델: GB 단위의 데이터가 있고, 이를 학습해야 함
  • chatGPT: 상황에 맞는 예시 몇 개만 던져줘도 결과를 낼 수 있음(=few shot learning)
    • 몇 천억 또는 몇 조 개의 점(=파라미터)을 미리 찍어놓음(=pre-trained)
    • 입력받은 값이 이 점들의 사이 어딘가에 찍히면 기존에 있던 주변 점들을 이용하여 답을 유추해내는 것임

chatGPT cross check용 서비스

파이썬을 배워라

  • 파이썬 학습을 추천. 텍스트 마이닝, 정규식 등 결국 chatGPT에게 지시를 잘 내리기 위해 필요
  • 질문을 일일이 손으로 입력하는게 아니라 자동화를 해야 함. 그래서 파이썬이 필요함

chatGPT 특징

  • 360여 개의 act as mode 존재
  • IQ 조절 가능(평균 147. 최대 190~210 정도 세팅 가능)
  • 답변 퀄리티 10점 만점 세팅 가능 but 보통 4점 수준
  • 토큰 한계: 4000개
    • openAI tokenizer를 통해 질문의 토큰 갯수 카운트 가능
  • 프롬프트 사이즈 TL;DR(Too Long; Didn't Read)
  • 인공지능 윤리를 유지함

chatGPT 사용 tip

  • 답변 iteration(더 좋은 답변을 요구하며 다시 질문)을 하면 할수록 답변은 좋아질 수밖에 없음
  • 답변이 나오면 그 결과에 대한 뒷배경에 대해서 질문하여 알아낼 필요가 있음
  • 온도(temperature - 하이퍼 파라미터 중 하나)별 다른 결과값
    • 0 ~ 1 범위(=결과값의 분산 크기)
    • 0: 보수적, 안정
    • 1: 진취적, 불안정
    • default: 0.5 / optimized: 0.8 (강연하신 교수님 기준)
  • 하이퍼 파라미터 세팅
    • 질문 입력 시 하이퍼 파라미터 세팅 가능
    • 변경 가능 하이퍼 파라미터 목록: mode, tone, maximum_length, frequency_penalty, presence_penalty, temperature
  • 사용 사례
    • 유튜브 쇼츠용 캡션 생성
    • 슬로건 생성
    • 단어 뉘앙스 확인
      • 모르겠으면 예시 들어달라고 하기(구체적인 예시 3~5개)
    • 은유적 표현
    • 알고리즘 소스코드 생성
      • act as a python intepreter 이런 식으로 명령 가능
    • 코드 해설 및 다른 언어로 변환
    • 코드 최적화

정리

  • 인공지능은 결국 함수
    • 프롬프트 = 함수 <-> 리버스 프롬프트 = 역함수
    • 인간 = 지휘자 <-> 인공지능 = 오케스트라
      • 오케스트라가 다루는 악기(인공지능)를 어느 정도 알아야 제대로 지휘를 할 수 있음
  • 프롬프트 구성
    • 주제: 생선 뼈대(명사)
    • 맥락: 생선 살점(형용사)
      • 맥락 = 배경 설명(방향과 범위)
    • 분량
    • 표현(글의 형식. ex. 에세이)
  • 지시형 프롬프트: chatGPT가 모르는 정보를 요구하면 무용지물
  • 예시형 프롬프트: 관련 정보, 예시 등을 포함하여 프롬프트 작성
    • 잘못된 정보를 줄 경우 편향이 걸릴 수 있음

<추가 자료>

'etc.' 카테고리의 다른 글

[etc.] 독일에서 한국 대학교 학력 인정 받기 (feat. ZAB)  (1) 2024.03.21
[Sum.] 좋은 개발자란?  (1) 2023.03.14

+ Recent posts