대규모 모델을 위한 데이터 엔지니어링: 아키텍처, 알고리듬 및 프로젝트
(github.com/datascale-ai)- 대규모 모델 시대에는 데이터 품질이 모델 성능의 상한을 결정함
- 이를 위한 체계적 데이터 엔지니어링 지식을 제공하는 오픈소스 가이드북
- 사전학습 데이터 정제, 멀티모달 정렬, RAG 데이터 파이프라인, 합성 데이터 생성 등 전 과정을 포괄
- 5개의 파트로 13개 챕터 구성. 추가로 5개의 실습형 캡스톤 프로젝트와 실행 가능한 코드, 아키텍처 설계가 포함되어 실무 학습 지원
- Ray, Spark, CLIP, DVC 등 현대적 기술 스택을 활용해 텍스트·이미지·비디오 데이터를 처리
- LLM 연구자, 데이터 엔지니어, MLOps 전문가 등 AI 데이터 파이프라인 구축자에게 실질적 참고서로 활용 가능
소개
- 대규모 모델 시대에는 데이터 품질이 모델 성능의 한계를 결정
- LLM 데이터 엔지니어링에 대한 체계적 자료가 부족한 현실을 보완하기 위해 제작
- 책은 사전학습 데이터 정제부터 멀티모달 정렬, RAG, 합성 데이터 생성까지 전체 기술 스택을 다룸
- Common Crawl 등 대규모 노이즈 데이터에서 고품질 코퍼스 추출
- 이미지-텍스트, 비디오, 오디오 데이터의 수집·정제·정렬
- SFT, RLHF, CoT 데이터 자동 생성
- 기업용 문서 파싱과 의미 단위 분할을 포함한 RAG 파이프라인 구축
- 5개의 엔드투엔드 캡스톤 프로젝트를 통해 실습 중심 학습 제공
- 온라인 열람 가능: https://datascale-ai.github.io/data_engineering_book/en/
책의 구성
- 전체 구조는 원시 데이터에서 애플리케이션까지의 완전한 데이터 엔지니어링 파이프라인
- 총 6개 파트, 13개 장, 5개 프로젝트로 구성
- Part 1: 인프라 및 핵심 개념
- Part 2: 텍스트 사전학습 데이터 엔지니어링
- Part 3: 멀티모달 데이터 엔지니어링
- Part 4: 정렬 및 합성 데이터 엔지니어링
- Part 5: 애플리케이션 수준 데이터 엔지니어링
- Part 6: 캡스톤 프로젝트 (Mini-C4, Legal SFT, LLaVA, Math/Code, Financial RAG)
주요 특징
포괄적 이론
- Data-Centric AI 철학을 전반에 반영
- 사전학습 → 미세조정 → RLHF → RAG로 이어지는 LLM 데이터 생애주기 전체를 다룸
- 스케일링 법칙, 데이터 품질 평가, 멀티모달 정렬 등 심화 주제 포함
현대적 기술 스택
- 분산 컴퓨팅: Ray Data, Spark
- 데이터 저장: Parquet, WebDataset, Vector Databases
- 텍스트 처리: Trafilatura, KenLM, MinHash LSH
- 멀티모달 처리: CLIP, ColPali, img2dataset
- 데이터 버전 관리: DVC, LakeFS
풍부한 캡스톤 프로젝트
- Mini-C4: Trafilatura + Ray + MinHash로 고품질 텍스트 코퍼스 구축
- Legal Expert SFT: Self-Instruct + CoT 기반 도메인 지시 데이터셋
- LLaVA Multimodal: Bbox 정렬 및 다중 이미지 인터리빙으로 시각 지시 데이터셋 생성
- Math Textbook: Evol-Instruct + 샌드박스 검증으로 추론 데이터셋 구축
- Financial Report RAG: ColPali + Qwen-VL로 멀티모달 질의응답 시스템 구현
로컬 개발
- 필수 환경: Python 3.8 이상, MkDocs Material, mkdocs-static-i18n
- 설치 및 미리보기
-
git clone으로 저장소 복제 후 의존성 설치 -
mkdocs serve실행 시 로컬 미리보기 가능 (중·영문 전환 지원)
-
-
정적 사이트 빌드:
mkdocs build실행 시site/디렉터리에 결과 생성
프로젝트 구조
-
docs/폴더에 중문(zh/)과 영문(en/) 콘텐츠 포함 -
images/,stylesheets/,javascripts/등 리소스 디렉터리 구성 -
.github/workflows/에 CI/CD 설정 포함 -
mkdocs.yml로 사이트 구성 관리 - 라이선스는 MIT License
대상 독자
- LLM 연구·개발 엔지니어, 데이터 엔지니어, MLOps 엔지니어, 기술형 AI PM, LLM 데이터 파이프라인 연구자
라이선스
- MIT License 적용
Hacker News 의견들
-
이 책을 정말 감사히 읽고 있음. 번역 품질이 매우 높음
나는 LLM 훈련에 완전 초보인데, Apple Silicon에서 Python 코드 생성을 위한 새로운 아키텍처를 실험 중임
다만 데이터 도구들이 코드 중심이 아니라 일반 텍스트나 이미지에 초점이 맞춰져 있어서 답답함을 느낌
SGlang이 MacOS에서 안 돌아가서 EBNF 제약 출력을 활용한 합성 데이터 생성을 못 하고 있음
Python 코드 코퍼스를 직접 내려받아 APFS 문제, 샤딩, 커스텀 분류·정제·혼합 등을 처리 중인데, 코드용으로 사전 태깅된 데이터셋이 없다는 게 의외임 -
새롭게 떠오르는 분야인 LLM용 데이터 엔지니어링을 다루는 책이라면, ML 생애주기 전체를 위한 스토리지 포맷 같은 신흥 카테고리도 언급해야 함
예를 들어 Lance는 분석 작업과 벡터 워크로드 모두에 최적화된 컬럼형 스토리지로, 버전 관리와 랜덤 액세스를 지원함
이는 샘플링, 효율적 필터링, 멀티모달 데이터(예: 비디오) 처리에 매우 중요함
비슷한 예로 vortex, Meta의 nimble 등이 있음 -
제목은 ‘Data Engineering for LLMs’가 더 적절하다고 생각함
- 좋은 지적임. 내용상 ‘Data Engineering for LLMs’가 훨씬 정확해서 프로젝트 리드에게 바로 전달할 예정임
-
번역의 문제일 수도 있지만, 초반의 “Modern Data Stack” 설명은 신뢰감을 주지 못했음
1_2_data_infra.md 부분은 다소 모호했지만,
이후 데이터 정제와 RAG 파이프라인 섹션은 훨씬 명확했음- 솔직한 피드백에 감사함
-
영어 버전은 README_en.md에 있음
- 고마움! 상단 링크를 그걸로 교체했음. 원래 제출된 URL은 data_engineering_book이었음
게시물이 스팸 필터에 걸렸었는데, 작성자가 이메일로 알려줘서 댓글로 배경을 공유하도록 초대했음. 이제는 상단에 그 내용을 반영했음 - 직접 링크 공유에 감사함
- 고마움! 상단 링크를 그걸로 교체했음. 원래 제출된 URL은 data_engineering_book이었음
-
아주 흥미로워서 북마크해두었음. 그런데 README가 ChatGPT로 작성된 것인지 궁금함
- 맞음. 우리는 중국 팀이고, 영어 번역에 GPT를 활용했음. 다소 ‘가짜 따뜻함’처럼 느껴졌다는 피드백 감사함. 앞으로 더 중립적이고 간결한 톤으로 다듬을 예정임
- 나도 그렇게 느꼈음. 요약표가 많고 인공적인 어투가 있어서 LLM이 쓴 듯한 느낌이 강했음. GPT가 아니더라도 전면적인 리라이팅이 필요함
-
“Data is the new oil, but only if you know how to refine it.”라는 문구가 인상적이었음
석유도 정제되지 않으면 쓸모없으니, “데이터는 새로운 석유이며, 정제해야 가치가 생김” 정도로 표현하면 더 자연스러울 듯함 -
‘Vector DB vs Keyword Search’ 섹션이 흥미로웠음. RAG 파이프라인 실험에서 경계선을 어디에 두는지 궁금함
우리 경험상 BM25 같은 키워드 검색이 엔티티 이름·ID에는 강하고, 벡터 검색은 개념적 질의에 강했음. 책에서 하이브리드 검색이나 재랭킹도 다루는지 궁금함- 좋은 질문임. 실제 프로덕션에서는 BM25+벡터의 하이브리드 접근이 대부분의 경우 효과적이었음. 약 70/30 비율로 키워드가 정확 매칭에 유리함
핵심은 재랭킹임. 단순히 결과를 합치는 게 아니라 cross-encoder(예: Cohere나 커스텀 모델)로 점수를 다시 매겨야 함
순수 의미 기반 검색이 유리한 시점은 질의가 추상적 개념 위주일 때임 - 통찰에 감사함. 이런 패턴은 향후 업데이트에서 다룰 예정임. 현재 춘절 연휴 중이라 약간 지연될 수 있음
- 좋은 질문임. 실제 프로덕션에서는 BM25+벡터의 하이브리드 접근이 대부분의 경우 효과적이었음. 약 70/30 비율로 키워드가 정확 매칭에 유리함
-
각 챕터의 그림이 영어로 되어 있음 (README_en.md의 이미지는 예외)
- 알려줘서 고마움! 그 차이를 인지하고 README_en.md의 다이어그램을 바로 수정했음. 이제 올바르게 표시될 것임
-
Parquet만으로는 현대적 데이터 엔지니어링에 충분하지 않음. Delta와 Iceberg도 포함되어야 함
- 피드백 감사함! 해당 섹션 담당자에게 전달했음. 현재 춘절 휴가 중이라 업데이트가 조금 늦을 수 있음. 새해 복 많이 받길 바람