카테고리 없음

올모2(OLMo2) - Dolma tool-kit 활용

코딩레벨업 2025. 3. 4. 17:16
728x90
반응형

Dolma 툴킷

Dolma 툴킷은 대규모 언어 모델 학습을 위한 데이터셋을 효율적으로 큐레이션할 수 있도록 설계된 고성능 도구 모음입니다. 주요 기능은 다음과 같습니다:​

  1. 고성능 처리: 내장된 병렬 처리 기능을 통해 수십억 개의 문서를 동시에 처리할 수 있습니다.
  2. 이식성: 단일 머신, 클러스터, 또는 클라우드 환경 등 다양한 컴퓨팅 환경에서 활용 가능합니다.
  3. 내장 태거: Gopher, C4, OpenWebText 등에서 사용되는 일반적인 태거를 포함하고 있어, 데이터 태깅 작업을 용이하게 합니다.github.com
  4. 빠른 중복 제거: Rust로 구현된 Bloom 필터를 사용하여 문서 중복 제거를 신속하게 수행합니다.
  5. 확장성 및 클라우드 지원: 사용자 정의 태거를 지원하며, AWS S3와 같은 클라우드 스토리지와의 호환성을 제공합니다.

설치 및 사용 방법

📌 1. Google Colab 설정

Google Colab에서 실행하기 위해 런타임 유형을 변경합니다.

  1. [런타임][런타임 유형 변경] 클릭
  2. "GPU" 또는 "TPU" 선택 (데이터 처리 속도 향상)

📌 2. Dolma 툴킷 설치

먼저 Dolma 툴킷을 설치합니다. 

!pip install datasets
!pip install git+https://github.com/allenai/dolma.git
설치가 완료되면 import dolma를 실행하여 설치 여부를 확인합니다.
import dolma print("Dolma 툴킷 설치 완료!")
 

📌 3. 데이터셋 다운로드 및 로드

Dolma 툴킷을 이용하여 Hugging Face에서 Dolma 데이터셋을 다운로드합니다.

from datasets import load_dataset # Dolma 데이터셋 로드 

# Dolma 데이터셋을 스트리밍 방식으로 로드
dataset = load_dataset("allenai/dolma", split="train", streaming=True)

# 샘플 데이터 가져오기 (최대 5개)
sample_data = []
for i, data in enumerate(dataset):
    sample_data.append(data)
    if i == 4:  # 5개만 가져오기
        break

print(sample_data)

Hugging Face의 datasets 라이브러리를 사용하여 Dolma 데이터셋을 Colab에 로드합니다.


📌 4. Dolma 태거(Tagger) 실행

Dolma 툴킷의 태거(Tagger) 기능을 사용하여 데이터를 분석하고 태그를 추가합니다.

!dolma tag --config configs/example_tagging.yaml

✅ 이 명령어는 데이터셋을 특정 기준으로 분류하고, 불필요한 데이터를 필터링합니다.


📌 5. 데이터 전처리 및 중복 제거

대규모 데이터에서 중복된 문서 제거 작업을 수행합니다.

!dolma dedupe --config configs/example_deduplication.yaml

데이터셋 중복 제거(Rust 기반 Bloom 필터 사용) → 데이터 정제 후 모델 학습에 적합한 상태로 변환


📌 6. 전처리된 데이터 저장

처리된 데이터를 CSV 또는 JSON 형태로 저장하여 활용할 수 있습니다.

dataset.to_csv("dolma_processed.csv") 
print("데이터 저장 완료: dolma_processed.csv")

📌 7. Google Drive에 데이터 저장 (선택)

Colab에서 처리한 데이터를 Google Drive에 저장하려면 다음을 실행하세요.

from google.colab import drive 
# Google Drive 마운트 
drive.mount('/content/drive') 

# Google Drive에 저장 
dataset.to_csv("/content/drive/MyDrive/dolma_processed.csv")

📌 8. Dolma 데이터셋을 활용한 모델 학습

Dolma 데이터셋을 토크나이징하여 언어 모델 학습을 진행할 수 있습니다.

from transformers import AutoTokenizer # 토크나이저 로드 

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased") 
# 데이터 토크나이징 
tokenized_data = tokenizer(dataset["text"], padding=True, truncation=True) 

# 샘플 출력 
print(tokenized_data)

이제 Dolma 데이터를 사전 학습(pre-training) 또는 파인튜닝(fine-tuning) 과정에서 사용할 수 있습니다!


📌 정리: Google Colab에서 Dolma 활용 흐름

1️⃣ Google Colab에서 Dolma 툴킷 설치
2️⃣ Dolma 데이터셋 다운로드 및 로드
3️⃣ 태거(Tagger) 실행 → 데이터 자동 분석 및 태깅
4️⃣ 중복 제거 → 최적화된 데이터셋 생성
5️⃣ 저장 및 Google Drive 백업 (필요시)
6️⃣ 토크나이징 후 모델 학습에 활용

이제 Google Colab에서 Dolma 툴킷을 활용하여 대규모 데이터셋을 처리하고 AI 모델 학습에 적용할 수 있습니다! 🚀

 
728x90
반응형
LIST