티스토리 뷰

https://colab.research.google.com/drive/1whHb54GNZMrNxIsi2wm2EY_-Pvo2QyKh?usp=sharing

 

Qwen2 Vision Finetuning Unsloth - Maths OCR.ipynb

Colab notebook

colab.research.google.com

 

위 코드 따라서 unsloth 기반으로 qwen2vl 7b모델을 unsloth/LaTeX_OCR 데이터셋으로 학습시켜보고있다.

 

 

(수식 이미지, Latex format으로 변환된 식=Label) 이렇게 Pair로 데이터셋이 존재한다.

 

여기서 뭘 주의해야하냐...

 

800x800 해상도 크기의 이미지와 

 

아웃풋 텍스트의 길이가 500을 초과하는 샘플들이 존재한다.

 

그래서 학습 돌다가 이런 샘플들에 대한 처리를 하는 순간 메모리 사용량이 크게 증가한다. 아 사실 학습 과정 내부를 정확히 몰라서 단언은 못하는데 이미지 해상도가 크면 입력 토큰수가 늘어나는 구조인 거 같고(인퍼런스 단계에서는 확실히 입력 이미지의 해상도와 메모리 사용량이 비례한다. 그래서 학습도 마찬가지이지 않을까란 생각), Label의 길이가 커지면 아웃풋 토큰의 수가 늘어나는 거니 위 두 케이스에서 메모리 사용량이 크게 증가하고 OOM 뜨면서 학습이 종료된다.

 

위 unsloth 공식 예제 코드에서는 배치사이즈를 2로 설정하여 24기가 GPU로 학습시킬때는 무리없이 돌아가는데 배치사이즈를 키우고 max_step대신에 1에폭 돌게 해보면 한 1시간 돌다가 OOM을 마주하게된다...

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함