안녕하세요. 열심히 혼자서 북치고 장구치며 하는 AI 개발자 입니다.


사실 llama 2 자체는 이미 튜닝해서 결과가 나왔으나, 제가 기존에 사용하던게 알파카 포맷이라 

llama 2 에서 권장하는 포맷 <s>[inst] ...  으로 재구현하려다가 결과가 안좋아서 채널분들에게도 조언도 받고 

여러가지로 테스팅하다가 결국 하이퍼파라미터 튜닝이 포맷에 따라서도 까다롭게 조절해야한다는 교훈을 받았습니다. 


아래는 출력 예시입니다. (뉴스는 그냥 메인에 바로 보이는거 하나 긁어왔습니다. 의도x)


- 각각 요약/감정분류/멀티대화 를 간단하게 확인했고 

eos 토큰이 제대로 나오는걸 확인할 수 있었습니다. 

물론 너무 말이 길어지거나, 사소하다면 사소하지만 </s>토큰이 \n</s>로 나오는 점이 있으나 이 부분은 데이터셋 문제가아닐가 싶습니다. 


다만 위에서 언급한거처럼 길어지면 <|endoftext|> 토큰이 갑자기 나오는데 흠... 우선 이 정도 결과에 만족하고 있습니다. 

권장하는 format 기반으로 eos 토큰이 제대로 학습되서 답변 중지가 잘되느냐?가 이번 스터디의 우선 목표라...


다만, 궁금한점이 하나 생겼는데 허깅페이스에서 배포되어있는 beomi/llama2 7b ko  instruction/chat 미세조정한 모델들은 

하나같이 제가 기존에 썻던 알파카 포맷 기반으로 학습한 결과더군요. 

그런데 apply_chat_template() 로 확인하면 다 동일한 권장 format 으로 나옵니다 ...흠 이유가 뭘까요

예 :  (실제는 알파카 기반 ### )

<s>[INST] Hello, how are you? [/INST] I'm doing great. How can I help you today? </s><s>[INST] I'd like to show off how chat templating works! [/INST]


실제로 알파카 기반이 잘 먹히긴 했습니다 이유는 모르겠는데 </s> 보다 <|endoftext|> 이 더 학습이 잘되구요.

튜닝 단계 문제가 아니면 조심스럽게 base 모델이 문제가 아닐까 싶은데 이건 제가 확인을 할수 없어서 ... 


다음에는 base 모델이 아닌 instruction 기반 모델로 할건데 llama 3으로 할거같습니다.

사실 이미 진행을 한번했는데 기본적으로 잘되는데 종종 답변이  비워진상태 + 일부 토큰이 짤림 으로 출력되더라구요.

아직 초기라 그럴지도... 계속 뭔가 업데이트 되는거로 보아 점차 나아지지않을까 싶습니다. 

- 특히나 메타에서 다국어 모델로 내준다면 확실해지지않을까 싶습니다 


아무튼 여러분들에게 조언을 받고 성공했습니다. 아직 LLM에 대해 깊이 있는 것은 멀었지만, 차근차근 나아짐은 느끼고 있습니다.


다시 한번 모두 감사드립니다!