예제 git
https://github.com/nkasmanoff/moondream-finetuning
LORA fine-tuning이 적용대상
code를 보면
model의 text decoder 부분이 LoRA가 적용되는 대상인것 같다.
텍스트 블럭 마다 안에 있는 qkv,proj,fc1,fc2를 LoRA레이어로 교체하는것을 알수있다
원본 layer를 freeze
파인튜닝 데이터셋
각 구역을 A/B/C로 나누어 데이터셋을 구축
20장씩 찍고 증강을 적용해서 20 + 80 = 100 장
각 구역 별로 각각 100장씩 학습
lora-rank : 32 / rola-alpa: 64
그래프
| val_accuracy | eval_interval마다 검증셋에서 정답을 정확히 맞춘 비율 |
| lr | 학습률 스케줄 값 |
| initial_val_accuracy | 학습 시작 전, 베이스 모델 상태에서의 검증 정확도 |
| initial_test_accuracy | 학습 시작 전, 베이스 모델 상태에서의 테스트셋 정확도 |
| epoch | 현재 몇 번째 epoch을 도는 중인지 |
| loss/train | 매 step의 학습 loss(answer 토큰에 대한 cross-entropy) |
추론 결과
A 구역
A 첫번쨰 사진
A 두번째 사진
B구역
B 첫번쨰 사진
B 두번째 사진
C구역
C 첫번째 사진
C 두번째 사진
B의 첫번째 사진과 C의 두번쨰 사진을 A사진이라고 인식하는 문제가 생김
학습하는 방법이 잘못 된것도 있겠지만 컴퓨터만 있는 사진이라 특징이 없는것같다.
추론시간 측정
다음검색
