kohya_ss/epoch와-steps설정.md

180 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Max train epoch
training epochs (overrides max_train_steps). 0 = no override
```
### **해석:**
- **"Max train epoch"**: 최대 학습 에포크 수
- **"overrides max_train_steps"**: 이 값을 설정하면 max_train_steps를 **무시함**
- **"0 = no override"**: `0`으로 설정하면 max_train_steps를 **따름**
---
## 🎯 사용 방법
### **케이스 1: Epoch 기준으로 학습** ⭐ 일반적
```
Max train epoch: 10
Max train steps: 0 (또는 비워둠)
```
**결과:** 10 에포크 학습
---
### **케이스 2: Steps 기준으로 학습**
```
Max train epoch: 0
Max train steps: 2000
```
**결과:** 2000 스텝 학습
---
### **케이스 3: 둘 다 설정 (Epoch 우선!)**
```
Max train epoch: 10
Max train steps: 5000
```
**결과:** 10 에포크만 학습 (max_train_steps **무시됨**)
---
## 🔍 우선순위 정리
```
Max train epoch > 0 → 이것만 사용 (steps 무시)
Max train epoch = 0 → max_train_steps 사용
```
---
## 💡 실전 설정
### **일반적인 LoRA 학습:**
```
Max train epoch: 10 ← 여기만 설정
Max train steps: 0 ← 0 또는 비워둠
Save every N epochs: 1
```
### **정밀한 스텝 컨트롤이 필요할 때:**
```
Max train epoch: 0 ← 0으로 설정
Max train steps: 2500 ← 여기 설정
Save every N steps: 500
```
---
## 📊 예시 계산
### **50장, 4회 반복 기준:**
#### **설정 A: Epoch 우선**
```
Max train epoch: 10
Max train steps: 999999 ← 아무리 커도 무시됨
```
**실제 학습:** 50 × 4 × 10 = **2000 스텝**
#### **설정 B: Steps 우선**
```
Max train epoch: 0
Max train steps: 1500
```
**실제 학습:** **1500 스텝** (7.5 에포크)
---
## ⚠️ 흔한 실수
### ❌ **틀린 설정:**
```
Max train epoch: 10
Max train steps: 2000
```
→ Steps 값이 **무시됨!** (Epoch만 적용)
### ✅ **올바른 설정:**
**Epoch 쓰고 싶으면:**
```
Max train epoch: 10
Max train steps: 0
```
**Steps 쓰고 싶으면:**
```
Max train epoch: 0
Max train steps: 2000
```
---
## 🎯 **최종 답변**
### **같은 값 넣으면 되나요?**
❌ **아니요!**
### **어떻게 설정해야 하나요?**
#### **대부분의 경우 (권장):**
```
Max train epoch: 10 ← 원하는 에포크 수
Max train steps: 0 ← 0으로!
```
#### **스텝 수를 정확히 지정하고 싶으면:**
```
Max train epoch: 0 ← 0으로!
Max train steps: 2500 ← 원하는 스텝 수
----------------
총 스텝 = 이미지 수 × 반복 횟수 × 에포크 수
3000 = 100 × 2 × 에포크
3000 = 200 × 에포크
에포크 = 3000 ÷ 200
에포크 = 15
```
---
## ✅ 답: **15 에포크**
### **설정:**
```
폴더명: 2_character_name
이미지: 100장
Max train epoch: 15
Max train steps: 0
```
### **결과:**
```
1 에포크 = 100 × 2 = 200 스텝
15 에포크 = 200 × 15 = 3000 스텝 ✅
✅ 고정 Seed (추천!)
시드: Seed: 42 (또는 1234, 777 등 아무 숫자)
**이유:**
### ✅ **고정 Seed (추천!)**
```
Seed: 42
```
**장점:**
- **재현성** - 똑같은 결과 재생산 가능
- **실험 비교** - 다른 하이퍼파라미터 테스트 시 공정한 비교
- **디버깅** - 문제 발생 시 재현 가능
- **협업** - 다른 사람도 같은 결과 얻을 수 있음
**사용 케이스:**
- 대부분의 경우 ✅
- 하이퍼파라미터 튜닝
- 안정적인 학습 원함
---