Hugging Face 스토리지 버킷 출시

Hugging Face는 중간 머신러닝 아티팩트를 위해 설계된 가변적이며 S3와 유사한 객체 스토리지 시스템인 Storage Buckets를 출시했습니다. 이 새로운 스토리지 계층을 통해 개발자는 체크포인트, 옵티마이저 상태, 처리된 샤드와 같은 고처리량 데이터를 Git 버전 관리의 오버헤드 없이 관리할 수 있습니다.

Xet을 통한 ML 아티팩트 최적화 스토리지

Storage Buckets는 파일 간 콘텐츠를 중복 제거하는 청크 기반 스토리지 백엔드인 Xet으로 구동됩니다. 파일을 단일 블롭으로 취급하는 기존 객체 스토리지와 달리, Xet은 콘텐츠를 청크로 나누어 Hub에 이미 존재하는 바이트를 건너뛸 수 있게 합니다.

이 아키텍처는 관련 아티팩트가 상당히 겹치는 경우가 많은 ML 워크로드에 특히 유리합니다, 예를 들어:

  • 연속 체크포인트: 모델의 큰 부분이 고정된 상태인 경우.
  • 처리된 데이터셋: 원본과 대부분 유사하게 유지되는 경우.
  • 에이전트 트레이스: 및 파생된 요약.

Enterprise 고객에게는 이 효율성이 비용 절감으로 이어지며, 청중 중복 저장 용량을 기준으로 청구되므로 대역폭 사용량과 총 청구 스토리지를 모두 감소시킵니다.

고처리량 컴퓨팅을 위한 사전 워밍업

분산 학습 및 대규모 파이프라인에서 지연 시간을 최소화하기 위해 Hugging Face는 "사전 워밍업"을 도입했습니다. 이 기능을 통해 사용자는 필요한 데이터 위치를 선언하여, 핫 데이터를 클라우드 제공자 및 컴퓨팅이 실행되는 지역에 가깝게 이동시킬 수 있습니다.

각 읽기 시마다 데이터를 지역 간에 가져와야 하는 필요성을 줄임으로써, 사전 워밍업은 학습 클러스터와 다지역 파이프라인 설정의 처리량을 높입니다. Hugging Face는 현재 AWS와 GCP와 협력하여 이 기능을 제공하고 있으며, 향후 더 많은 제공자를 계획하고 있습니다.

통합 및 프로그래밍 접근

Storage Buckets는 사용자 또는 조직 네임스페이스 아래 비버전 컨테이너로 관리될 수 있도록 여러 인터페이스를 통해 Hugging Face 생태계에 통합됩니다.

CLI 및 Python API

사용자는 hf CLI 또는 huggingface_hub Python 라이브러리(v1.5.0부터 사용 가능)를 사용해 버킷을 관리할 수 있습니다. 주요 작업은 다음과 같습니다:

  • Creation: hf buckets create [name] --private
  • Synchronization: hf buckets sync [local_dir] [hf_path]
  • Inspection: hf buckets list [bucket_name] -h

fsspec을 통한 파일시스템 통합

HfFileSystem을 통해 버킷은 fsspec 표준과 호환됩니다. 이를 통해 pandas, Polars, Dask와 같은 데이터 라이브러리를 hf:// 경로로 직접 통합할 수 있습니다. 예를 들어, CSV 파일을 로컬에 다운로드하지 않고 바로 pandas DataFrame으로 읽을 수 있습니다: pd.read_csv("hf://buckets/username/my-training-bucket/results.csv").

JavaScript 지원

버킷 지원은 @huggingface/hub 라이브러리(v2.10.5부터)를 통해 Node.js 서비스 및 웹 애플리케이션에서도 사용할 수 있습니다.

워크플로우: 가변 스토리지에서 버전 관리 레포로

Storage Buckets는 이동 중인 아티팩트의 작업 레이어 역할을 합니다. 아티팩트가 안정적인 전달물로 변하면, 의도된 워크플로우는 버킷에서 버전 관리되는 모델 또는 데이터셋 레포지토리로 이동하는 것입니다. Hugging Face는 최종 체크포인트 가중치나 처리된 샤드를 공식 Hub 릴리스로 승격하는 과정을 간소화하기 위해 버킷과 레포지토리 간 직접 전송을 구현할 계획입니다.

가용성 및 가격

Storage Buckets는 기존 Hub 스토리지 플랜에 포함됩니다. 무료 계정은 초기 스토리지를 제공하며, PRO 및 Enterprise 플랜은 더 높은 한도를 제공합니다.

Sources