학습에 사용되는 공개 말뭉치 데이터
실제로는 일반적으로 하나의 말뭉치 대신 다양한 데이터 소스를 혼합하여 LLM을 사전 훈련하는 방식
- GPT-3 (175B)는 CommonCrawl, WebText2, Books1, Books2, Wikipedia를 포함한 300B 토큰의 혼합 데이터셋으로 훈련
- PaLM(540B)은 소셜 미디어 대화, 필터링된 웹페이지, 책, Github, 다국어 위키백과, 뉴스에서 가져온 780억 개의 토큰으로 구성된 사전 학습 데이터 세트로 훈련
- LLaMA는 CommonCrawl, C4, 깃허브, 위키피디아, 서적, 아카이브, 스택익스체인지 등 다양한 소스에서 트레이닝 데이터를 추출함. LLaMA(6B) 및 LLaMA(13B)의 훈련 데이터 크기는 1.0T 토큰이며, LLaMA(32B) 및 LLaMA(65B)에는 1.4T 토큰이 사용됨
콘텐츠 유형에 따라 말뭉치를 6가지 그룹으로 분류
Book, Common Crawl, Reddit 링크, Wikipedia, 코드 및 기타.
1. Books
BookCorpus
https://paperswithcode.com/dataset/bookcorpus
이전의 소규모 모델(GPT, GPT-2) 에서 일반적으로 사용
다양한 주제와 장르(예: 소설, 전기)의 11,000권 이상의 책으로 구성
프로젝트 구텐베르크
소설, 에세이, 시, 드라마, 역사, 과학, 철학 및 기타 유형의 저작물을 포함한 70,000여 권의 문학 도서로 구성
현재 가장 큰 오픈 소스 도서 컬렉션 중 하나로 MT-NLG 및 LLaMA의 훈련에 사용
Books1 및 Books2
GPT-3.5 학습에 사용, BookCorpus보다 훨씬 크지만 아직까지 공개되지 않음
2. CommonCrawl
가장 큰 오픈소스 웹 크롤링 데이터베이스 중 하나로 페타바이트 규모의 데이터를 포함
기존 LLM의 학습 데이터로 널리 사용되어 왔으나 웹 데이터에는 노이즈가 많고 품질이 낮은 정보가 광범위하게 존재하기 때문에 사용하기 전에 데이터 전처리를 수행해야 함
CommonCrawl을 기반으로 기존 작업에서 일반적으로 사용되는 필터링된 데이터 세트
콜로살 클린 크롤링 코퍼스(C4)
en(806G), en.noclean(6T), realnewslike(36G), web- textlike(17G), 다국어(38T)를 포함
CC-Stories(31G)
CommonCrawl 데이터의 하위 집합, 콘텐츠가 스토리와 같은 형태임, 현재는 CC-Stories의 원본 소스는 사용할 수 없고 CC-Stories-R을 사용
리얼뉴스(120G)
CC-News(76G)
3. Reddit
사용자가 링크와 텍스트 게시물을 제출할 수 있는 소셜 미디어 플랫폼
PushShift.io 말뭉치는 생성일 이후 Reddit의 과거 데이터로 구성된 실시간 업데이트 데이터 세트이며 월별 데이터 덤프뿐만 아니라 사용자가 전체 데이터셋을 검색, 요약 및 예비 조사를 수행할 수 있도록 지원하는 유용한 유틸리티 도구도 제공
4. 위키피디아
다양한 주제에 대한 방대한 양의 고품질 문서를 보유한 온라인 백과사전
영어 전용 필터링된 Wikipedia 버전은 대부분의 LLM에서 사용(GPT-3, LaMDA, LLaMA)
여러 언어로 제공되므로 다국어 설정에서 사용가능
5. 코드
코드 데이터를 수집은 인터넷 오픈소스 코드를 크롤링
두 가지 주요 소스는 GitHub와 StackOverflow
구글은 다양한 프로그래밍 언어의 오픈소스 라이선스 코드 스니펫이 포함된 빅쿼리 데이터셋을 공개적으로 재임대하여 대표적인 코드 데이터셋으로 사용
6. 기타
더미
책, 웹사이트, 코드, 과학 논문, 소셜 미디어 플랫폼 등 다양한 출처의 800GB가 넘는 데이터로 구성된 대규모의 다양한 오픈 소스 텍스트 데이터 세트
Pile
GPT-J (6B), CodeGen, Megatron-Turing NLG (530B) 등에서 널리 사용됨
ROOTS
다양한 소규모 데이터 세트(총 1.61TB의 텍스트)로 구성되어 있으며 59개 언어(자연어 및 프로그래밍 언어 포함)를 제공
'IT > 개발' 카테고리의 다른 글
오디오 raw PCM 데이터에 wav header 생성 하기(파이썬) (0) | 2023.11.22 |
---|---|
ICMP, Ping을 구현하여 RTT 검사하기(C code) (0) | 2023.11.08 |
(9) Langchain에서 VectorStore에 저장된 사용자 데이터를 재사용해보자(user data, embedding) (0) | 2023.08.07 |
(8) Langchain에서 사용자 데이터를 VectorStore에 저장해보자(user data, embedding) (0) | 2023.08.07 |
(8) Langchain에서 사용자 데이터를 이용해보자 (user data, summarize) (0) | 2023.08.07 |