본문 바로가기
Natural Language Processing/Large Language Model (LLM)

[Paper 간단 리뷰] Platypus: Quick, Cheap, and Powerful Refinement of LLMs

by 지구킹 2023. 8. 18.
728x90

몇일 전, Open LLM 리더보드를 갱신한 새로운 LLM 모델이 공개되었다. 모델 뿐만 아니라 데이터도 공개되었다.

 

Backbone 모델은 공개된 LLAMA2 를 활용했으며, 해당 논문에선 아래와 같이 3가지 주제를 설명하고 있다.

  • 공개적으로 활용할 수 있는 curated Open-Platypus dataset
  • 특정 도메인 지식을 반영하기 위해 LoRA 모듈을 fine-tuning하고 merge하는 프로세스
  • test data의 유출 및 train 데이터의 오염을 확인하는 방법에 대한 설명 

눈여겨 볼만한 점은 13B 모델은 A100 GPU 1대에서 5시간 동안 2만 5천개의 질문을 사용해 fine-tuning을 진행했다는 점이다. 따라서 공개된 데이터 셋의 우수성을 입증하며 적은 데이터 셋으로도 강력한 성능을 낼 수 있다는 것을 보여준다.

 

 

Key Contribution

  • Open-Platypus: 11개의 오픈 소스 데이터셋으로 부터 파생된, 큐레이팅된 데이터 셋으로 LLM의 STEM 및 논리 숙련도를 향상시키는 데 중점을 둔다. 주로 사람이 만든 문제로 구성되며 LLM이 생성한 문제는 불과 10%정도밖에 안된다. 
  • 데이터 셋 최적화: 데이터셋의 크기를 줄이고, 데이터 중복을 최소화하기 위해 유사한 데이터 셋은 제외하여 구축했다.
  • 데이터 오염 문제 해결: 공개된 LLM training 데이터셋의 오염 문제를 살펴보고, 이 문제를 해결하기 위한 데이터 필터링 프로세스를 제안한다.
  • Fine-tuning 및 병합: LoRA 모듈을 활용해 fine-tuning하는 프로세스와, 병합하는 부분에 대해 설명한다.
 

Method

  • 다양한 오픈소스 데이터로부터 instruction tuned 데이터 셋을 구축했다.
  • "Content filter'를 했다고 나와있는데, 이것은 STEM 분야 데이터 셋을 주로 활용했다는 것을 의미한다.

  • 10% 정도만 LLM에의해 질문이 생성되었다. 
  • Backbone의 경우 PRM800K (수학관련 데이터셋)의 수정된 버전을 활용했다.
  • Alpaca의 instruction-tuning format을 활용했으며 대부분의 케이스에서 input이 비어있었다.

 

Removing similar & duplicate question

  • 첫번째로, SentenceTransformers의 임베딩의 코사인 유사도가 80%를 초과하는 instruction데이터 셋에 대해서는 제외했다. 이때, 좀 더 자세한 질문-답변 쌍인 데이터를 남겨두었다.

 

Contamination Check

  • 단순한 암기로 인해 결과가 편향되지 않도록 하는데 우선순위를 두었다고 한다.
  • 잠재적 유출을 중복, gray-area, 유사하지만 다른 3가지 범주로 분류했으며, 해당하는 데이터 셋을 train set에서 제외했다.

 

Duplicate

Train 데이터 셋에 Test 데이터 셋을 조금 변형해서 복제한 데이터를 의미한다. 

 

Grey-area

완전히 중복되지는 않지만, 같은 질문에 대해 동음이의어 같은 답변이 포함된 데이터 셋을 의미한다.

 

Similar but different

cosine유사도는 매우 높지만 실질적으로 다른 질문인 경우다. 이러한 경우, 질문의 구조의 미묘한 변화로 인해 다른 답변이 도출될 수 있다고 한다.

 

Fine-tuning & Merging

LoRA를 활용했을 때, 처음에는 fine-tuning을 통해 v_proj, q_proj, k_proj, o_proj와 같은 attention 모듈에 초점을 맞췄다고 한다. 이후에는 gate_proj, down_proj, up_proj 모듈에 초점을 맞췄다고 한다. 해당 모듈의 경우 학습 가능한 파라미터가 전체의 0.1% 미만인 경우를 제외하고는 attention 모듈보다 더 나은 결과를 보여주었다고 한다. 

 

13B, 7B 모델 모두에 적용했을 때, 학습 가능한 파라미터가 각각 0.27%, 0.2%로 나타났다고 한다. 이때, weight matrix는 lora_alpha/lora_rank 로 설정했으며, 높은 alpha value는 LoRA activation에 더 많은 가중치를 할당하게 된다. 이때, alpha를 16으로 선택한 이유는 training script에서 일반적인 관행이며 기본 모델을 압도하지 않기 위해 1:1 비율을 선택했다고 한다.

 

 

Results

2023.08.10 기준 리더보드 1위를 갱신했다.

 

Limitations

해당 모델의 경우 부정확하거나 부적절한 콘텐츠가 생성될 위험성이 있다. 또한 영어로된 STEM 및 논리에 대해 향상된 기능을 제공하지만 영어권에서만 우수한 성능을 보인다는 한계점이 있다.

 

또한, 정의된 학습 데이터셋에 대해 오염이 없다고 확신하지만, 일부 문제에 대해서 오염된 데이터가 존재할 가능성이 있긴 하다. 


확실히 모델이 거대해짐으로써 데이터의 중요성이 지속적으로 강조되는 추세다. 이제는 모델 아키텍쳐의 변화보단 작은 데이터에서 최대의 성능을 이끌어 내는 것이 가장 가성비 있고 중요한 task라고 다시한번 상기된다.

 

 

논문 링크

https://arxiv.org/pdf/2308.07317.pdf

 

 

 

 

728x90

댓글