Computer Vision💖/Domain (DA & DG)
[Daily] CLIMB: CLustering-based Iterative Data Mixture Bootstrapping for Language Model Pre-training
당니이
2025. 4. 19. 04:04
반응형
지금 하고있는 연구랑 비슷해서 좀 자세히 읽어봤당 역시 OOD 재밌다
TLDR;
- Web data는 보통 web에서 수집되기 때문에 explicit domain label이 없는데, domain-specific training을 위해 optimal pre-training data mixture를 identify하는건 어려운 문제임.
- Cluster-based로 최적의 data mixture weight를 도출하는 framework -> Efficient domain-specific pre-training
Motivation
- Domain-specific task의 성능을 올리는데는 final pre-training phase가 중요하다고 함.
- General/ domain-specific task에 맞는 pre-training data mixture를 도출하는건 어려운 문제임.
- 예를 들어 coding task를 푸는데는 mathematics, reasoning, and security 등의 complementary knowledge가 쓰일 수 있다.
Method
- Efficient domain-specific training을 가능하게 하는 data mixture optimization 방법 제안
1. Clustering
- 각 raw dataset에 대해 embedding model로 text embedding을 추출한 뒤, kmeans로 clustering
- Pruning: low-quality cluster를 지움
- Merge: 유클리디안 거리 기반으로 similar한 cluster를 merge
2. Iterative Bootstrapping: Mixture Weight Search
- Sampling mixture weight (domain-specific cluster를 어떻게 섞을까 인 것 같음)를 optimize 하기 위한 과정
- Bi-level optimization problem으로 푼다
- 궁극적으론 task performance를 최대화 하는 mixture weight $\alpha$를 구하는 것
- 근데 이렇게 모든 alpha configuration을 시도해서 task performance를 보기엔 학습을 일일이 다 해야해서 너무 time-consuming 함
- 따라서 task performance를 approximate 할 수 있는 proxy model을 학습시킨다.
- 이 proxy model은 아무 regression model이나 가능하다.
- 결국 이 proxy model을 이용해 특정 configuration의 performance를 approximate 한 후 task performance를 maximize하는 적절한 alpha (weight 조합)을 찾는게 목표이다.
- Iterative하게 bootstrap 한다
- 랜덤으로 initialize한 주어진 configuration 중에서 성능이 가장 높은 top N을 고르고, 이를 이용해 predictor를 학습해 alpha를 도출한다. 이 과정을 반복함. (Iteration)
Experiments
- Domain specific한 밴치마크와 general한 밴치마크에서 모두 좋은 성능을 보인다.
- Weight analysis -> iteration을 거듭할수록 weight이 modify 된다.
반응형