본문 바로가기
Study (Data Science)/NLP

데이터를 많이 줄래, 에포크를 많이 줄래?

by 콜라찡 2024. 5. 21.

Finetune = Upstream(라벨링 안된 거대 llm모델 사용) + Downstream (라벨링된 데이터 일부 사용)

many data vs. many epochs

 

학습이 잘되게 하는 법은 데이터를 늘이거나, 에포크를 늘이거나.

즉 학습할 지식이 많거나, 반복학습으로 잘 익히거나.

지식을 더 때려 넣을것이냐 vs 학습을 더 많이 시킬것이냐.

정답은? 

지식을 많이 주고, 에포크를 낮추는게 더 좋았다.

(N = data 수, D = diversity. 10개로 1번 학습하면 d=1, 10번 학습하면 d=0.1)

 

그럼 데이터셋을 확장하려고 한다면, 어떻게 다양성을 증가시킬 수 있는가?

 

더 다양한 소스에서 데이터를 수집하거나, 다양한 언어로 수집하거나, 라벨링된 데이터를 추가로 수집하거나, 데이터셋 내의 불균형 문제를 해결해서 특정 클래스에 치우치는 것을 줄이거나, 혹은 생성모델이나 코드로 augmentation할 수 있다.

하지만 우리는 보통 전이학습을 이용하고 있고(=다 된 gpt를 api로 가져다 쓰고 있고), 데이터셋을 늘이면 llm을 다시 학습시켜야 하기 때문에 리소스가 어마하게 들어간다.

 

그게 파인튜닝보다는 rag를 선호하는 이유.

rag는 학습을 어떻게 할까를 더이상 고민하지 않는다.

 

728x90

댓글