최근(2023.07)에 나온 논문을 읽어보고 간단히 정리했습니다.
혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇♂️
FLAN-MINI 데이터셋을 대상으로 LLaMA 모델을 Fine-tuning with LoRA 하여 다양한 태스크 수행 능력과 코드 해석 능력을 준수하게 끌어올린 모델, Flacuna
- 배경
ChatGPT를 필두로 LLM들이 다양한 분야와 태스크에서 우수한 성능을 보이고 있습니다.
그럼에도 불구하고 strong reasoning & problem solving 능력이 요구되는 태스크들에 대해서는 여전히 T-5 based 모델들이 더 좋은 퍼포먼스를 보입니다.
본 논문에서는 그 주요 원인을 (1) Pre-training data, (2) Backbone architecture, (3) Instruction dataset으로 파악하고, 이중에서 (3) Instruction dataset을 개선하는 연구를 진행했습니다.
ShareGPT의 데이터를 학습한 것으로 잘 알려진 Vicuna 모델에, FLAN 데이터셋에서 일부를 sampling하여 가공한 FLAN-MINI 데이터셋을 fine-tuning하여 만든 것이 FLACUNA입니다.
- 특징
- 15M 사이즈의 FLAN 데이터셋에서 추출한 1M 사이즈의 FLAN-MINI를 데이터셋으로 활용합니다. 다른 연구에서와 마찬가지로 데이터셋의 diversity를 보존하고자 했습니다.
- LoRA 기법을 적용하여 VICUNA 모델을 tuning 했습니다. 연산에 필요한 파라미터 개수를 줄이면서도 준수한 성능을 유지할 수 있도록 하는 기법을 적용했습니다.
- 다른 LLM들이 보이는 우수한 Chatting 능력을 갖출 수 있도록 대화 기반의 데이터를 충분히 활용했습니다. 예를 들면 위에서 언급한 ShareGPT의 데이터가 포함됩니다.
- 0 / few-shot Problem-solving, HHH(honesty, helpfulness, harmlessness), Writing Evaluation을 수행했고, writing 태스크에 대해서만 아쉬운 성적을 보였습니다.
- 한계
- instruction에 대한 불완전한 이해를 바탕으로 hallucination 현상을 보임이 확인되었습니다.
- problem-solving 태스크에 대해서는 FLAN-T5에 비해 여전히 낮은 퍼포먼스를 보입니다.
- 코딩 관련 태스크에 대해서도 열등한 성능을 보입니다.
- 입력 길이가 최대 1280으로 제한되어 있습니다.
- 개인적 감상
최근에는 이런 식으로 연산량을 최소화하면서 모델의 성능을 준수하게 유지하고자 하는 형태의 연구가 많이 이뤄지는 것 같습니다.
아무래도 대다수의 연구자들이 LLM을 직접 다루고 실험하기에는 자원적인 한계에 부딪힐 수밖에 없기 때문에 그렇죠.
그러다보니 이렇게 데이터에 집중하는 방식이 주목받는 것 같습니다.
대화형 LLM을 만들기 위해서는 instruction, CoT 등에 집중하는 것 같고, 또 연산량을 줄이기 위해서는 LoRA가 정말 다양하게 적용되는 것 같습니다.
본 논문에서 다소 아쉬운 점은 앞으로의 발전 방향성을 들 수 있을 것 같습니다.
논문을 보면 FLAN 데이터셋의 1/15만을 추출한 것으로 준수한 성능을 낸 점을 강조하는데, 아이러니하게도 모델의 성능을 높이기 위해 FLAN 데이터셋으로 학습할 수 있다는 점을 future works로 제시합니다.
연산량과 모델의 성능을 효율적으로 trade-off하겠다는 본래의 취지를 놓친 상태에서 진행한 연구인가, 의문이 들었습니다 🧐