-
[논문 리뷰] LLM2LLM: Boosting LLMs with Novel Iterative Data EnhancementBIG DATA & AI/NLP 2024. 4. 10. 23:32반응형
복학을 하고
(추가등록도 하고)졸업준비를 하면서 최근에 스터디 2개를 열심히 돌리고 있다. 그 중 하나는 한 스타트업이 진행하는 스터디 방식을 차용한 흥미로운 방식으로 진행하고 있는데, 각자 논문을 준비해서 15분~20분간 읽고 15분간 의견을 공유하면서 퀵하게 진행하는 방식이다. 이번주면 3주차인데, 해 본 결과 15분이라는 시간 자체가 논문 하나를 정독하기에는 버겁고 빠르게 skimming해야 해서 집중력이 장난 아니다. 혼자서 1시간동안 흐린 눈으로 붙잡고 읽는 것보다 훨씬 효율이 좋아서 애정하고 있다.각설하고, 스터디 중 그냥 최근에 나온 LLM 논문을 무심코 읽어봤는데 (무려 arXiv:2403.15042!) 너무 마음에 들었던 논문이 있어서 휴일에 다시 정독하면서 꼭꼭 씹어 먹어본 결과를 공유하고자 한다.
Abstract
본 논문은 제한된 데이터에서 대규모 언어 모델(LLM)의 성능을 향상시키는 방법에 관한 것이며 LLM2LLM이라는 일종의 프레임워크를 제시한다. LLM2LLM은 Teacher LLM을 사용하여 Student LLM이 맞추지 못한 문제를 다시금 augmentation하여 데이터를 생성한다. 그 후 해당 데이터를 Student LLM을 미세 조정하는 데 사용하면서 iteration을 도는 방식이다.
(1) fine-tunes a baseline student LLM on the initial seed data,
(2) evaluates and extracts data points that the model gets wrong, and
(3) uses a teacher LLM to generate synthetic data based on these incorrect data pointsIntroduction
다양한 benchmark와 dataset에서 LLM이 활약하는 요즘, 그 한계를 꼬집으면서 시작한다. 하나의 극작품을 읽는 것처럼 굉장히 웅장하게(?) 시작해서 이 부분이 상당히 흡입력 있다고 생각했다.
Prompting strategy는 one-size-fits-all solution이 아니며ㅡ가령 context length의 제한이라던지ㅡ RAG를 사용하여 이러한 어려움을 해결하고자 하지만 때때로 관련이 없는 문맥을 retrieve 하기도 하고, 본질적으로 latency나 cost issue를 해결해주지는 않는다. Cost 최적화라고 함은 또 PEFT(Parameter Efficient Fine-Tuning)가 빠질 수 없는데, 결국에는 성공적인 fine-tuning은 training data가 충분할 때 이루어진다-라는 일종의 교착에 빠지게 된다. 결국 우리가 직면한 question은: how should we increase the user's training data to be enough for fine-tuning? 이라는 내용.
Data augmentation은 NLP에서 그동안 다양한 형태로 시도되었는데,
- Synonym replacement
- Character replacement
- Random swapping
- Back translation ...
이러한 접근법들은 새로운 데이터 또는 특화된 task에서 효과적으로 동작하지 않는다. 이에 Teacher-Student LLM 구조를 이용하면서 self-instruct & boosting style의 data augmentation을 제안한다. 심지어 기존의 방법 대비 30%를 순회하는 성능을 보여준다고 한다.
Methodology
- 훈련 데이터로 모델을 훈련하고 평가한다.
- 훈련 데이터에서 틀린 답변을 선택하여 교사 모델과 스타일이 비슷한 추가 샘플을 생성하는 데 입력으로 사용한다.
- 이제 이전 훈련 데이터와 새로 생성된 샘플을 결합하여 새로운 학생 모델을 훈련한다.
- 모델을 미세 조정한 후 평가하여 모델이 틀린 질문을 찾는다.
- 교사 모델은 잘못된 예시를 기반으로 유사한 개념과 아이디어를 테스트하는 추가 데이터 포인트를 생성하는 데 사용된다.
- 이러한 합성 데이터 포인트는 훈련 데이터 세트로 다시 삽입된다.
- 이 프로세스는 반복되면서 학생 모델은 점점 더 세분화된 데이터 포인트로 훈련된다.
해당 방법은 EDA(Easy Data Augmentation)과 AugGPT와 비교분석하여 기술된다. 두 논문은 추가적으로 읽어보려 한다. 특히 AugGPT는 가능한 모든 data point에 대하여 prompted LLM을 사용했으나, 본 LLM2LLM은 Student LLM이 맞추지 못한 challenging examples에 대하여 augment를 사용했다는 점을 강조하고 있다.
또한 LLM2LLM은 knowledge distillation과는 다르다는 점이 흥미로웠는데, 이 부분은 skimming 할 때 알지 못했던 부분이었다! 심지어 같이 스터디했던 친구도 언뜻 듣고 knowledge distillation 논문이네~ 라고 단정지었는데, 해당 분야로 치기에는 일반적으로 teacher model이 이미 high accuracy임을 가정한 상태에서 적용 가능하다고 한다. Domain-specific fine-tuning을 위한 저자의 자부심..이 엿보인다.
Results
각 데이터셋과 방법론에 대하여 간략하게 덧붙여 정리하였다. 다른 augmentaion 방법론과 비교해서 20%~50%의 성능 향상으로, 실로 놀라운 결과를 보여주었다.
Student LLM으로는 LLaMA-2-7B를, Teacher LLM으로는 GPT-3.5 (1106 release) 를 사용하였고 더 좋은 모델을 쓸수록 성능이 향상된다고 언급하였다. 개인적으로 dataset과 inference 비용으로 때려박는 각박한 세상 속(?) 영세한 환경에서 LLM을 돌리는 나에게 sLLM을 기준으로 실험한 점이 마음에 들었다. ┏ (゜ω゜)=☞
Ablation Studies
해당 실험에서는 아래 3가지 결과를 보여주었다. 첫번째와 두번째는 이론적으로 그럴 것 같고, 실제로도 그러하다 느낌으로 넘어갔는데 마지막 실험에서 countinuous 방식보다 from-scratch 방식이 더 잘 나온다는 사실은 나름 흥미로웠다.
- Iterative Augmentation > One-Shot Augmentation
- Data Augmentation with Seed Data > Augmented Data
- From-Scratch Fine-tuning > Continuous Fine-tuning
Conclusion
앞서 기술했던 실험 결과를 정리하면서 future work로 LLM2LLM framework에서의 hyperparameter 조정, 그리고 prompt tuning이나 few-shot learning과 같은 다른 LLM 테크닉과의 결합을 제안한다.
Related Documents
https://arxiv.org/abs/2403.15042
https://github.com/SqueezeAILab/LLM2LLM
https://arxiv.org/abs/2302.13007
https://arxiv.org/abs/1901.11196
반응형'BIG DATA & AI > NLP' 카테고리의 다른 글
[논문 리뷰] PRIDE: Predicting Relationships in Conversations (0) 2022.03.09 Stanford CS224N: Youtube Link and Materials (0) 2022.03.08 HCLT 2021 논문집 (0) 2021.11.16 BERTopic 이란? (1) 2021.06.24 자연어 처리 엔지니어의 역량 (0) 2021.05.24