datajuicer/data-juicer

Data processing for and with foundation models! 🍎 🍋 🌽 ➡️ ➡️🍸 🍹 🍷

Data‑Juicer: AI를 위한 데이터 운영 체제

정의 – Data‑Juicer (DJ)는 기반 모델을 위한 데이터 준비를 구성 가능하고 클라우드 네이티브한 워크플로우로 취급하는 오픈소스 라이브러리입니다. Python 패키지(py-data-juicer)와 CLI(dj‑process)를 제공하며, 텍스트, 이미지, 오디오, 비디오, 멀티모달 데이터를 다루는 200개 이상의 재사용 가능한 연산자(필터, 매퍼, 분석기)로 파이프라인을 구축할 수 있습니다.

중요성 – 최신 LLM 또는 멀티모달 모델 훈련에는 수십억 개의 고품질 샘플이 필요합니다. 해당 데이터를 정리, 중복 제거, 청크 분할, 주석 처리하는 것은 대규모 엔지니어링 작업입니다. DJ는 이러한 단계를 재사용 가능하고 버전 관리 가능한 YAML 레시피와 확장 가능한 실행 엔진(Ray 기반)으로 추상화하여, 랩톱에서 수천 노드 클러스터까지 맞춤형 글루 코드 없이 실행할 수 있습니다.

주요 기능

  • 모듈식 연산자 – 200개 이상의 내장 연산; pip 플러그인을 통해 타사 연산도 추가할 수 있습니다.
  • 레시피 우선 파이프라인 – YAML 파일이 연산자 체인을 설명합니다. 공유 가능하고 재현 가능합니다.
  • 확장 가능한 실행 – Ray 파티션 실행기, 자동 GPU/CPU 리소스 계획, MinHash 중복 제거, CUDA 가속 매퍼. 50개 노드에서 2시간에 700억 샘플을 처리할 수 있다고 보고되었습니다.
  • 관찰 가능성 – 내장 추적, 통계 수집, 시각적 분석 UI.
  • 도메인 특화 확장 – 에이전트(DJ Copilot), 자연어 기반 정리를 위한 "Juicer" 모델, RAG, RL 스타일 큐레이션, 체화형 AI 비디오 파이프라인용 레시피.
  • 통합 – Hugging Face, ModelScope, Alibaba Cloud PAI, HDFS, S3, Delta Lake, LanceDB, Ray 등 다양한 데이터 플랫폼과 호환됩니다.

일반적인 워크플로우

  1. 데이터셋 로드 (로컬 파일, HDFS, S3, Hugging Face hub 등).
  2. 파이프라인 정의 YAML 또는 Python에서 직접 정의합니다. 예:
    - op: TextLengthFilter   # 짧은 문장 제거
      min_len: 10
    - op: WhitespaceNormalizationMapper
    - op: MinHashDeduplicator
    
  3. 실행 dj-process --config my_pipeline.yaml 또는 Python API(NestedDataset.process([...]))로 실행합니다.
  4. 분석 내장 통계 또는 웹 UI로 출력을 분석하고 JSONL, Parquet 등으로 내보냅니다.

시작하기 – uv pip install py-data-juicer로 설치(또는 Docker 이미지 풀). JupyterLab 플레이그라운드와 "Ask DJ Copilot" 웹 UI가 설치 없이 탐색할 수 있도록 제공됩니다.

커뮤니티 및 채택 – Alibaba Cloud 내부에서 사용되고 제품에 통합되었으며 여러 산업 파트너(ByteDance, NVIDIA, JD.com 등)가 인용했습니다. 프로젝트는 활발히 유지 관리되며(월간 릴리스, 최근 v1.6.x 시리즈), good-first-issues, 플러그인 또는 새 연산자 레시피를 통한 기여를 환영합니다.


TL;DR – Data‑Juicer는 최신 기반 모델 훈련 및 RAG 시스템을 지원하는 대규모 데이터 파이프라인을 구축, 확장, 감사하기 위한 프로덕션 등급의 확장 가능한 데이터 처리 프레임워크입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트