일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- gemma-3
- diffusion
- gemma2
- transformer
- multi-gpu
- instruction tuning
- CPT
- Lora
- vLLM
- backbone
- ViT
- PEFT
- gemma-3-27b-it
- tensor-parallel
- sfttrainer
- nccl
- Gemma
- error: mkl-service + intel(r)
- llm
- langchain
- llama-4-scout-17b-16e-instruct
- lora+
- prompt
- domain-adapted pre-training
- glibcxx
- llama-4
- Mac
- ubuntu
- Text-to-Image
- Fine-tuning
- Today
- Total
목록sfttrainer (2)
꾸준하게
instruction tuning 시, (항상은 아니지만) instruction 부분 토큰은 학습에 포함되지 않도록 하는데, 그에 관한 코드를 기록하기 위해 글을 작성하였다. CustomDataset과 collate_fn을 SFTTrainer의 인자값으로 넣어주면 된다.아래 코드는 multi-turn tuning시에도 적용 가능한 코드이다. class CustomDataset(Dataset): def __init__(self, chats, tokenizer, max_length): self.data = chats self.tokenizer = tokenizer self.max_length = max_length self.IGNORE_INDEX = -..
지금까지 QLoRA에서 Q가 LoRA에 붙어있으니 당연히 LoRA에 적용되는줄 알았다..디버깅 해보니, LoRA는 fp16, base model layer들은 uint8로 찍힌다. 이때, 4bit가 아닌 8bit로 보이는 이유는, 겉으로는 8bit로 보이지만 내부적으로 2개의 weight를 하나의 8bit로 합쳐서 저장하기 때문으로, 실제로는 4bit로 저장되는게 맞다고 한다.bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=False,)device_map = {"": devic..