728x90
반응형
1차 프롬프트 작성
생성 AI 애플리케이션에서의 프롬프트
- 거대 언어 모델을 활용하는 애플리케이션에서 프롬프트란 보통 시스템 프롬프트를 의미
- 시스템 프롬프트를 통해 사용자의 예상 인풋, 원하는 아웃풋 형태, 톤앤매너 등을 조정할 수 있음
- 답변의 품질을 높이기 위해 예시를 넣어주기도 함
- (사용자 입력, 모범 답안)을 페어로 넣어주면 이를 참고해서 답변을 생성
대표적인 시스템 프롬프트의 종류
- 애플리케이션의 성격과 목적에 따라 시스템 프롬프트의 내용은 천차만별
- 톤앤매너 조정
- 답변의 형태 특정
- 모범답안 예시 제공
애플리케이션을 위한 프롬프트 기획
- 애플리케이션의 목적이 코디 추천이므로, 답변의 적절성, 유용성, 창의성 등이 중요
- 적절성(Sensibleness): 사용자의 상황/요청사항 등을 충실히 반영하였는지
- ex) 계절적 배경, TPO, 기분상황, 평소취향 등 사용자가 제공한 정보와 부합하도록
- 유용성(helpfulness): 답변이 너무 두루뭉술하거나 관련없지 않고 도움이 될 만한지
- 창의성(interestingness): 정석적이고 뻔한 답변들에 더해 센스 있는 추천을 해줄 수 있는지
- ex) 흔히 생성 AI에서의 와우 팩터(Wow Factor)라고 하며, 변수가 크므로 적절한 비중으로 조절하는 것이 중요
프롬프트 초안 작성하기
- 적절성, 유용성, 창의성을 두루 갖춘 답변이 생성될 수 있도록 프롬프트를 고안
- ChatGPT와 같은 언어모델은 영어 성능이 더 우수하므로, 유저에게 노출되지 않는 시스템 프롬프트는 영어로 작성하는 경우가 많음
프롬프트 평가
프롬프트에 따른 생성 결과 확인하기
- 생성 AI의 예측값에는 확실한 "정답"이 없기 때문에 정량적인 평가에 어려움이 있음
- 객관식(분류모델) vs 단답형(회귀모델) vs 서술형(생성AI)
- 현업에서 가장 많이 활용되는 평가 방법은 A/B testing
- 프롬프트 수정 전/후를 나란히 놓고 어느 쪽이 더 우수한지 사람들이 평가
- 초기엔 내부 구성원 활용, 실제 유저들을 대상으로 진행
- 애플리케이션 관점에서 가장 확실한 평가 방법이지만, 비용이 크다는 단점이 있음
평가 자동화
- 본질적으로 "서술형"인 언어모델의 특성 상 자동적이고 정량적인 평가가 쉽지 않음
- 현존하는 가장 우수한 인공지능 모델인 GPT-4를 활용하여 A/B testing, 혹은 5점 척도 평가를 진행할 수 있음
- GPT를 활용하여 평가를 진행할 시 평가 기준을 정확이 명시하는 것이 중요
- 적절성, 유용성, 창의성 등 우리가 주료 평가하고자 하는 영역을 구체화 및 세분화
프롬프트 개선하기
색상에 집중하게 하기
- 지금의 프롬프트 하에서는 전반적인 코디는 제공하지만, 이 애플리케이션의 목적인 색상 추천 부분은 빈약
- 언어모델로 하여금 색상 추천을 반드시 제공하도록 프롬프트 수정
사용자가 고를 수 있도록 선택지 제공하게 하기
- 현재 버전에서는 출력값의 형태에 변동이 크며, 전반적으로 사용자에게 선택권을 폭넓게 제공하고 있지 않음
- N개의 후보지를 제안하도록 특정하여, 답변의 변동성을 줄이고 유저에게 선택의 폭 제공
예시를 통해 출력값 형태 구체화하기
- 우리가 원하는 형태의 간단한 예시를 하나 추가하여 언어모델의 출력값을 통제
할루시네이션, 프롬프트 인젝션
할루시네이션
- 할루시네이션(Hallucination)이란 언어 모델이 사실과 다른 내용을 마치 사실인 것처럼 이야기하는 현상을 가리킴
- 거대 언어모델은 대량의 인터넷 웹문서를 학습 데이터로 활용하기 때문에, 그 안에 부정확한 정보가 많이 담겨 있는 것이 주된 원인 중 하나로 거론
- 아직 해결된 문제가 아니며, 학습 데이터 정제, 모델 앙상블*등을 통해 줄이려는 시도들이 이어지고 있음
프롬프트 인젝션
- 프롬프트 인젝션(prompt injection)이란 생성 AI 모델에 대한 공격의 일환으로 모델이 예상 밖의 행동을 보이도록 유도하는 프롬프트를 고안, 사용하는 것
- 언어 모델의 경우 위험한 정보(ex. 집에서 폭탄 만드는 법)나 공격적인 발언(ex. 욕설, 성적/인종적/종교적 편견) 등을 유도하곤 함
- 학계에서는 생성 AI모델의 안전성을 평가하기 위해 다양한 공격 방법을 고안하고 그에 대한 내성을 테스트
- 여전히 진행 중인 연구 분야로써, 모델에 대한 공격자 역할을 수행하는 팀을 두어 모델의 반응을 모니터링하고 위험한 정보가 담긴 데이터를 최소화하는 방식으로 문제 완화
728x90
반응형
'IT 공부 > 생성형 AI' 카테고리의 다른 글
[생성형 AI] 프롬프트 엔지니어링 애플리케이션 고도화 및 생성형 AI 오남용 (3) | 2024.11.20 |
---|---|
[생성형 AI] 컴퓨터 비전(Computer Vision)과 Diffusion (3) | 2024.11.20 |
[생성형 AI] 프롬프트 엔지니어링 애플리케이션 설계 (1) | 2024.11.20 |
[생성형 AI] 애플리케이션 개발을 위한 생성AI 활용 프로세스 이해하기 (6) | 2024.11.11 |
[생성형 AI] 미드저니, AI IMAGE (8) | 2024.11.11 |
댓글