피드로 돌아가기
huggingface_hub v1.0: Five Years of Building the Foundation of Open Machine Learning
Hugging Face BlogHugging Face Blog
Backend

Hugging Face가 huggingface_hub을 5년간 개발해 v1.0 출시로 200,000개 의존 라이브러리 지원 및 200만 개 모델, 50만 개 데이터셋, 100만 개 Space 접근 기능 제공

huggingface_hub v1.0: Five Years of Building the Foundation of Open Machine Learning

2025년 10월 27일11intermediate

Context

Hugging Face Hub 초기에는 transformers 라이브러리 내부에만 모델 상호작용 로직이 존재했고, 학습된 모델들이 고립되어 Google Drive 링크로 공유되며 AI 커뮤니티에서 중복 작업과 협업 기회 손실이 발생했다. 또한 Git과 Git LFS 설치가 필수였고 대용량 모델 파일 업로드에 부담이 있었다.

Technical Solution

  • HTTP 기반 아키텍처로 전환: v0.8.1(2022년 6월)에서 Git 대신 HTTP Commit API 도입으로 Git/Git LFS 설치 제거 및 파일 직접 업로드 가능
  • httpx를 백엔드 라이브러리로 마이그레이션: requests에서 httpx로 변경하여 v1.0 성능 개선 달성
  • 캐시 레이아웃 표준화: git-aware 캐시를 도입해 모든 라이브러리가 동일한 캐시를 공유하고 명시적 버전 관리 및 파일 중복 제거
  • hf_xet 도입: hf_transfer를 대체하여 파일 전송 방식 개선
  • hf CLI 재설계: Typer 기반 인터페이스로 완전히 재설계해 기능 확장
  • API 표면 확장: 저장소 원시 기능(트리 나열, 참조/커밋 검색, 파일 읽기, 폴더 동기화), Spaces 관리, Inference Endpoints 통합, Jobs API(2025년 Q3 추가), 소셜 계층(PR, 댓글, 사용자 정보, 저장소 좋아요, 팔로우/팔로워, 컬렉션)
  • 역호환성 유지: HfHubHttpError를 requests와 httpx 기본 HTTPError 클래스 모두에서 상속하여 버전 간 에러 처리 호환성 보장

Impact

huggingface_hub v1.0은 200,000개의 의존 라이브러리를 지원하며 2백만 개 이상의 공개 모델, 50만 개의 공개 데이터셋, 100만 개의 공개 Space에 접근을 제공한다.

Key Takeaway

5년간 Git 래퍼에서 머신러닝 아티팩트 전용 인프라로 진화하는 과정에서 HTTP 기반 아키텍처로의 철학적 전환과 캐시 표준화가 ML 생태계 전반에 채택되는 공용 기반시설이 되는 핵심 요소였다. 버전 간 호환성을 최대한 유지하면서 구조적 변경을 단행하는 마이그레이션 전략이 거대한 라이브러리 네트워크의 안정성을 확보한다.


ML 커뮤니티 인프라를 구축하는 팀에서는 단일 라이브러리 내 로직에서 출발하더라도 git-aware 캐시와 HTTP 기반 전송 메커니즘을 조기에 도입하면 향후 다중 라이브러리 지원으로 확장할 때 상호운용성을 확보할 수 있다. 또한 에러 클래스 다중 상속 등으로 역호환성을 명시적으로 설계하면 메이저 버전 업그레이드 시 의존성 체인의 마이그레이션 비용을 줄일 수 있다.

원문 읽기