프롬프트 엔지니어링 / 리버스 프롬프트 엔지니어링
- 프롬프트 엔지니어링:
- 타겟에 대하여 순방향
- 목표로 하는 답을 얻기 위해 질문을 던짐
- 원하는 결과가 나올 수도 있고 안 나올 수도 있음
- 리버스 프롬프트 엔지니어링:
- 타겟으로부터 시작하여 역방향
- 이미 이루어진 목표로부터 출발하여 질의응답을 가져옴
- 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 |