huggingface_hub v1.0: Five Years of Building the Foundation of Open Machine Learning
Quick Summary
huggingface hub v1.0은 모델·데이터셋·스페이스를 공유하는 단순한 Git 보조 도구에서 출발해, 5년 동안 개방형 머신러닝 생태계의 공통 기반으로 성장한 라이브러리의 성숙과 차세대 전환을 담은 릴리스다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
huggingface_hub v1.0은 모델·데이터셋·스페이스를 공유하는 단순한 Git 보조 도구에서 출발해, 5년 동안 개방형 머신러닝 생태계의 공통 기반으로 성장한 라이브러리의 성숙과 차세대 전환을 담은 릴리스다.
📌 핵심 요약
- huggingface_hub은 2020년 v0.0.1 출시 이후 35회 이상의 릴리스를 거치며, 200만 개 이상의 공개 모델과 50만 개 이상의 공개 데이터셋, 100만 개 이상의 공개 스페이스에 접근하는 핵심 Python 패키지로 성장했다.
- 2022년 HTTP Commit API와 공용 캐시 구조를 도입하면서 Git 및 Git LFS 중심의 래퍼에서 머신러닝 아티팩트를 위한 독립적인 전송·저장 기반으로 전환했다.
- 저장소 관리뿐 아니라 스페이스, 추론 엔드포인트, 작업 API, 커뮤니티 기능, 추론 제공자 연동까지 지원 범위를 확장하며 허브 전체를 프로그래밍 방식으로 다루는 인터페이스가 되었다.
- v1.0은 HTTP 백엔드를 requests에서 httpx로 교체하고, 파일 전송을 hf_xet으로 통합하며, 기존 huggingface-cli를 Typer 기반의 hf 명령으로 대체하는 주요 구조 변경을 포함한다.
- Git 기반 Repository 클래스와 HfFolder, InferenceApi, hf_transfer 같은 오래된 방식을 제거했지만, 대부분의 사용자와 라이브러리가 원활히 이전할 수 있도록 사전 폐기 경고와 호환 경로를 제공했다.
🧩 주요 포인트
- huggingface_hub은 2020년 v0.0.1 출시 이후 35회 이상의 릴리스를 거치며, 200만 개 이상의 공개 모델과 50만 개 이상의 공개 데이터셋, 100만 개 이상의 공개 스페이스에 접근하는 핵심 Python 패키지로 성장했다.
- 2022년 HTTP Commit API와 공용 캐시 구조를 도입하면서 Git 및 Git LFS 중심의 래퍼에서 머신러닝 아티팩트를 위한 독립적인 전송·저장 기반으로 전환했다.
- 저장소 관리뿐 아니라 스페이스, 추론 엔드포인트, 작업 API, 커뮤니티 기능, 추론 제공자 연동까지 지원 범위를 확장하며 허브 전체를 프로그래밍 방식으로 다루는 인터페이스가 되었다.
- v1.0은 HTTP 백엔드를 requests에서 httpx로 교체하고, 파일 전송을 hf_xet으로 통합하며, 기존 huggingface-cli를 Typer 기반의 hf 명령으로 대체하는 주요 구조 변경을 포함한다.
- Git 기반 Repository 클래스와 HfFolder, InferenceApi, hf_transfer 같은 오래된 방식을 제거했지만, 대부분의 사용자와 라이브러리가 원활히 이전할 수 있도록 사전 폐기 경고와 호환 경로를 제공했다.
🧠 상세 정리
1. 5년 개발을 마무리하는 v1.0의 의미
huggingface_hub v1.0은 약 5년의 개발을 거쳐 라이브러리가 성숙 단계에 도달했음을 나타내는 이정표다. 이 패키지는 200만 개 이상의 공개 모델, 50만 개 이상의 공개 데이터셋, 100만 개 이상의 공개 스페이스에 접근하는 핵심 기능을 제공하며, 전 세계 약 300명의 기여자와 수백만 명의 사용자가 성장에 참여했다. 이번 릴리스의 핵심 변화는 httpx 기반 HTTP 처리, Typer로 재설계된 hf 명령줄 인터페이스, hf_xet을 이용한 파일 전송의 전면 도입이다. 일부 호환성을 깨는 변경도 포함됐지만, 이는 향후 10년 동안 개방형 머신러닝의 증가하는 규모를 감당하기 위한 전략적 선택으로 설명된다. 개발진은 성능 개선과 새로운 기능을 활용할 수 있도록 v1.0으로의 업그레이드를 권장한다.
2. 모델 공유 문제에서 시작된 독립 라이브러리
라이브러리의 출발점은 머신러닝 모델을 GitHub의 코드처럼 쉽게 공유할 수 없을까라는 질문이었다. 초기에는 고성능 모델을 훈련하는 데 많은 연산 자원과 전문성이 필요했지만, 완성된 모델은 로컬 컴퓨터에 고립되거나 끊어진 Google Drive 링크를 통해 불안정하게 공유되는 경우가 많았다. 이 때문에 연구자와 개발자가 같은 작업을 반복하고 자원을 낭비하며 협업 기회를 놓치는 문제가 발생했다. Hugging Face Hub는 처음에 transformers 호환 체크포인트를 공유하는 공간으로 사용됐으나, 허브 접근 코드가 transformers 내부에 있어 다른 라이브러리가 재사용하기 어려웠다. 2020년 말 출시된 huggingface_hub v0.0.1은 이 내부 로직을 분리해 모델과 데이터셋의 접근·공유 방식을 통합하는 전용 라이브러리를 만드는 것을 목표로 삼았다.
3. 기초 기능 확립과 Git에서 HTTP로의 전환
초기 릴리스는 Git 명령을 감싼 저장소 조작 기능을 중심으로 기본 토대를 구축했다. v0.0.8에서는 저장소와 상호작용하는 첫 API가 도입됐고, v0.0.17에서는 토큰 기반 인증을 추가해 비공개 저장소 접근과 안전한 업로드를 지원했다. 중요한 전환점은 2022년 6월의 v0.8.1에서 도입된 HTTP Commit API였다. 사용자는 더 이상 Git과 Git LFS를 반드시 설치하지 않아도 HTTP 요청과 create_commit API를 통해 대형 모델 파일을 직접 올릴 수 있게 됐다. 동시에 여러 라이브러리가 버전 관리와 파일 중복 제거를 갖춘 동일한 캐시를 공유하게 되면서, huggingface_hub은 transformers용 Git 래퍼를 넘어 모든 머신러닝 라이브러리가 사용할 수 있는 아티팩트 전용 기반으로 성격이 바뀌었다.
4. 허브 전체로 확장된 API와 서비스 범위
2022년부터 2024년 사이 Hugging Face Hub가 단순 모델 저장소에서 종합 플랫폼으로 성장하면서 huggingface_hub의 API 범위도 크게 넓어졌다. 트리 조회, 참조와 커밋 탐색, 파일 읽기, 폴더 동기화, 태그·브랜치·릴리스 관리 같은 저장소 기본 기능이 성숙했고, 메타데이터와 웹훅을 통해 변경에 실시간으로 대응할 수 있게 됐다. 대화형 머신러닝 데모를 호스팅하는 스페이스에 대해서는 하드웨어 요청, 비밀값, 환경 설정, 업로드를 포함한 배포·관리 기능이 추가됐다. 운영 규모의 모델 배포를 위한 추론 엔드포인트가 통합됐으며, 2025년 3분기에는 작업 API가 추가돼 연산 기능의 구성이 완성됐다. 풀 리퀘스트와 댓글, 사용자·조직 정보, 좋아요, 팔로우, 컬렉션 같은 커뮤니티 기능과 Colab 인증, 재개 가능한 다운로드, 대규모 폴더 업로드도 함께 강화됐다.
5. 다중 추론 제공자와 Xet 기반 전송 혁신
v0.28.0에서는 단일 추론 백엔드 대신 여러 서버리스 제공자를 하나의 API와 투명한 라우팅으로 연결하는 추론 제공자 생태계가 도입됐다. 이어 v0.30.0은 Git 저장소에서 대형 객체를 처리하기 위한 Xet 프로토콜을 선보였다. Git LFS가 파일 단위로 중복을 제거하는 것과 달리 Xet은 64KB 청크 단위로 동작하므로, 모델이나 데이터셋의 대형 파일을 수정했을 때 전체 파일이 아니라 변경된 청크만 업로드하거나 다운로드한다. 첫 마이그레이션은 50만 개 이상의 저장소에 걸친 20페타바이트 규모로 시작됐으며, 기존 작업 흐름을 중단시키지 않고 하위 호환성을 유지한 채 진행됐다. 1년 뒤에는 600만 개 이상의 저장소와 77페타바이트가 넘는 데이터가 Xet 백엔드로 이전됐고, 사용자 개입 없이 더 빠르고 효율적인 파일 전송이 가능해졌다.
6. 다운로드 규모와 생태계 파급력
2025년 10월 기준 huggingface_hub은 월간 1억 1,350만 회, 누적 16억 회의 다운로드를 기록했다. 하루 6만 명 이상, 한 달 55만 명 이상의 사용자가 이용하며, 공개 저장소만 기준으로도 200만 개 이상의 모델과 50만 개 이상의 데이터셋, 100만 개 이상의 스페이스에 대한 접근을 지원한다. 비공개 저장소까지 포함하면 그 규모는 공개 자원의 약 두 배에 이른다고 설명된다. 또한 GitHub의 20만 개가 넘는 저장소와 PyPI의 3,000개 패키지가 이 라이브러리에 의존하며, Hugging Face 자체 프로젝트뿐 아니라 여러 주요 외부 프레임워크와 수많은 소규모 도구가 공통 기반으로 사용한다. 특히 외부 통합의 상당수가 개발진의 직접 개입 없이 자발적으로 이루어졌다는 점은 huggingface_hub이 특정 제품의 보조 모듈을 넘어 범용적인 개방형 머신러닝 기반으로 자리 잡았음을 보여준다.
7. httpx와 hf_xet으로 재구축한 v1.0 기반
v1.0의 가장 큰 구조적 변화는 HTTP 라이브러리를 requests에서 httpx로 교체한 것이다. httpx는 HTTP/2를 기본 지원해 연결 효율을 높이고, 스레드 안전성을 바탕으로 여러 스레드가 연결을 안전하게 재사용할 수 있게 한다. 동기와 비동기 작업에 통일된 API를 제공하기 때문에 기존 동기·비동기 추론 클라이언트 사이에 존재하던 미묘한 동작 차이도 줄일 수 있다. 대부분의 일반 사용자는 코드를 바꿀 필요가 없도록 전환이 설계됐지만, 사용자 정의 HTTP 백엔드를 쓰는 경우에는 configure_http_backend 대신 set_client_factory와 set_async_client_factory를 사용하는 이전 경로가 제시됐다. 파일 업로드와 다운로드는 이제 hf_xet이 기본적으로 담당하며, 이전의 선택적 고속 전송 패키지였던 hf_transfer는 완전히 제거됐다.
8. MCP와 tiny-agents를 활용한 에이전트 구성
v0.32.0에서는 모델 컨텍스트 프로토콜 연동과 tiny-agents가 도입돼 AI 에이전트를 구축하는 방식이 단순해졌다. 원문은 복잡한 프레임워크 통합이 필요했던 작업을 약 70줄의 Python 코드로 구성할 수 있게 됐다고 설명한다. MCPClient는 에이전트가 도구와 상호작용하는 표준화된 방식을 제공하고, tiny-agents 명령줄 도구는 허브에서 에이전트를 직접 실행할 수 있도록 지원한다. 개발자는 로컬 또는 원격 MCP 서버에 연결하고, Gradio 스페이스를 도구로 사용하며, 자연스럽고 반응성 있는 대화형 에이전트를 구성할 수 있다. 이 기능들은 기존 InferenceClient와 수십 개의 추론 제공자 위에 구축됐으며, huggingface_hub은 에이전트 개발에 필요한 기본 구성 요소를 제공하는 역할을 지향한다.
9. 현대화된 hf CLI와 레거시 기능 정리
기존 huggingface-cli를 대체하는 hf 명령은 인증, 다운로드·업로드, 저장소 관리, 캐시 조회·삭제, 작업 실행을 자원과 동작 중심의 일관된 형태로 제공한다. 자동 완성과 여러 운영체제를 지원하고, 개발 환경의 기존 패키지를 깨뜨리지 않고 업그레이드할 수 있는 격리형 설치 프로그램도 제공해 현대적인 개발자 도구에 가까운 사용성을 갖췄다. 코드 내부에서는 Git 기반 Repository 클래스가 제거되고 upload_file과 create_commit 같은 HTTP 방식이 중심이 됐다. HfFolder의 토큰 관리는 login, logout, get_token 함수로 대체됐고, 기존 InferenceApi는 기능이 더 완전한 InferenceClient로 교체됐으며 hf_transfer도 hf_xet으로 통합됐다. 개발진은 이러한 폐기 사항을 수개월 전부터 경고와 이전 지침으로 안내했으며, transformers v4는 huggingface_hub v0 계열을 요구하고 향후 v5는 v1 계열을 요구한다는 예외를 제외하면 대부분의 머신러닝 라이브러리가 v0과 v1에서 원활히 작동하도록 호환성을 유지했다.
🧾 핵심 주장 / 시사점
- huggingface_hub의 핵심 변화는 기능 수의 증가만이 아니라, Git 명령을 감싸던 도구에서 HTTP·공용 캐시·청크 기반 저장을 갖춘 머신러닝 아티팩트 전용 기반으로 역할이 재정의됐다는 점이다.
- Xet 마이그레이션은 77페타바이트가 넘는 데이터를 사용자 개입이나 기존 작업 흐름의 중단 없이 이전함으로써, 대규모 기반 기술 교체에서 성능과 하위 호환성을 함께 추구한 사례다.
- 20만 개 이상의 GitHub 저장소와 3,000개 PyPI 패키지에서 나타난 자발적 외부 통합은 huggingface_hub의 영향력이 Hugging Face 자체 생태계에 한정되지 않고 개방형 머신러닝 전반으로 확산됐음을 보여준다.
✅ 액션 아이템
- v1.0 릴리스 맥락에서 2020년 v0.0.1부터 35회 이상 누적된 huggingface_hub 이력과 200만 모델·50만 데이터셋·100만 스페이스 지표를 시간축으로 정리한다.
- 2022년 HTTP Commit API와 공용 캐시 도입을 중심으로 Git·Git LFS 래퍼에서 독립 전송·저장 기반으로 이동한 구조 전환을 추론 엔드포인트·작업 API·커뮤니티 기능 확장과 연결해 정리한다.
- requests에서 httpx 전환, hf_xet 통합, hf CLI의 Typer 기반 명령화, 레거시 인터페이스 제거와 호환 경로 제공을 v1.0 이전 영향 항목으로 구분해 정리한다.
❓ 열린 질문
- requests에서 httpx로 바뀐 HTTP 계층이 기존 머신러닝 아티팩트 전송·조회 파이프라인에서 동작 특성을 실제로 어떻게 바꾸는가?
- Git 기반 Repository 클래스·HfFolder·InferenceApi·hf_transfer 제거가 기존 사용자·라이브러리의 이전 비용을 어떤 수준으로 만들 가능성이 있는가?
- 공용 캐시와 스페이스·추론·작업·커뮤니티 API 확장이 성능 이득을 주는지, 어떤 지표로 실제 개선을 판단할 것인가?