환경상 7b 또는 13b 정도가 한계라... 

최소한 eos 토큰 학습을 잘되는 것을 목표로 몇주간 트라이 했으나 일단 기록을 목표로 작성해봅니다. 


그냥 이런 사례도 있구나 정도로 봐주시면 될 것 같습니다


베이스 모델 : llama 2 7b ko (beomi님 모델)

파인튜닝 데이터셋 : 29000개 (싱글/멀티턴 대화 , 분류, 요약 등)


사용한 포맷 : 


=> 알파카 포맷 기반의 약간의 커스텀 : 

{system_msg}


[이전대화]

{history}

 

[현재대화]

## instrcution : 

{instruction}


## output : 

{output}



그외 시도한 사용한 포맷 : 

=> 미스트랄 내지는  llama 2 chat, instruction 포맷 :

미스트랄 포맷 :  심플하게 <s>[INST] [/INST]</s> 로 진행...

 llama 2 : 

<s>[INST] <<SYS>>

{system_msg}

<</SYS>>


{instruction} [/INST]

{output}</s>


이것을 기반으로 띄어쓰기/\n/\n\n  여러 케이스 하면서 테스트 

예 ) 

<s>[INST] <<SYS>>

{system_msg}

<</SYS>>


{instruction} [/INST]

{output}<s>


<s> ... 



<s>[INST] <<SYS>>

{system_msg}

<</SYS>>


{instruction} [/INST]

{output}<s></s> ...




결론 : 미스트랄/라마2 에서 선호하는 포맷은 전부 실패 

1) 말이 반복하는 현상 (이 경우 epoch 수와 lr 조절로 해결 )

2) eos 학습 안되는 현상 (가장 큰 문제로, 7b 자체 문제인가? 했으나 성공 사례가 있어서 아직 정확한 원인 불가)

3) 알파카 기반 포맷의 커스텀이 가장 잘 학습됨 (일부 환각증상은 있으나 eos 토큰 문제가 없음 현재까지)


모델이 10b 아래라서 모델 베이스 자체문제인지, 아니면 백본모델을 instruction/chat 미세조정한거로 해야 제대로 먹히는지는

아직 시도안해봐서 확인은 안되었으나 

라마 2 base 인 경우엔 생각보다 메타에서 추천하는 포맷은 잘 안먹히더라구요 


아마 다음 테스팅은 라마 3 instruction 기반으로 만지작 거릴텐데 (이건 포맷이 바꼇던데 그걸 기준으로 할생각입니다)

굳이 기록용이다 싶으면 라마2 base 경우 생각보다 추천 format이 안먹힌다는 점이 제 학습상 느낀점이네요...


그냥 이런 게 있구나 정도로 봐주십사 합니다 

제가 잘못했을 수도 있고 다른 분들도 뭔가 경험이 있으시다면 답변 부탁드립니다.