KoGPT2 챗봇 LoRA 모델
모델 설명
이 모델은 skt/kogpt2-base-v2를 LoRA 방식으로 파인튜닝한 한국어 챗봇 생성 모델입니다.
모델 상세
- Base Model: skt/kogpt2-base-v2
- 파인튜닝 방법: LoRA (Low-Rank Adaptation)
- Task: 텍스트 생성 (Text Generation)
LoRA 설정
- r=16
- lora_alpha=32
- target_modules=["c_attn", "c_proj", "c_fc"]
- lora_dropout=0.05
- bias="none"
- task_type=TaskType.CAUSAL_LM
- trainable params: 2,359,296 (1.85%)
- all params: 127,524,096
학습 설정
- num_train_epochs=10
- per_device_train_batch_size=4
- per_device_eval_batch_size=8
- gradient_accumulation_steps=4
- learning_rate=2e-4
- warmup_steps=100
- fp16=True
- weight_decay=0.01
학습 결과
| Epoch | Training Loss | Validation Loss |
|---|---|---|
| 1 | 0.529200 | 0.497639 |
| 2 | 0.498000 | 0.484564 |
| 3 | 0.483100 | 0.480445 |
| 4 | 0.473700 | 0.473366 |
| 5 | 0.456100 | 0.473739 |
| 6 | 0.444400 | 0.472668 |
| 7 | 0.422700 | 0.473309 |
| 8 | 0.417400 | 0.473552 |
| 9 | 0.413100 | 0.473751 |
| 10 | 0.407000 | 0.474064 |
Best Model: Epoch 6 (Validation Loss: 0.472668)
사용 방법
# 1. 토크나이저 불러오기
tokenizer_reload = AutoTokenizer.from_pretrained(model_name_upload)
# 2. 베이스 모델 불러오기
base_reload = AutoModelForCausalLM.from_pretrained("skt/kogpt2-base-v2")
# 3. 학습할 때와 똑같이 크기 조정!
base_reload.resize_token_embeddings(len(tokenizer_reload))
base_reload.config.pad_token_id = tokenizer_reload.pad_token_id
# 4. LoRA 불러오기
model_reload = PeftModel.from_pretrained(base_reload, model_name_upload)
특징
- LoRA를 사용하여 효율적인 파인튜닝 (전체 파라미터의 1.85%만 학습)
- FP16 mixed precision 학습으로 메모리 효율성 향상
- Gradient accumulation으로 큰 배치 사이즈 효과
Model tree for shaanyy/kogpt2-chatbot-lora
Base model
skt/kogpt2-base-v2