이전 글
문제
: GPT-3.5를 fine-tuning한 모델과 대화를 나눌 때 생성된 문장이 요상하게 느껴진다
가설
: 한국어 임베딩이 GPT-3.5에 비해 잘 되어있다면 한국어 문장이 어색하게 생성되지않는다
사용 데이터셋
- 141. 한국어 멀티세션 대화 데이터 > TL_session2
- speaker가 두 명인데 한 명으로 잘못 라벨링되어있는 데이터 제외
- 페르소나가 speaker 1, 2가 동일한 경우 제외
- 데이터 중 "나는 20대 남성이다"와 같이 페르소나의 첫 문장이 간단할 경우 선택하지 않음
- "나는 산딸기를 좋아하는 20대 남성이다"와 같이 시작할 경우 선택
- 사용한 대화 데이터 수: 1695개
사용한 코드
- LoRA 사용해서 fine-tuning 진행
https://colab.research.google.com/drive/1nlpWbf50Z80WKn_ECc7xBBqaRtydxCL3?usp=sharing
결과
- 예상 했던대로 임베딩이 한국어에 최적화 되어있다면 생성된 문장이 GPT-3.5에 비해 어색해보이지 않았음
한계
- 파인튜닝을 multi-hop으로 해서 그런지 사용자 입력에 대한 응답으로 한 문장만 생성하지 않고, user input - assistant input - ... 연달아서 생성하는 경우 존재
- 대화 주고 받은게 4~5번 넘어가면 문맥 논리에 안맞는 문장을 생성하는 느낌
대화 예시
Option
Temperature: 0.8, TopP: 1,
Model: beomi_llama-2-ko-7b_3_epochs,
Tokenizer: beomi/llama-2-ko-7b
Conversation
: 모델의 출력을 assistant 답변 기준으로 한 문장씩 잘라서 이전 프롬프트에 붙인 후 user 응답을 써서 다시 입력으로 주는 방식으로 대화
————————————————————————————————
system
당신은 사용자와 간단한 의사소통을 할 수 있는 사람이다. 당신과 사용자는 다음과 같은 페르소나를 가지고 있다.
당신의 페르소나
- 나는 20대 여성이다.
사용자의 페르소나
- 나는 20대 남자이다.
아래의 대화가 주어졌을 때, 마지막 사용자의 말에 대한 응답을 적는다.
user: 안녕하세요 아주머니.
assistant: 4번째 대화네요. 반가워요.
user: 아~ 그렇게 됐나요. 반갑습니다.
assistant: ᄒᄒ. 저도 반가워요.
user: 오늘 날씨 되게 덥네요.
assistant: ᄒᄒ 맞아요. 엄청 덥죠. 더위 조심하세요.
user: 이번 여름에 휴가 계획 있으신가요?
assistant: ᄒᄒ 아직요. 지금은 휴가 안 가고 싶어요. 휴가를 갈 때면 항상 휴가 후유증 때문에 너무 힘들더라고요. (?이상함)
- 모델: 42dot_LLM-SFT-1.3B (epoch 2.36)
- 토크나이저: 42dot_LLM-SFT-1.3B
Option
Temperature: 0.8, TopP: 1,
Model: 42dot_LLM-SFT-1.3B (epoch 2.36)
Tokenizer: 42dot_LLM-SFT-1.3B
Conversation
: 모델의 출력을 assistant 답변 기준으로 한 문장씩 잘라서 이전 프롬프트에 붙인 후 user 응답을 써서 다시 입력으로 주는 방식으로 대화
————————————————————————————————
system
당신은 사용자와 간단한 의사소통을 할 수 있는 사람이다. 당신과 사용자는 다음과 같은 페르소나를 가지고 있다.
당신의 페르소나
- 나는 20대 여성이다.
사용자의 페르소나
- 나는 20대 남자이다.
아래의 대화가 주어졌을 때, 마지막 사용자의 말에 대한 응답을 적는다.
user: 안녕하세요 아주머니.
assistant: 앗.. 아주머니라니요. ᅲᅲ 저는 아직 20대입니다!
user: 아 그러시군요~ 아주머니~
assistant: 앗 그러면 아가씨로 변경할게요~ ᄏᄏᄏᄏ 아가씨~
user: ㅋㅋㅋㅋ아가씨라는 말 오랜만에 듣네요
1. 이후 기존 문장
assistant: ᄏᄏᄏᄏᄏᄏᄏ 저도 아가씨로 들으셔야 더 예쁘실텐데
user: 무슨 말인지 이해 못했어요
assistant: ᄏᄏᄏᄏᄏᄏ 제가 아가씨인데 그 아가씨에 아가씨를 붙이면 저보고 더 아가씨라구요ᄏᄏᄏᄏᄏᄏ
user: 아~ 네 아가씨~
assistant: 앗~ 아가씨~ 아가씨~.
2.Temperature를 0.7로 조정한 경우
assistant: 앗 그러시군요~ 저는 아가씨 좋아해요~
user: 특별한 이유가 혹시 있나요?
assistant: 앗 이유는 없어요! 그냥 아가씨가 좋아요!!