본문 바로가기

인공지능

Cosmopedia: 대규모 사전 훈련 데이터셋 구축 방법론

728x90
반응형

자연어 처리 분야의 최근 발전은 대형 언어 모델(LLM)의 학습을 위해 합성 데이터를 점점 더 많이 활용하고 있습니다. 그러나 대규모 사전 훈련 데이터셋을 구축하는 과정은 여전히 만만치 않은 도전 과제입니다. 본 포스트에서는 Huggingface 팀이 제안한 Cosmopedia 프로젝트를 통해 이러한 도전 과제들을 해결하고, 대규모 사전 훈련 데이터셋을 구축하는 데 사용된 방법론을 설명하고자 합니다.

반응형

SELF-INSTRUCT와 Evol-Instruct의 한계

SELF-INSTRUCT와 Evol-Instruct 방법론은 인간의 개입 없이 자동으로 파인 튜닝 데이터셋을 생성할 수 있는 능력으로 많은 주목을 받았습니다. 그러나 이러한 접근 방식은 파인 튜닝에 필요한 데이터를 생성하는 데 한정되어 있으며, 다양성이 풍부한 대규모 데이터가 필요한 사전 훈련에는 적합하지 않습니다. 이러한 한계를 극복하기 위해 Huggingface 팀은 Cosmopedia 프로젝트를 시작하여 대규모 사전 훈련 데이터를 생성하는 새로운 접근 방식을 제안했습니다.

Cosmopedia: 사전 훈련을 위한 합성 데이터 활용

Cosmopedia는 수천 개에서 수백만 개의 샘플로 확장하여 LLM 사전 훈련에 적합한 데이터셋을 구축하는 것을 목표로 합니다. 기존의 instruction-tuning 데이터셋과는 달리, Cosmopedia는 대규모 사전 훈련 데이터셋을 구축하는 데 따른 고유한 도전 과제를 다룹니다. 이 프로젝트는 합성 데이터를 활용해 놀라운 성능을 보여준 Microsoft의 Phi 시리즈 모델에서 영감을 받았으며, 오픈 소스 모델을 활용하여 더욱 다양하고 대규모의 데이터셋을 생성하는 접근 방식을 취했습니다.

Cosmopedia의 데이터 구성

Cosmopedia 프로젝트는 대규모 합성 데이터를 생성하기 위해 두 가지 주요 전략을 사용합니다: **선별된 출처(Curated Sources)**와 **웹 데이터(Web Data)**입니다. 이 두 가지 출처를 결합하여 Cosmopedia는 3천만 개 이상의 파일과 250억 토큰의 합성 데이터를 생성했습니다.

1. 선별된 출처(Curated Sources)

Stanford 강의, Khan Academy, OpenStax, WikiHow 등 신뢰할 수 있는 교육 자료를 활용하여 LLM 학습을 위한 다양한 주제를 구축했습니다. 이러한 출처들은 높은 품질의 교육적으로 가치 있는 콘텐츠를 제공합니다. 다양성을 높이기 위해 동일한 주제를 여러 청중에게 맞추어 다양한 형식으로 제시하였습니다. 예를 들어, 하나의 주제를 어린이, 대학생, 전문가를 대상으로 각각 교과서, 블로그 포스트, 혹은 안내서 형식으로 재구성하였습니다.

이 방법은 콘텐츠의 질을 보장하지만, 사용 가능한 주제의 수가 제한적이기 때문에 원하는 데이터셋 크기로 확장하는 데는 어려움이 있습니다.

2. 웹 데이터(Web Data)

대규모 데이터셋을 확보하기 위해 웹 데이터가 주요 구성 요소로 사용되었습니다. RefinedWeb이라는 대규모 웹 데이터셋을 Mixtral 모델을 사용해 145개의 주제 클러스터로 분류하였고, 이 중 교육적 가치가 있다고 판단된 112개의 주제를 선택해 사용했습니다. 이를 통해 2천3백만 개 이상의 프롬프트가 생성되었으며, 이는 전체 Cosmopedia 프롬프트의 80% 이상을 차지합니다. 이 접근 방식은 대규모 프롬프트 생성을 가능하게 했으며, LLM에게 교과서 스타일의 콘텐츠를 생성하도록 지시하는 데 사용되었습니다.

3. Instruction 데이터셋과 이야기 생성

모델의 일상적인 지식과 기본 상식을 향상시키기 위해 Instruction 데이터셋인 UltraChat과 OpenHermes2.5를 활용하여 이야기 콘텐츠를 생성했습니다. 이러한 데이터셋은 기본 지식과 일상 정보를 포함한 이야기를 생성하는 기초로 사용되었으며, 이를 통해 모델의 이해 능력을 더욱 향상시켰습니다.

벤치마크 데이터 정화 과정

합성 데이터를 생성할 때 중요한 점은 벤치마크 데이터가 학습 데이터에 포함되지 않도록 하는 것입니다. 이는 데이터 오염과 성능 평가의 왜곡을 방지하기 위한 것입니다. 이를 위해 Cosmopedia는 벤치마크 데이터 정화(decontamination) 과정을 도입했습니다:

  • 먼저, 벤치마크 데이터와 합성 샘플 간의 잠재적 중복을 식별하기 위해 10-gram 오버랩 분석을 수행했습니다.
  • 이후 difflib.SequenceMatcher를 사용하여 상세 비교를 수행하였고, 일치하는 부분의 비율이 벤치마크 샘플 길이의 50%를 초과할 경우 해당 샘플을 제거했습니다.

이와 같은 철저한 정화 과정을 통해 Cosmopedia 데이터셋은 오염되지 않은 상태를 유지할 수 있었으며, 모델의 성능을 보다 정확하게 평가할 수 있었습니다.

Cosmo-1B 모델의 학습 및 평가

Cosmopedia 데이터셋을 사용하여 Llama2 아키텍처를 기반으로 하는 10억 개의 파라미터를 가진 모델을 학습시켰습니다. 결과적으로 생성된 Cosmo-1B 모델은 TinyLlama 1.1BQwen-1.5-1B와 같은 유사한 크기의 모델들에 비해 ARC-easy, ARC-challenge, OpenBookQA, MMLU 등의 여러 벤치마크에서 우수한 성능을 보였습니다. 모델의 성능은 Phi-1.5와 비교해도 유사한 수준이었으나, 합성 데이터 생성의 품질, 주제의 다양성, 프롬프트 구성 등의 요인에 의해 일부 성능 격차가 있는 것으로 분석되었습니다.

728x90

결론

Cosmopedia는 대규모 사전 훈련 데이터셋 구축에 있어 중요한 통찰을 제공합니다. SELF-INSTRUCT나 Evol-Instruct와 같은 기존 방법이 파인 튜닝에 초점을 맞춘 반면, Cosmopedia는 다양한 합성 데이터 출처를 활용하여 사전 훈련 데이터셋을 만드는 새로운 접근 방식을 제시했습니다. 이를 통해 누구나 고품질의 LLM 사전 훈련이 가능해지는 길을 열었습니다.

이번 포스트에서는 Cosmopedia에서 사용된 다양한 데이터 출처, 분류 방법, 벤치마크 데이터 정화 기법을 다루었으며, 사전 훈련 데이터 구축에 관심이 있는 AI 연구자들에게 유용한 시각을 제공하고자 합니다. 앞으로 이 분야에서 더 많은 연구와 발전이 이어지기를 기대합니다.

https://huggingface.co/blog/cosmopedia

 

Cosmopedia: how to create large-scale synthetic data for pre-training Large Language Models

Cosmopedia: how to create large-scale synthetic data for pre-training In this blog post, we outline the challenges and solutions involved in generating a synthetic dataset with billions of tokens to replicate Phi-1.5, leading to the creation of Cosmopedia.

huggingface.co

 

728x90
반응형