챗봇과의 대화를 통해 ‘나’에 대해 더 잘 알아갈 수 있는 챗봇, 내마리(MyMary)
서비스입니다.
내마리(MyMary)
는
- 사용자의 채팅 속에서 맥락을 파악하고 사용자에게 따뜻한 공감을 제공하며
- 질문 또는 생각 정리의 형식으로 사용자의 채팅에 대한 답변을 마무리함으로써
- 사용자가 공감을 기반으로 챗봇과 상호작용할 수 있게 되어, 궁극적으로 사용자 자신과 상호작용 하는 (= 내 마음을 들여다보는) 경험을 제공합니다.
[마리와 대화하기]
공통 | 문지혜 | 박경택 | 박지은 | 송인서 | 윤지환 |
---|---|---|---|---|---|
데이터 생성 데이터 검수 모델 별 실험 |
평가 지표 리서치 평가 전략 설계 |
프롬프트 엔지니어링 LangChain 연동 발표 |
개발환경 구성 베이스라인 작성 데이터 EDA 발표 |
FE/BE 구현 DB 연결 LangChain 연동 |
PM 베이스라인 작성 데이터 취합 데이터 전처리 LangChain 연동 |
poetry shell
finetuning
디렉토리에서
python train.py
finetuning
디렉토리에서
python merge_lora.py
finetuning
디렉토리에서
python inference.py
server/backend
디렉토리에서
python app.py
server/frontend
디렉토리에서
npm install
and
npm start
- HuggingFace 데이터셋 리포지토리
- 공감형 대화 공개 데이터셋은 single-turn 데이터 8,194개와 multi-turn 데이터 18,668개로 구성됩니다.
- 사용자의 채팅에 대한 응답인 챗봇의 채팅은 '공감형 반응 - 질문' 형태를 띱니다.
- Finetuning 시 모델의 입력은 프롬프트 템플릿으로 감싸주었으며, 데이터 생성 및 파인튜닝, 추론 등에서 사용한 프롬프트 템플릿은
data/prompt/
디렉토리를 참고해주세요.
Polyglot-Ko-12.8B 모델을 backbone으로 하여 15만 2천여 건의 싱글-턴 대화로 finetuning한 모델입니다.
LoRA 기법에 4-bit quantization, double quantization, paged optimizer 등의 방법을 사용하여 VRAM 32GB single GPU에서 full finetuning이 가능하게 했습니다.
평가를 위해 비교한 모델은 한국어 LLM 3가지(모델 파라미터수 7B, ~13B)와 현재 서비스 중인 GPT-3.5 모델(모델 파라미터 수 175B)입니다.
G-eval 논문을 참고하여 6가지 항목을 선정하고, 추가적으로 (1) 공감 능력, (2) 대화 유도 항목을 추가하여 평가하였습니다.
평가 항목은 크게 (1) 기초 능력, (2) 공감, (3) 맥락 유지, (4) 질문 항목으로 나뉩니다. 각각의 항목은 다시 두세 항목으로 세분류하여 평가를 진행하였습니다.
서빙 파트의 자세한 내용은 server/
디렉토리의 README를 참고해주세요.
- A Technical Report for Polyglot-Ko: Open-Source Large-Scale Korean Language Models
- GPT-NeoX-20B: An Open-Source Autoregressive Language Model
- Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning
- LoRA: Low-Rank Adapatation of Large Language Models
- QLoRA: Efficient Finetuning of Quantized LLMs
- G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment