7단계 훈련 파이프라인
7단계 훈련 파이프라인
EasyRAG의 훈련은 7단계로 나뉘고, 각 단계가 독립적이라 사전 학습 산출물이 있으면 그 단계는 건너뛸 수 있어요. 데이터 준비부터 평가까지 흐름을 볼게요.
전체 흐름은 이래요. Download & Preprocess → Build Index → Train Retriever(선택) → Precompute → Train Model → Evaluate. 첫 단계는 데이터 준비예요.
python data_pipeline/download_kilt_data.py # Download KILT Wikipedia + NQ, TriviaQA, HotpotQA
python data_pipeline/fix_triviaqa.py # Fix TriviaQA missing question text
python data_pipeline/filter_kilt_data.py # Filter samples without valid provenance
다음으로 검색 인덱스를 만듭니다. 위키피디아를 Arrow 형식으로 변환하고, GTR-T5-Base 임베딩으로 Faiss 인덱스를 구축해요.
python data_pipeline/build_wiki_index.py # Convert Wikipedia to Arrow format
python data_pipeline/build_gtr_index.py # Build Faiss index with GTR-T5-Base embeddings
검색 결과를 사전 계산합니다. FiD-Light / Stochastic RAG는 top-40, FiD는 top-100 문서를 미리 뽑아 둬요. 그다음 알고리즘에 맞는 훈련 스크립트를 실행해요.
python training/train_fidlight_paper.py \
--precomputed_path data/precomputed/all_tasks_train.parquet \
--output_dir checkpoints/fidlight \
--steps 50000 \
--multi_gpu # Use all available GPUs
마지막으로 평가 스크립트로 체크포인트를 검증해요. --task(nq, triviaqa, hotpotqa, all)와 --multi_gpu 옵션을 지원하죠.
python evaluation/evaluate_fidlight.py --checkpoint checkpoints/fidlight/final --task nq
각 알고리즘·백본 조합마다 평가 스크립트가 준비되어 있고, 학습·평가 상태는 웹 대시보드에서 실시간으로 확인할 수 있어요.
더 알아보기
- 공식 리포: ii-research/EasyRAG
- EasyRAG 퀵스타트