ChatGPT 프롬프트 작성 및 테스트
- Prompt Engineering(프롬프트 엔지니어링)에 관심이 있는 분
- ChatGPT의 한국어 성능과 한국어 프롬프트 설계에 대해 궁금하신 분
- ChatGPT의 Hallucination(할루시네이션) 등 오류를 방지하는 방법이 궁금하신 분
개요
- 세부 Task: 프롬프트 작성 및 테스트
- 데이터 출처: 신규 생성
- 활용 서비스: 내부 프로젝트
문제
TEXTNET은 ChatGPT 공개 이후 내부적으로 프롬프트 연구를 진행해왔습니다. 목적에 맞게 실제 활용 가능한 적절한 결과 값을 얻기 위한 ChatGPT 프롬프트를 작성하는 것이 목적이었습니다. 요약, 패러프레이즈, 문장/문구 생성, 대화문 생성, QA등 다양한 Task별 특징에 따라 변인을 고려하여 프롬프트를 구성하는 방식으로 진행했습니다.
해결 방안
-
단계적 접근을 통한 프로젝트 수행
요약, 패러프레이즈 등 낮은 난도의 Task부터 문장/문구 생성, 대화문 생성 등 높은 난도의 Task까지 대상으로 설정하고 프로젝트를 진행했습니다. Task별 필요한 프롬프트 구성 요소들을 고안하여 1차 안을 설계하고, 몇 가지 변인을 조정하여 더 나은 결과값을 출력하는지 확인한 후 프롬프트를 수정해 2차 테스트를 진행하여 최종 프롬프트를 도출했습니다. -
언어적 특성을 변인으로 한 프롬프트 구성
단순한 문장 스타일을 넘어 원하는 결과에 맞는 언어적인 요소에 대해 구체적으로 고민함으로써 더욱 세부적인 프롬프트 조정을 테스트할 수 있었습니다. 가령 '유머러스하게, 친절하게'와 같이 모호한 지시보다는 특정 Task에 맞는 문장 요소나 표현 사용에 대해 구체적으로 지시하는 방법으로 프롬프트를 구성했습니다. -
ChatGPT의 한계 파악
Hallucination(할루시네이션)을 포함하여 테스트 중 빈번하게 발생되는 오류 현상을 유형화하였습니다. GPT-3.5, GPT-4에서 각각 테스트를 진행하여 모델 차이에서 기인하는 한계는 물론 영어-한국어의 학습 언어 차이에서 오는 문제점 또한 확인하였습니다. -
오류를 방지하는 프롬프트 설계
프롬프트를 정교화하는 과정을 통해 오류를 덜 발생시키는 프롬프트 구성 요소를 찾고, 통제 요소와 조절 요소로 구분하여 프롬프트를 구조화함으로써 오류를 최소화하는 프롬프트를 설계할 수 있었습니다. 페르소나 대화문 생성 등 더욱 고난도의 Task에서 성능을 낼 수 있는 프롬프트에 대해서도 지속 연구할 예정입니다.
프로젝트 결과
- 텍스트 관련 Task별 프롬프트 구조 및 구성 요소 등 기본 설계 도출
- 오류 발생 가능성이 높은/적은 프롬프트 구성 요소의 규명
- 좋은 프롬프트를 위해 고려해야 할 점 확인
이 프로젝트의 데이터 기획은 아래 Project Manager가 담당했습니다.
김성연, 조아임, 강민선
TEXTNET 소개
지금의 딥러닝을 있게 한 AI Guru 제프리 힌튼의 데이터셋 'ImageNet'에 어원을 둔 TEXTNET은 (주)스피링크가 운영하는 AI/챗봇을 위한 텍스트 데이터 설계 및 구축 서비스입니다.
TEXTNET은 언어학, 심리학, 전산언어학 석·박사를 포함한 전문 인력으로 구성된 언어전문가 그룹으로서, 고객사의 니즈에 부합하는 텍스트 데이터를 설계·가공·구축하고 내부 R&D를 통해 설계 방식을 지속적으로 개선하여 최적의 데이터 설계 방법을 제안합니다. 프로젝트 목적에 따라 적합한 숙련 작업자를 선별하여 투입하고, 체계적이고 효율적으로 고품질의 학습데이터를 생산합니다.
TEXTNET은 삼성, LG, KT, SK 등 유수 대기업의 데이터 구축 파트너로 함께하며 금융, 마케팅, 콘텐츠, 메타버스, 서비스 기획, CS 등 다양한 도메인을 다루고 있습니다.