
WikiText 데이터셋을 로컬에 보관하고 싶다
요약
LLM 성능 검증을 위해 WikiText2 데이터셋을 로컬에 저장하는 방법을 설명합니다. Python의 datasets 라이브러리를 활용하여 에러를 해결하고 텍스트 파일로 저장하는 과정을 다룹니다.
핵심 포인트
- WikiText2 데이터셋의 특징과 활용 목적 설명
- datasets 라이브러리를 이용한 데이터셋 로드 및 저장 방법
- Repository ID 표기 오류 해결 방법 제시
- uv를 활용한 Python 개발 환경 구축 가이드
LLM 공부를 위해 실제로 모델의 성능을 측정하고 검증해 보려고 합니다. 평가용 데이터셋은 여러 가지가 있지만, 가급적 로컬에 저장해 둘 수 있을 정도의 사이즈이면서 논문이나 다양한 검증에서 자주 다뤄지는 데이터셋을 생각했을 때 wikitext2 데이터셋을 이용하기로 했습니다. Wikipedia에서 추출한 100M(1억) 토큰 규모의 텍스트 데이터셋입니다. 저장 방법은 단 몇 줄의 코드로 저장할 수 있습니다.
이전에는 Salesforce가 AWS S3 상에서 데이터셋의 오리지널 파일을 공개하고 있었습니다. 그런데 최근 공개를 중단한 것인지, 다운로드할 수 없게 되었습니다.
직접 파일을 다운로드할 수는 없게 되었지만, Python의 datasets 라이브러리를 통해서는 wikitext2 데이터셋을 로드하여 이용할 수 있습니다. 이를 잘 응용하면 데이터셋을 저장할 수 있습니다.
Python의 간단한 스크립트를 작성하여 데이터셋을 저장해 보겠습니다. GitHub Copilot에게 스크립트 구현안을 제안하게 해 보겠습니다. 그전에 환경 구축입니다. 필자는 uv를 사용하여 구축하고 있습니다.
mkdir wikitext2
cd wikitext2
uv venv --python 3.14
...
Python 스크립트 코드는 다음과 같습니다.
from pathlib import Path
import datasets
def save_wikitext2():
...
사실 이대로는 에러가 발생하며 종료됩니다. 에러 메시지를 발췌 인용하자면...
'hf://datasets/wikitext@b08601e04326c79dfdd32d625aee71d232d685c3/.huggingface.yaml'. Repository id must be 'namespace/name', got 'wikitext.
namespace/name이라는 표기가 필요하므로, Salesforce/wikitext라는 표기가 필요합니다.
from pathlib import Path
import datasets
def save_wikitext2():
...
이렇게 하면 wikitext2 데이터셋을 txt 파일로 저장할 수 있습니다. train.txt, test.txt, validation.txt라는 3종류의 txt 파일로 저장됩니다.
wikitext2 데이터셋을 무사히 로컬에 저장했습니다. 스크립트만 GitHub에 올려두면 언제든 다시 저장할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기