✏️Transfer Learning & Fine Tuning
- Transfer Learning : 다른 데이터셋으로 만든 모델을 현재 데이터에 적용
-> backbone model(학습된 모델 = pretrained model)을 가져와서 우리 target에 맞춘 fine tuning을 진행하는 것이 현재 DL에서 가장 일반적인 학습 기법.
- 일반적으로 대용량 데이터셋으로 만들어진 모델에 성능 ⬆
model.save()
- colab에서는 session time이 제한되어 있어서, model 학습 시간이 session time을 넘기면 학습 내용이 날라갈 수 있기에 항상 중간 학습 과정을 기록(저장) 해주는 것이 좋다.
- 모델 형태(architecture) + parameter 저장 가능
- parameter만 저장 가능
checkpoints

- 학습 중간 결과를 저장 → 최선의 결과를 선택
- early stopping 사용 가능; 사용 시 이전 학습의 결과물을 저장
- epoch, loss, metric을 지속적으로 함께 확인 저장
pretrained model for transfer learning
- NLP는 HuggineFace가 사실상 표준
- Freezing
- pretrained model을 활용 시 모델의 일부분을 freeze 시킴
- parameter update를 정지 → back propagation이 일부 layer에서만 일어나게 함
- 일반적으로 긴 학습 시간이 소요 → 학습 과정의 기록이 필요
- 좋은 도구들이 많다.
- Tensorboard → Tensorflow
- weight & biases (w and b) → PyTorch
Tensorboard
- TensorFlow의 프로젝트로 만들어진 시각화 도구
- computational graph(학습 그래프), metric, 학습 결과의 시각화 지원
- PyTorch도 연결 가능 → DL 시각화 핵심 도구
- scalar : metric 등 상수 값의 연속(epoch)을 표시
- graph : 모델의 computational graph 표시
- histogram : weight등 값의 분포를 표현
- image : 예측 값과 실제 값을 비교 표시
weight % biases
- MLOps 대표적인 툴로 저변 확대 중인 상용 도구 (부분 무료)
- 협업, code versioning, 실험 결과 기록 등 제공