davidkim205 / komt

Korean Multi-task Instruction Tuning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Full finetuning / 8bit lora finetuning 지원 여부

bodybreaker opened this issue · comments

commented

좋은 내용 공유해 주셔서 감사합니다.

komt 모델을 base로 full finetuning 이나 / 8bit lora finetuning도 가능한지 여부를 여쭤보고싶습니다.

감사합니다.

full finetuning과 8bit lora는 다음주정도 코드를 올리겠습니다 News or Update 를 통해 업데이트를 확인하시면 될것 같습니다

commented

@davidkim205 답변 너무 감사드립니다.
몇가지 질문을 더 드려도 괜찮을까요?

  1. 학습코드(finetune_with_lora.py)에서 model_max_length 파라미터를 2048로 제한을 걸어놓으신 이유와
    class TrainingArguments(transformers.TrainingArguments): cache_dir: Optional[str] = field(default=None) optim: str = field(default="adamw_torch") output_dir: str = field(default="output/") model_max_length: int = field( default=2048, metadata={"help": "Maximum sequence length. Sequences will be right padded (and possibly truncated)."}, )

    테스트 코드(usage_komt_with_lora.py)에서 max_new_tokens 을 512로 제한을 걸어놓으신 이유가 궁금합니다.
    def gen(x): generation_config = GenerationConfig( temperature=0.8, top_p=0.8, top_k=100, max_new_tokens=512, early_stopping=True, do_sample=True, )
    (LLAMA2가 4K 컨텍스트 길이로 학습이 되었다고 알고있습니다)

model_max_length에 대한 실험결과 4k보다 2k가 훨씬 좋은 결과가 좋았습니다. 가설을 세우기로는 데이터가 4k가 되는경우가 별로 없어서 나쁘지 않았을까 하고 생각하고 있습니다.
max_new_tokens는 크게 생각하지 않았고 실험한결과 대략 512면 어느정도 대답을 만족스럽게 하기때문에 설정하였습니다. 원하는 값으로 변경해도 문제 없습니다.

4bit/8bit 코드를 추가했습니다. 최신 코드를 받아서 학습하시면 됩니다.
7867909607c4d52437c24cbb225408baf72ae656