-
[논문 리뷰] 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
LLM2LLM 아키텍쳐 LLM2LLM 알고리즘 - 훈련 데이터로 모델을 훈련하고 평가한다.
- 훈련 데이터에서 틀린 답변을 선택하여 교사 모델과 스타일이 비슷한 추가 샘플을 생성하는 데 입력으로 사용한다.
- 이제 이전 훈련 데이터와 새로 생성된 샘플을 결합하여 새로운 학생 모델을 훈련한다.
- 모델을 미세 조정한 후 평가하여 모델이 틀린 질문을 찾는다.
- 교사 모델은 잘못된 예시를 기반으로 유사한 개념과 아이디어를 테스트하는 추가 데이터 포인트를 생성하는 데 사용된다.
- 이러한 합성 데이터 포인트는 훈련 데이터 세트로 다시 삽입된다.
- 이 프로세스는 반복되면서 학생 모델은 점점 더 세분화된 데이터 포인트로 훈련된다.
해당 방법은 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
LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement
Pretrained large language models (LLMs) are currently state-of-the-art for solving the vast majority of natural language processing tasks. While many real-world applications still require fine-tuning to reach satisfactory levels of performance, many of the
arxiv.org
https://github.com/SqueezeAILab/LLM2LLM
GitHub - SqueezeAILab/LLM2LLM: LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement
LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement - SqueezeAILab/LLM2LLM
github.com
https://arxiv.org/abs/2302.13007
AugGPT: Leveraging ChatGPT for Text Data Augmentation
Text data augmentation is an effective strategy for overcoming the challenge of limited sample sizes in many natural language processing (NLP) tasks. This challenge is especially prominent in the few-shot learning scenario, where the data in the target dom
arxiv.org
https://arxiv.org/abs/1901.11196
EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks
We present EDA: easy data augmentation techniques for boosting performance on text classification tasks. EDA consists of four simple but powerful operations: synonym replacement, random insertion, random swap, and random deletion. On five text classificati
arxiv.org
반응형'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 논문집 (1) 2021.11.16 BERTopic 이란? (1) 2021.06.24 자연어 처리 엔지니어의 역량 (0) 2021.05.24