1. Pre-Training Dataset의 역할
-
대규모 데이터로써 모델로 하여금 언어에 대한 이해능력을 습득시킴
-
고퀄리티의 데이터로 학습해야 좋은 언어 능력을 보임
-
오픈 소스로 현재 많은 Pre-Train 데이터셋이 공개됨.
- TogetherComputer, RedPajama
- EleutherAI, The Pile
- FalconLLM, RefinedWeb
- 약 10억개의 웹 페이지
- score system을 활용하여 URL Filtering 진행
- 국립국어원, 모두의 말뭉치
- AIHub
- 한국어는 트릴리언 단위의 데이터셋을 구성하기가 영어보다는 힘들다...
- CommonCrawl
- 웹 크롤링 및 아카이빙을 지속적으로 진행하여 오픈소스로 데이터를 공개하는 비영리조직
- HTTP 기반 크롤링 API 제공
- FastText
- Word Embedding 및 텍스트 분류 학습용 Python 라이브러리이다.
- 각 word의 subword information 정보를 활용하여 벡터화
- 의미적으로 동일한지 파악하는 용도로 사용함
- Trafilatura
- 긁어와도 광고 같은 것들은 필요 없으므로 그런 정규화를 위해 사용됨
이외에도
- DataTrove
- EleutherAI DPS
등의 전처리 도구들이 있다.
2. Hugging Face Fine Web
15T를 제공하는 최초의 오픈소스 데이터셋
- LLaMA 3를 재현해보자 !
- 최초는 CommonCrawl
- RefinedWeb의 전처리 프로세싱을 참고
- Computing Cost를 절반 가까이 줄여줄 정도로 효과적인 데이터셋으로 알려짐
- FineWeb-Edu
교육적 내용만 담은 버전
- LLaMA 70B 모델을 활용하여 Annotation model로 평점을 매개 일정 쓰레스 홀드 이상의 데이터들만 선별해 학습시킴.
- 압도적으로 적은 데이터셋으로 좋은 성능을 이끌어 냄 ex) phi3
- MarkDown text는 성능에 악영향이 있기에 해당 marker는 다 제거함.
- 일반지식 5, 수학-추론 2.5 코드 1.7 다국어 0.8
3. 프로젝트에의 적용점
데이터셋을 마련하는 데 있어서
앞서 구비된 프로세스들을 잘 참고해서 적절한 정제와 필터링으로 high quality의 데이터셋을 만들자.