Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KO | EN

Tiny-Ko-Stories

Tiny-Ko-Stories는 TinyStories에서 영감을 받은 한국어 이야기 데이터셋과 소형 언어모델 프로젝트입니다.

우리가 확인하려는 것은 단순합니다.

한국어에서도 제한된 고품질 데이터가 소형 모델의 성능 향상으로 이어질까?

이를 확인하려면 번역 데이터셋만으로는 부족했습니다. 한국어다운 이름, 문장 리듬, 의성어와 의태어, 작은 사건 구조를 보려면 처음부터 한국어로 만든 이야기가 필요했습니다. 그래서 Tiny-Ko-Stories는 영어 TinyStories를 번역하는 대신, 한국어로 짧은 이야기를 새로 생성하고 여러 단계의 검수를 거쳐 구성했습니다.

포함된 것

항목 설명
데이터셋 Tiny-Ko-Stories: 2,003,542편의 한국어 짧은 이야기. JSONL text-only 형식
토크나이저 Tiny-Ko-Stories 코퍼스로 학습한 Hugging Face BPE 32K
공개 모델 Tiny-Ko-Stories-35M continuation LM
재현 코드 데이터 로딩, 토크나이저, 35M 모델 학습/생성 스크립트

빠른 시작

데이터셋은 Hugging Face Hub에서 받는 것을 권장합니다. 이 Git 저장소에는 대용량 JSONL 파일과 checkpoint를 직접 포함하지 않습니다.

먼저 데이터셋을 바로 확인하려면 다음처럼 실행합니다.

python -m pip install datasets
python examples/load_dataset.py --hf-id psymon/Tiny-Ko-Stories --limit 3

Python 코드에서 직접 불러오는 기본 형태는 다음과 같습니다.

from datasets import load_dataset

ds = load_dataset("psymon/Tiny-Ko-Stories", split="train")
print(ds[0]["text"])

공개 모델은 Tiny-Ko-Stories-35M입니다. Hugging Face AutoModelForCausalLM 형식이 아니라 PyTorch로 구현한 커스텀 continuation LM입니다. 모델 파일을 받은 뒤, 모델 repo 안에서 실행합니다.

hf download psymon/Tiny-Ko-Stories-35M --local-dir Tiny-Ko-Stories-35M
cd Tiny-Ko-Stories-35M
python -m pip install -r requirements.txt

아래 명령은 모델 카드의 balanced preset에 맞춘 수동 테스트용 시작점입니다. 검증된 최적 디코딩 설정은 아닙니다.

python generate.py \
  --checkpoint tiny-ko-stories-35m.pt \
  --tokenizer tokenizer.json \
  --device cpu \
  --prompt "작은 마을에 조용한 아침이 찾아왔어요." \
  --temperature 0.55 \
  --top-p 0.9 \
  --top-k 40 \
  --repetition-penalty 1.08 \
  --max-new-tokens 180 \
  --seed 42

이 모델은 instruction-tuned assistant가 아닙니다. 한국어 동화를 써 줘 같은 명령보다 실제 이야기의 첫 문장을 넣는 쪽이 더 잘 맞습니다.

다른 예시 프롬프트:

  • 민지는 작은 노란 우산을 들고 마당으로 나갔어요.
  • 서준이는 울긋불긋한 잎사귀 하나를 찾았어요.

예시 출력:

작은 마을에 조용한 아침이 찾아왔어요. 서준이는 오늘 친구들과 함께 놀기로 했어요. 그런데 아침에 신은 양말 색깔이 서로 달라서 조금 부끄러웠어요.

서준이는 양말을 숨기려고 발을 높이 들어 올렸어요. 하지만 친구들이 다가오자 가슴이 콩닥콩닥 뛰었어요. 서준이는 용기를 내어 양말이 다르다고 솔직하게 말했어요.

친구들은 오히려 알록달록한 양말이 멋지다며 칭찬해 주었어요. 서준이는 기분이 좋아져서 친구들에게 맛있는 간식을 나누어 주었어요. 모두 함께 웃으며 즐거운 아침을 보냈어요.

이제 서준이는 짝짝이 양말이 정말 마음에 들어요. 친구들과 손을 잡고 밖으로 나가 신나게 뛰놀았어요. 서준이의 얼굴에 자신감 넘치는 미소가 가득해요.

저장소 구조

corpus/       데이터셋 파일 위치와 다운로드 안내
examples/     데이터 로딩과 생성 예시
lm/           35M 모델 학습/평가 코드
tokenizers/   32K tokenizer 파일과 리포트

자세한 문서

라이선스

데이터셋은 CC BY 4.0으로 공개합니다. 모든 형태로 자유롭게 사용하시되, 사용 시 알아볼 수 있는 형태로 Tiny-Ko-Stories 출처 표기만 부탁드립니다.

코드와 모델 가중치는 MIT License로 공개합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages