논문 결과를 reproducing하는데 결과가 제대로 안나와서 골머리를 앓았다.
저자와 메일을 나눠서 파라미터랑 train set에 대해 조언을 받고 다시 실험을 돌려봤는데도 여전히 결과가 잘 나오지 않았다...
논문에서는 backbone model로 alpaca-7b 모델을 사용했다고 하는데
alpaca는 llama를 finetuning 한 모델이고...
그럼 "tloen/alpaca-lora" 에서 안내한 모델을 reproduce해서 그걸 한번 더 finetuning 해야하는 건지,
아니면 "huggyllama/llama-7b" 에 LoRA를 finetuning하면 그게 alpaca가 되는 거라서 그대로 사용하면 되는건지...
어렵도다....
사실 내가 LLM implement에 대해 미숙하기도 해서 다른 자료들을 찾아보다가 이 유튜브를 보게 됐다.
여기서 안내해준 바에 따르면 LLM을 finetuning 해주는 PEFT 라이브러리에 버그가 있어서
finetuning 시에 오류가 뜨지 않지만 inference를 해보면 제대로 된 결과를 출력하지 못한다고 한다.
만약 제대로 finetuning이 됐다면, adapter_model.bin 파일의 크기가 67MB 정도가 나와야한다.
하지만 제대로 안됐으면 adapter_model.bin 의 크기가 작게 나온다는데 내가 finetuning 했던 결과는 크기가 작았다.. ㅠ (1KB 정도)
8개월 전 영상이지만 이런 이슈에 대해 업데이트가 안된 듯 하다...ㅠㅠ
그래서 PEFT를 설치할 때, (이미 깔려있다면 uninstall)
pip install -q git+https://github.com/huggingface/peft.git@e536616888d51b453ed354a6f1e243fecb02ea08
이 스크립트로 설치를 해줘야 한다.
일단... 저 버전의 PEFT로 설치하고 다시 finetuning 중인데 결과가 잘 나왔으면 좋겠음....ㅠㅠ