Polyglot-ko-5.8B 모델을 기반으로 AI허브에 공개된 연인들사이의 공감대화로 QLoRA 파인튜닝한 sLLM 챗봇 모델
극 T 성향이 강한 개발자인 저는 공감능력이 아주 많이 부족합니다.
그렇게 감정이 매말라가던 도중 [공감 데이터 셋]을 발견하게 되어
공감능력을 학습한 챗봇에게 조금이나마 도움 받아
미래의 여친에게 도움이 될까 제작하게 되었습니다.
*그냥 재밌어보여서 제작했습니다.
role | text |
---|---|
speaker | 어제 늦게 잤더니 비몽사몽인 채로 출근했어. 출근길에 엉뚱한 버스를 타서 지각할 뻔한 거 있지? 정말 경황이 없더라고. |
listener | 놀란 마음에 다급하여 어찌할 바를 몰랐겠다. 지각할 거라는 생각에 마음 졸이기도 했겠어. 마음고생했을 자기를 생각하니 내가 다 속상하네. |
speaker | 매일 출근하는 일상이 똑같은데 버스를 잘 못 타는 건 처음 겪었어. 그래서 더 곤란해서 땀이 삐질삐질 나더라고. |
listener | 상상만 해도 진짜 힘들었겠다. 잘 못 탔다는 걸 아는 순간 얼마나 어처구니가 없었겠어. 게다가 출근길이라 더 마음이 조급했을 것 같아. |
speaker | 여유롭게 나오긴 했지만 혹시나 지각할까봐 어찌나 당황했던지. 진짜 소리를 지를 뻔한 정도였어. |
listener | 매일 출근 시간보다 훨씬 이전에 나오는 것도 정말 힘들잖아. 더군다나 버스를 잘못 탔으면 늦을 수도 있었으니 그 순간 마음고생이 심했겠다. |
여친: 어제 늦게 잤더니 비몽사몽인 채로 출근했어. 출근길에 엉뚱한 버스를 타서 지각할 뻔한 거 있지? 정말 경황이 없더라고.
남친: 놀란 마음에 다급하여 어찌할 바를 몰랐겠다. 지각할 거라는 생각에 마음 졸이기도 했겠어. 마음고생했을 자기를 생각하니 내가 다 속상하네.</끝>
여친: 매일 출근하는 일상이 똑같은데 버스를 잘 못 타는 건 처음 겪었어. 그래서 더 곤란해서 땀이 삐질삐질 나더라고.
남친: 상상만 해도 진짜 힘들었겠다. 잘 못 탔다는 걸 아는 순간 얼마나 어처구니가 없었겠어. 게다가 출근길이라 더 마음이 조급했을 것 같아.</끝>
여친: 여유롭게 나오긴 했지만 혹시나 지각할까봐 어찌나 당황했던지. 진짜 소리를 지를 뻔한 정도였어.
남친: 매일 출근 시간보다 훨씬 이전에 나오는 것도 정말 힘들잖아. 더군다나 버스를 잘못 탔으면 늦을 수도 있었으니 그 순간 마음고생이 심했겠다.</끝>
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import PeftModel
model_id = "EleutherAI/polyglot-ko-5.8b"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config, device_map={"":0})
코랩에서 학습 : Colab
*데이터 셋은 AI 허브의 소유권이 있음으로 Private 입니다.
Epoch: 16
learning-rate: 3e-4
batch_size: 1
Lora r: 8
Lora target modules: query_key_value
Git: https://github.com/jongmin-oh/empathy-boyfriend-chatbot/tree/main
huggingFace: https://huggingface.co/j5ng/polyglot-ko-empathy-chat-5.8b
jwj7140 님의 저장소 도움을 많이(대부분) 받았습니다.
안녕하세요 ! velog 보다가 저도 비슷한 프로젝트를 진행중에 있고 궁금한점이 많아서 댓글 남겼습니다.
저는 의료기반 지식in data를 이용해서 질문 답변 형식의 데이터를 모델에 finetuning할 생각인데요,,
현재 샘플 데이터셋은 huggingface에 ssuengpp/test1_1 에 올려놓은 상태입니다. 이 데이터를 작업하신 colab 코드를 이용해서 사용하려고 하면 데이터셋의 형식을 어떤 식으로 바꾸어 주어야하나요?
저의 데이터셋으로 finetuning을 하려면 어떻게 바꾸어야 하는지 궁금합니다. 답변주시면 감사하겠습니다 !