본문 바로가기

논문 리뷰/Language Model

TinyLlama: An Open-Source Small Language Model

[Github]

[arXiv](2024/01/04 version v1)

 

 

Abstract

LLaMA2의 architecture, tokenizer를 기반으로 3 epochs에 걸쳐 1T 개의 토큰으로 pretraining 된 1.1B 언어 모델인 TinyLlama 소개

 

 

 

Introduction

Chinchilla scaling raw에서 제시하는 것보다 훨씬 더 많은 토큰으로 훈련했을 때 작은 모델의 행동을 탐구하기 위해 3T 개의 토큰을 사용해 1.1B decoder-only transformer를 훈련한다.

 

 

 

Pretraining

Pre-training data

SlimPajama : 대부분 영어로 구성된 1.2T token dataset인 RedPajama에서 저품질 데이터를 필터링하고 중복을 제거하여 약 600B token으로 줄인 dataset.

 

Starcoderdata : StarCoder를 훈련하기 위해 수집된 86개의 프로그래밍 언어로 구성된 dataset에서 SlimPajama와의 중복과 샘플 코드를 제거

 

총 corpora 950B, 데이터 샘플링 비율 7:3

 

Architecture

Baseline: LLaMA2 (RoPE, RMSNorm, SwiGLU, Grouped-query Attention)

 

Speed Optimizations

Fully Sharded Data Parallel (FSDP)

 

Flash Attention-2

 

xFormers

 

GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a composable construction.

Hackable and optimized Transformers building blocks, supporting a composable construction. - GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a co...

github.com

 

Training

날먹 좀 할게요...

 

 

 

Results

훈련 속도 매우 빨라요.

 

Zero-Shot 성능 좋아요.

 

InstructEval Benchmark.