LLaMA(Large Language Model Meta AI)는 Meta 가 2023년 발표한 LLM 논문으로, 챗지피티 보다 적은 파라미터 수로 훈련하고 뛰어난 성능을 보인 모델이다.
많은 파라미터 보다 더 많은 데이터로 훈련했으며, 모두 공개된 데이터를 사용하고 소스코드를 인터넷에 공개했다. 현재는 라마3까지 나왔으며, 이번에는 처음 공개된 라마 1을 리뷰한다.
English CommonCrawl [67%]
2017년부터 2020년까지 수집된 CommonCrawl 덤프를 CCNet 파이프라인으로 전처리한 대규모 웹 크롤링 데이터. 중복을 줄이고 비영어 페이지를 제거하기 위해 fastText 선형 분류기를 사용하여 언어를 식별하고, n-gram 모델을 통해 저품질 콘텐츠를 필터링함.
C4 [15%]
공개적으로 사용 가능한 CommonCrawl 기반의 데이터셋. C4 데이터셋은 중복 제거 및 언어 식별 단계를 포함한 전처리를 거쳤으며, 품질 필터링에 주로 휴리스틱을 사용하여 데이터를 정제함.
Github [4.5%]
Google BigQuery에서 제공되는 공개 GitHub 데이터셋으로, Apache, BSD 및 MIT 라이선스 하에 배포된 프로젝트만 포함. 코드의 품질을 보장하기 위해 줄 길이와 영숫자 비율을 기반으로 저품질 파일을 필터링하며, boilerplate(반복되는 코드)도 제거함.
Wikipedia [4.5%]
2022년 6월에서 8월 사이의 위키백과 덤프 데이터를 포함. 20개 언어를 다루며, 데이터에서 하이퍼링크, 댓글, 기타 불필요한 boilerplate를 제거함.
Gutenberg and Books3 [4.5%]
퍼블릭 도메인에 있는 서적을 포함하는 Gutenberg Project와 ThePile의 Books3 섹션을 포함한 서적 데이터셋. 중복된 서적을 제거하여 훈련에 사용됨.
ArXiv [2.5%]
ArXiv에서 제공되는 논문 Latex 파일 데이터셋. 첫 번째 섹션 이전의 모든 내용과 참고 문헌을 제거하여 논문 간 일관성을 높임.
Stack Exchange [2%]
Stack Exchange의 질문 및 답변을 다루는 데이터셋으로, 28개 주요 웹사이트에서 수집된 데이터를 포함. 텍스트에서 HTML 태그를 제거하고, 답변을 점수에 따라 정렬함.
Tokenizer (토크나이저)
bytepair encoding (BPE) 알고리즘을 사용해 데이터를 토큰화하며, SentencePiece(BPE가 특정 언어에 국한되지 않도록 하여, 영어뿐만 아니라 다른 언어에서도 동일한 방식으로 작동할 수 있음)를 통해 구현. 숫자는 개별 숫자로 분할되고, 알려지지 않은 UTF-8 문자는 바이트로 변환됨.

CommonCrawl 데이터셋은 전체 훈련 데이터의 67%를 차지하며, 웹 크롤링 데이터로 구성됨.
- **CommonCrawl 데이터셋**은 전체 훈련 데이터의 67%를 차지하며, 웹 크롤링 데이터로 구성됨.
- **CommonCrawl**은 인터넷에서 크롤링된 웹 페이지의 방대한 데이터셋으로, 다양한 언어, 도메인, 웹사이트의 내용을 포함.
- **CCNet 파이프라인**은 CommonCrawl 데이터를 처리하고 정제하는 데 사용되며, 이 과정에서 다음의 작업들이 수행됨:
1. **언어 식별**: CommonCrawl 데이터에는 여러 언어로 작성된 문서들이 포함되어 있기 때문에, 각 문서의 언어를 식별하는 작업이 필수적임. 이를 위해 **fastText** 선형 분류기를 사용하여 문서의 언어를 정확하게 분류함.
2. **저품질 데이터 필터링**: 웹 페이지에는 종종 저품질 콘텐츠(스팸, 중복 데이터, 의미 없는 문구 등)가 포함되어 있음. 이러한 데이터를 필터링하기 위해 **n-gram 언어 모델**을 사용하여 텍스트의 품질을 평가하고, 저품질 페이지는 데이터셋에서 제거.
3. **비영어 페이지 제거**: 연구에서 영어 데이터를 중심으로 모델을 훈련하기 위해 비영어 페이지를 제거하는 과정이 포함됨. 이는 언어 식별을 통해 수행되며, 영어 이외의 언어로 작성된 문서들은 필터링됨.
4. **중복 제거**: 웹 크롤링 데이터에는 같은 페이지가 여러 번 포함되거나, 내용이 중복된 문서가 많을 수 있음. 이를 방지하기 위해 데이터셋 내에서 중복을 탐지하고 제거하여 더 깨끗한 데이터를 확보함.
5. **선형 모델을 사용한 위키백과 페이지 구분**: CommonCrawl 데이터에는 위키백과 페이지도 포함되어 있을 수 있음. 위키백과는 신뢰할 수 있는 정보 소스로 간주되므로, 이를 참조 문서로 구분하기 위해 별도의 선형 모델이 사용됨. 참조되지 않는 페이지는 삭제하거나 추가적으로 검토됨.
- 이러한 과정을 통해 CommonCrawl 데이터는 더 신뢰할 수 있고, 중복이나 저품질 콘텐츠가 제거된 형태로 정제됨. 결과적으로 LLaMA 모델의 훈련에 적합한 대규모 텍스트 코퍼스를 구성하게 됨.