huggingface/xet-core

xet client tech, used in huggingface_hub

해결하는 문제

xet-core는 AI 모델과 데이터셋에서 흔히 발견되는 대용량 바이너리 파일을 위한 고성능 스토리지 시스템을 제공합니다. 파일의 중복된 부분을 전송하거나 저장하지 않도록 하는 채크 기반 중복 제거 기능을 통해, 대역폭과 스토리지 오버헤드를 줄입니다.

작동 방식

이 프로젝트는 콘텐츠 주소 가능 스토리지(CAS) 시스템을 구현합니다. 파일을 채크로 나누고, 채크화, 중복 제거, 재구성용 데이터 처리 파이프라인을 사용합니다. 로컬 디스크 캐시를 활용해 검색 속도를 높이며, huggingface_hub 라이브러리에 통합할 수 있도록 Python 바인딩을 제공합니다. 또한, 명령줄 인터랙션을 선호하는 사용자를 위해 Git LFS 호환 CLI 도구(git-xet)도 포함되어 있습니다.

대상 사용자

이 라이브러리는 주로 huggingface_hub 개발자와 Hugging Face Hub에서 대규모 AI 자산을 업로드하거나 다운로드하는 사용자를 위한 것입니다. 최종 사용자가 단독으로 사용하도록 의도된 라이브러리는 아닙니다.

주요 특징

  • 채크 기반 중복 제거: 서로 다른 바이너리 파일 간에 중복된 데이터를 전송하거나 저장하지 않습니다.
  • 로컬 디스크 캐시: 채크 기반 캐시를 구현하여 스토리지 및 검색 성능을 최적화합니다.
  • Git LFS 호환성: 전용 CLI 도구를 통해 Git LFS와의 후방 호환성을 유지합니다.
  • 크로스플랫폼 지원: 핵심 로직은 Rust 크레이트로 제공되며, 접근성은 Python 바인딩을 통해 제공됩니다.

관련