피드로 돌아가기
Hugging Face BlogInfrastructure
원문 읽기
Hugging Face가 LFS 기반 스토리지를 Xet으로 교체해 6.5TB 규모 저장소 마이그레이션 시 대용량 파일 업로드 시간 13분에서 0.1초로 단축
Xet is on the Hub
AI 요약
Context
Hugging Face Hub의 기존 LFS(Large File Storage) 시스템은 파일 단위로만 중복 제거를 수행해, 대용량 파일의 미세한 변경도 전체 파일을 재업로드해야 했다. 예를 들어 5GB SQLite 데이터베이스에서 1MB만 변경해도 전체 5GB를 다시 업로드하는 데 13분이 소요되었다.
Technical Solution
- Content-Defined Chunking(CDC) 기반 바이트 레벨 중복 제거 도입: 약 64KB 단위로 파일을 청크로 분할하여 변경된 부분만 전송
- Xet 클라이언트 구현: 데이터를 64KB 청크로 분할 후 동일 청크를 로컬에서 중복 제거하고 약 64MB 블록으로 집계하여 업로드
- 콘텐츠 주소화 저장소(CAS) 배포: 청크 기반 중복 제거를 강제하고 LFS Bridge를 통해 기존 클라이언트와의 하위 호환성 제공
- 2월 20일 프로덕션 대규모 마이그레이션 실행: 4.5TB 규모의 대상 저장소를 LFS에서 Xet으로 마이그레이션하고 실시간 모니터링(Grafana, Kibana)으로 로드 변화를 추적
- 마이그레이션 후 최적화: 다운로드 오버헤드 4배 감지 시 CAS 블록 포맷 재설계, 10MB 범위 요청 처리 방식 개선
Impact
- 5GB 파일에 1MB 변경 시 업로드 시간: 13분에서 0.1초(약 78,000배 단축)
- Hub 다운로드 트래픽의 약 6%가 Xet 인프라로 전환
- 4.5TB 규모 저장소 마이그레이션 성공(롤백 절차 포함)
Key Takeaway
대규모 시스템 마이그레이션에서는 설계 단계의 이론보다 실제 환경의 로드 패턴 파악이 중요하며, 점진적 마이그레이션을 통해 문제를 신속하게 노출·해결할 수 있다는 것이 핵심이다. 또한 청크 단위 중복 제거는 파일 기반 시스템의 한계를 극복하는 방식으로, 대용량 파일 변경이 빈번한 환경에서 극적인 성능 향상을 제공한다.
실천 포인트
대용량 모델과 데이터셋을 다루는 AI/ML 플랫폼에서 파일 기반 중복 제거(LFS)를 바이트 기반 청크 중복 제거(CDC)로 전환하면, 작은 변경사항도 전체 파일 재전송이 필요 없어 업로드 시간을 수십 배에서 수만 배 단축할 수 있다. 특히 점진적 마이그레이션 전략과 롤백 절차를 동시에 준비하면 기존 2백만 개 이상의 저장소 환경에서도 프로덕션 저장소를 안전하게 전환할 수 있다.