Envs

  • python3.10.6
  • ubuntu 22.04
  • pytorch 2.0.0+cu118
  • transformers 4.28.1
  • peft 0.3.0
  • openai 0.27.4
  • accelerate 0.18.0
  • bitsandbytes 0.38.1

Mission

  • Polyglot-ko 모델을 LoRA로 Fine-tuning

  • finetune.py 코드 중, modeltokenizer load 부분을 polyglot 모델에 맞게 AutoTokenizer, AutoModelForCausalLM으로 바꿔준 상태.

figure1

Prob

ValueError: Target modules [q_proj,v_proj] not found in the base model. Please check the target modules and try again.
  • Hparams --lora_target_moduels 오류로 모델에 맞는 값을 적절하게 입력해주면 정상 작동
# `finetune.py` line 44

def train(
    ...
    lora_target_modules: List[str] = [
        "query_key_value"
    ]
)

Issue

  • 1️⃣
    compute capability < 7.5 detected! only slow 8-bit matmul is supported for your gpu!
    

    GPU capability 문제, 무시해도 되는 오류인듯

  • 2️⃣
    # `finetune.py` line 118
    tokenizer.pad_token_id = (
      0
    )
    

    GPT-NeoX tokenizer의 pad_token_id는 2로 설정되어있는데 무시해도 될까? 학습 후, 모델의 성능을 보고 추후에 수정해야 될 듯

  • 3️⃣ adapter_model.bin 파일의 용량이 443kb로 저장되었고 해당 이슈 조사 결과, peft의 버젼 문제로 인한 버그가 생긴듯함
!pip install -q git+https://github.com/huggingface/peft.git@e536616888d51b453ed354a6f1e243fecb02ea08

Issue #317 참고

Ref.