Trung tâm Hugging Face v1.0- Năm năm xây dựng nền tảng của Máy học Mở

Bản phát hành lớn này đánh dấu một cột mốc quan trọng trong quá trình phát triển trung tâm, bao gồm các khả năng của nó và những gì mong đợi trong tương lai.

  • 15 min read
Trung tâm Hugging Face v1.0- Năm năm xây dựng nền tảng của Máy học Mở
Bản phát hành lớn này đánh dấu một cột mốc quan trọng trong quá trình phát triển trung tâm, bao gồm các khả năng của nó và những gì mong đợi trong tương lai.

huggingface_hub v1.0: Năm Năm Xây Dựng Nền Tảng của Mã Nguồn Mở Máy Học

TL;DR: Sau năm năm phát triển, huggingface_hub đã đạt đến phiên bản v1.0 - một cột mốc đánh dấu sự trưởng thành của thư viện như là một gói Python cung cấp sức mạnh cho 200.000 thư viện phụ thuộc và cung cấp chức năng cốt lõi để truy cập hơn 2 triệu mô hình công khai, 0,5 triệu bộ dữ liệu công khai và 1 triệu Spaces công khai. Bản phát hành này giới thiệu các thay đổi đột phá được thiết kế để hỗ trợ thập kỷ tiếp theo của mã nguồn mở máy học, được thúc đẩy bởi một cộng đồng toàn cầu gồm gần 300 người đóng góp và hàng triệu người dùng.

🚀 Chúng tôi đặc biệt khuyên bạn nên nâng cấp lên v1.0 để hưởng lợi từ những cải tiến hiệu suất lớn và khả năng mới.

bash pip install –upgrade huggingface_hub

Những thay đổi lớn trong bản phát hành này bao gồm việc chuyển sang httpx làm thư viện backend, một CLI hf được thiết kế lại hoàn toàn (thay thế cho huggingface-cli đã ngừng sử dụng) có giao diện dựa trên Typer với một bộ tính năng được mở rộng đáng kể và áp dụng đầy đủ hf_xet cho việc truyền tệp, thay thế cho hf_transfer kế thừa. Bạn có thể tìm thấy ghi chú phát hành đầy đủ tại đây.

Chúng tôi đã làm việc chăm chỉ để đảm bảo rằng huggingface_hub v1.0.0 vẫn tương thích ngược. Trên thực tế, hầu hết các thư viện ML sẽ hoạt động trơn tru với cả phiên bản v0.x và v1.x. Ngoại lệ chính là transformers, yêu cầu rõ ràng huggingface_hub v0.x trong các bản phát hành v4 của nó và v1.x trong bản phát hành v5 sắp tới. Để có cái nhìn tổng quan chi tiết về khả năng tương thích trên các thư viện, hãy tham khảo bảng trong vấn đề này.

Câu Chuyện Đằng Sau Thư Viện

Mọi thư viện lớn đều có một câu chuyện. Đối với huggingface_hub, nó bắt đầu với một ý tưởng đơn giản: điều gì sẽ xảy ra nếu việc chia sẻ các mô hình máy học có thể dễ dàng như chia sẻ mã trên GitHub?

Trong những ngày đầu của Hugging Face Hub, các nhà nghiên cứu và học viên phải đối mặt với một sự thất vọng chung. Đào tạo một mô hình hiện đại đòi hỏi nguồn lực tính toán và chuyên môn đáng kể. Sau khi được đào tạo, những mô hình này thường tồn tại biệt lập, được lưu trữ trên các máy cục bộ và được chia sẻ qua các liên kết Google Drive (bị hỏng). Cộng đồng AI đang sao chép công việc, lãng phí tài nguyên và bỏ lỡ các cơ hội hợp tác.

Hugging Face Hub nổi lên như một câu trả lời cho thách thức này. Ban đầu, nó chủ yếu được sử dụng để chia sẻ các checkpoint tương thích với thư viện transformers. Tất cả mã Python để tương tác với Hub đều nằm trong thư viện này, khiến nó không thể truy cập được để các thư viện khác sử dụng lại.

Vào cuối năm 2020, chúng tôi đã phát hành huggingface_hub v0.0.1 với một nhiệm vụ đơn giản: trích xuất logic bên trong từ transformers và tạo một thư viện chuyên dụng sẽ thống nhất cách truy cập và chia sẻ các mô hình và bộ dữ liệu máy học trên Hugging Face Hub. Ban đầu, thư viện đơn giản như một trình bao bọc Git để tải xuống tệp và quản lý kho lưu trữ. Năm năm và hơn 35 bản phát hành sau đó, huggingface_hub đã phát triển vượt xa nguồn gốc của nó.

Hãy cùng theo dõi hành trình đó.

Những Năm Nền Tảng (2020-2021)

Các bản phát hành ban đầu đã thiết lập những điều cơ bản. Phiên bản 0.0.8 giới thiệu các API đầu tiên của chúng tôi, bao bọc các lệnh Git để tương tác với kho lưu trữ. Phiên bản 0.0.17 mang đến xác thực dựa trên mã thông báo, cho phép truy cập an toàn vào các kho lưu trữ và tải lên riêng tư. Đây là những khởi đầu khiêm tốn, nhưng chúng đã đặt nền tảng cho mọi thứ sau này.

Sự Thay Đổi Lớn: Git sang HTTP (2022)

Vào tháng 6 năm 2022, phiên bản 0.8.1 đánh dấu một thời điểm then chốt: chúng tôi đã giới thiệu HTTP Commit API. Thay vì yêu cầu cài đặt Git và Git LFS, giờ đây người dùng có thể tải tệp trực tiếp thông qua các yêu cầu HTTP. API create_commit() mới đã đơn giản hóa đáng kể quy trình làm việc, đặc biệt đối với các tệp mô hình lớn khó sử dụng với Git LFS. Ngoài ra, một bố cục tệp bộ nhớ cache nhận biết git đã được giới thiệu. Tất cả các thư viện (không chỉ transformers mà cả các thư viện của bên thứ ba) giờ đây sẽ chia sẻ cùng một bộ nhớ cache, với phiên bản rõ ràng và loại bỏ trùng lặp tệp.

Đây không chỉ là một cải tiến kỹ thuật. Đó là một sự thay đổi triết học. Chúng tôi không còn xây dựng một trình bao bọc Git cho transformers; chúng tôi đang xây dựng cơ sở hạ tầng có mục đích cho các hiện vật máy học có thể cung cấp năng lượng cho bất kỳ thư viện nào trong hệ sinh thái ML.

Một Bề Mặt API Mở Rộng (2022–2024)

Khi Hub phát triển từ một kho lưu trữ mô hình thành một nền tảng đầy đủ, huggingface_hub đã bắt kịp với một bề mặt API mở rộng. Các nguyên thủy kho lưu trữ cốt lõi đã trưởng thành: liệt kê cây, duyệt các refs và commits, đọc tệp hoặc đồng bộ hóa thư mục, quản lý các thẻ, nhánh và chu kỳ phát hành. Siêu dữ liệu kho lưu trữ và webhooks đã hoàn thành các dịch vụ để các nhóm có thể phản ứng với những thay đổi trong thời gian thực.

Song song đó, Spaces nổi lên như một cách đơn giản nhưng mạnh mẽ để lưu trữ và chia sẻ các bản demo ML tương tác trực tiếp trên Hub. Theo thời gian, huggingface_hub đã đạt được toàn quyền kiểm soát theo chương trình để triển khai và quản lý Spaces (yêu cầu phần cứng, bí mật, cấu hình môi trường, tải lên). Để triển khai các mô hình trên cơ sở hạ tầng quy mô sản xuất, Inference Endpoints cũng đã được tích hợp. Cuối cùng, Jobs API đã ra mắt sau đó (Q3 2025) để hoàn thành dịch vụ tính toán của chúng tôi.

Các lớp xã hội và cộng đồng cũng trở thành công dân hạng nhất: từ các API cho pull requests và comments, đến thông tin người dùng và tổ chức, lượt thích kho lưu trữ, theo dõi và người theo dõi, xuyên suốt Collections để tuyển chọn và chia sẻ các bộ tài nguyên liên quan. Công thái học hàng ngày cũng được cải thiện: xác thực liền mạch trong Colab, tải xuống có thể tiếp tục, tải lên đáng tin cậy các thư mục quy mô lớn, v.v.

Sau đó, phiên bản 0.28.0 và hệ sinh thái Inference Providers đã ra đời. Thay vì một backend suy luận duy nhất, chúng tôi đã hợp tác với nhiều nhà cung cấp không máy chủ (Together AI, SambaNova, Replicate, Cerebras, Groq, v.v.) để phục vụ một API với định tuyến trong suốt. Chúng tôi đã áp dụng một kiến trúc suy luận trả tiền cho mỗi yêu cầu phù hợp với cách mọi người thực sự muốn làm việc.

Sẵn Sàng. Xet. Đi! (2024-2025)

Phiên bản 0.30.0 giới thiệu Xet, một giao thức mới đột phá để lưu trữ các đối tượng lớn trong kho lưu trữ Git. Không giống như Git LFS, khử trùng lặp ở cấp độ tệp, Xet hoạt động ở cấp độ chunk (chunk 64KB). Khi bạn cập nhật một tệp lớn trong một bộ dữ liệu hoặc một mô hình, chỉ các chunk đã thay đổi được tải lên hoặc tải xuống, chứ không phải toàn bộ tệp.

Việc di chuyển là rất lớn, bắt đầu với 20 petabyte trên hơn 500.000 kho lưu trữ. Tuy nhiên, nó đã xảy ra một cách minh bạch, với khả năng tương thích ngược hoàn toàn. Một năm sau, tất cả 77PB+ trên 6.000.000 kho lưu trữ đã được di chuyển sang backend Xet, cho phép tải lên và tải xuống nhanh hơn (và thông minh hơn!). Điều này đã xảy ra mà không cần sự can thiệp của người dùng và không làm gián đoạn quy trình làm việc hiện tại 🔥

Xet Progress

Đo Lường Sự Tăng Trưởng và Tác Động

Đo lường sự tăng trưởng và tác động của một thư viện mã nguồn mở là một nhiệm vụ khó khăn. Các con số kể một câu chuyện của riêng chúng:

  • 113,5 triệu lượt tải xuống hàng tháng, 1,6 tỷ tổng (Tháng 10 năm 2025).
  • Cung cấp quyền truy cập vào 2M+ mô hình công khai, 500k+ bộ dữ liệu công khai, 1M+ Spaces công khai và khoảng gấp đôi khi tính đến các kho lưu trữ riêng tư.
  • Được sử dụng bởi 60k+ người dùng hàng ngày, 550k+ hàng tháng
  • Được tin cậy bởi 200k+ công ty từ các công ty khởi nghiệp đến Fortune 500

Nhưng quy mô thực sự trở nên rõ ràng khi bạn nhìn vào hệ sinh thái. huggingface_hub là một phụ thuộc cho hơn 200.000 kho lưu trữ trên GitHub và 3.000 gói trên PyPI, cung cấp năng lượng cho mọi thứ, từ các framework lớn của bên thứ ba như Keras, LangChain, PaddleOCR, ChatTTS, YOLO, Google Generative AI, Moshi, NVIDIA NeMo và Open Sora, đến vô số thư viện và công cụ nhỏ hơn trên toàn cảnh ML. Hệ sinh thái của riêng chúng tôi (transformers, diffusers, datasets, sentence-transformers, lighteval, gradio, peft, trl, smolagents, timm, lerobot, v.v.) cũng được hưởng lợi từ nền tảng này.

Điều đáng chú ý là? Hầu hết các tích hợp của bên thứ ba đã xảy ra một cách tự nhiên và chúng tôi không đóng vai trò gì trong đó. Hugging Face Hub trao quyền cho cộng đồng ML theo vô số cách, nhưng chúng tôi liên tục khiêm tốn về mức độ nó đã đi và mức độ nó được sử dụng rộng rãi.

Xây Dựng cho Thập Kỷ Tiếp Theo

Phiên bản 1.0 không chỉ là đạt được một cột mốc quan trọng. Đó là về xây dựng nền tảng cho thập kỷ tiếp theo của mã nguồn mở máy học. Các thay đổi đột phá mà chúng tôi đã thực hiện không phải là tùy ý; chúng là các quyết định chiến lược định vị huggingface_hub để mở rộng quy mô với sự tăng trưởng bùng nổ của AI trong khi vẫn duy trì độ tin cậy mà hàng triệu nhà phát triển phụ thuộc vào.

Cơ Sở Hạ Tầng HTTP Hiện Đại với httpx và hf_xet

Thay đổi kiến trúc quan trọng nhất trong v1.0 là việc chúng tôi di chuyển từ requests sang httpx. Đây không chỉ là sự thay đổi phụ thuộc. Đó là một nâng cấp cơ bản đưa thư viện vào kỷ nguyên hiện đại của HTTP.

Tại sao httpx? Lợi ích là đáng kể: hỗ trợ HTTP/2 gốc để có hiệu quả kết nối tốt hơn và an toàn luồng thực sự cho phép sử dụng lại kết nối an toàn trên nhiều luồng. Quan trọng nhất, httpx cung cấp một API thống nhất cho cả hoạt động đồng bộ và không đồng bộ, loại bỏ sự khác biệt nhỏ về hành vi tồn tại giữa máy khách suy luận đồng bộ và không đồng bộ của chúng tôi.

Việc di chuyển được thiết kế để minh bạch nhất có thể. Hầu hết người dùng sẽ không cần phải thay đổi bất cứ điều gì. Đối với những người có backend HTTP tùy chỉnh, chúng tôi đã cung cấp các đường dẫn di chuyển rõ ràng từ configure_http_backend() sang set_client_factory()set_async_client_factory().

Ngoài ra, hf_xet hiện là gói mặc định để tải lên và tải xuống tệp đến và từ Hub, thay thế cho hf_transfer tùy chọn trước đây, hiện đã được loại bỏ hoàn toàn.

Các Tác Nhân Được Đơn Giản Hóa với MCP và Tác Nhân Nhỏ

Phiên bản 0.32.0 giới thiệu tích hợp Model Context Protocol (MCP)các tác nhân nhỏ, thay đổi cơ bản cách các nhà phát triển xây dựng các tác nhân AI. Những gì đã từng yêu cầu tích hợp framework phức tạp giờ đây mất khoảng 70 dòng Python.

MCPClient cung cấp một cách tiêu chuẩn hóa để các tác nhân AI tương tác với các công cụ, trong khi CLI tiny-agents cho phép bạn chạy các tác nhân trực tiếp từ Hub. Kết nối với các máy chủ MCP cục bộ hoặc từ xa, sử dụng bất kỳ Gradio Space nào làm công cụ và xây dựng các tác nhân đàm thoại có cảm giác tự nhiên và phản hồi nhanh.

Tất cả những điều này được xây dựng trên InferenceClient hiện có của chúng tôi và hàng tá Inference Provider mà nó hỗ trợ. Chúng tôi tin rằng các Tác nhân là tương lai và huggingface_hub ở đó để cung cấp các khối xây dựng cho phép những người xây dựng AI chơi với chúng.

Một CLI Đầy Đủ Tính Năng cho Quy Trình Làm Việc Hiện Đại

CLI đã phát triển từ một công cụ dòng lệnh đơn giản thành một giao diện toàn diện cho các hoạt động ML. Lệnh hf được sắp xếp hợp lý thay thế cho huggingface-cli kế thừa bằng một mẫu hành động tài nguyên hiện đại:

  • hf auth login để xác thực
  • hf downloadhf upload để truyền tệp
  • hf repo để quản lý kho lưu trữ
  • hf cache lshf cache rm để quản lý bộ nhớ cache
  • hf jobs run để tính toán đám mây

CLI đi kèm với một trình cài đặt sandbox, giúp dễ dàng nâng cấp mà không làm hỏng môi trường dev hiện có:

bash

Trên macOS hoặc Linux

curl -LsSf https://hf.co/cli/install.sh | sh

hoặc trên Windows

powershell -ExecutionPolicy ByPass -c “irm https://hf.co/cli/install.ps1 | iex”

Với hỗ trợ tự động hoàn thành và một trình cài đặt hoạt động trên các nền tảng, CLI hiện có cảm giác bóng bẩy như bất kỳ công cụ nhà phát triển hiện đại nào.

Dọn Dẹp Nhà Cửa cho Tương Lai

Phiên bản 1.0 loại bỏ các mẫu kế thừa đang kìm hãm chúng tôi. Lớp Repository dựa trên Git đã biến mất. Các phương pháp dựa trên HTTP như upload_file()create_commit() đơn giản hơn, đáng tin cậy hơn và phù hợp hơn cho quy trình làm việc hiện đại. Quản lý mã thông báo HfFolder đã được thay thế bằng các hàm login(), logout()get_token() rõ ràng. Lớp InferenceApi cũ đã được thay thế bằng InferenceClient đầy đủ tính năng hơn. hf_transfer đã được thay thế hoàn toàn bằng gói nhị phân hf_xet.

Những thay đổi này không được thực hiện một cách nhẹ nhàng. Hầu hết các từ chối đã được công bố trước nhiều tháng với các cảnh báo rõ ràng và hướng dẫn di chuyển. Kết quả là một codebase sạch hơn, dễ bảo trì hơn có thể tập trung vào các tính năng hướng tới tương lai hơn là hỗ trợ các mẫu đã ngừng sử dụng.

Hướng Dẫn Di Chuyển

Chúng tôi hiểu rằng các thay đổi đột phá gây rối. Đó là lý do tại sao chúng tôi đã đầu tư rất nhiều vào việc làm cho quá trình di chuyển diễn ra suôn sẻ nhất có thể. Hướng dẫn di chuyển toàn diện của chúng tôi cung cấp hướng dẫn từng bước cho mọi thay đổi với giải thích lý do tại sao mỗi thay đổi là cần thiết.

Quan trọng nhất, chúng tôi đã duy trì khả năng tương thích ngược ở bất cứ nơi nào có thể. HfHubHttpError, ví dụ, kế thừa cả các lớp HTTPError cơ bản cũ requesthttpx mới, đảm bảo rằng việc xử lý lỗi tiếp tục hoạt động trên các phiên bản.

Với bản phát hành này, chúng tôi hoàn toàn cam kết với tương lai và chúng tôi sẽ tập trung độc quyền vào v1.0 và hơn thế nữa, đảm bảo chúng tôi có thể cung cấp hiệu suất, tính năng và công cụ mà cộng đồng cần để tương tác với Hugging Face Hub. Các phiên bản v0.* trước đó sẽ vẫn có sẵn trên PyPI, nhưng chúng sẽ chỉ nhận được các bản cập nhật lỗ hổng bảo mật.

Chúng tôi đã làm việc chăm chỉ để đảm bảo rằng huggingface_hub v1.0.0 vẫn tương thích ngược. Trên thực tế, hầu hết các thư viện ML sẽ hoạt động trơn tru với cả phiên bản v0.x và v1.x. Ngoại lệ chính là transformers, yêu cầu rõ ràng huggingface_hub v0.x trong các bản phát hành v4 của nó và v1.x trong bản phát hành v5 sắp tới. Để có cái nhìn tổng quan chi tiết về khả năng tương thích trên các thư viện, hãy tham khảo bảng trong vấn đề này.

Lời Cảm Ơn

Gửi tới hơn 280 người đóng góp của chúng tôi, những người đã xây dựng thư viện này thông qua mã, tài liệu, bản dịch và hỗ trợ cộng đồng, xin cảm ơn!

Chúng tôi cũng vô cùng biết ơn toàn bộ cộng đồng Hugging Face vì phản hồi, báo cáo lỗi và đề xuất của họ đã định hình thư viện này.

Cuối cùng, xin gửi lời cảm ơn chân thành đến người dùng của chúng tôi - từ các nhà phát triển cá nhân đến các doanh nghiệp lớn - vì đã tin tưởng huggingface_hub để cung cấp năng lượng cho quy trình làm việc của bạn. Sự hỗ trợ của bạn thúc đẩy chúng tôi tiếp tục cải thiện và đổi mới.

Vui lòng gắn sao cho chúng tôi trên GitHub ⭐ để thể hiện sự ủng hộ của bạn và giúp chúng tôi tiếp tục xây dựng nền tảng của mã nguồn mở máy học. Đã năm năm, nhưng nó vẫn chỉ là sự khởi đầu!

Recommended for You

LeRobot v0.4.0- Siêu nạp cho học tập Robotics OSS

LeRobot v0.4.0- Siêu nạp cho học tập Robotics OSS

LeRobot v0.4.0 nhằm mục đích đơn giản hóa hơn nữa các thí nghiệm nghiên cứu trong lĩnh vực học tập robot nguồn mở.

Cùng nhau xây dựng hệ sinh thái Open Agent- Giới thiệu OpenEnv

Cùng nhau xây dựng hệ sinh thái Open Agent- Giới thiệu OpenEnv

Cùng nhau xây dựng hệ sinh thái Open Agent- Giới thiệu OpenEnv