Hub documentation

Tải xuống các mô hình

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Tải xuống các mô hình

Các thư viện tích hợp

Nếu một model trên Hub được liên kết với một thư viện được hỗ trợ, việc nạp model có thể được thực hiện chỉ với vài dòng. Để biết thông tin về cách truy cập model, bạn có thể nhấp vào nút “Use in Library” trên trang model để xem cách thực hiện. Ví dụ, distilbert/distilgpt2 cho thấy cách làm điều này với 🤗 Transformers bên dưới.

Sử dụng Thư viện Khách hàng Hugging Face

Bạn có thể sử dụng thư viện huggingface_hub để tạo, xóa, cập nhật và truy xuất thông tin từ các repo. Ví dụ, để tải xuống model HuggingFaceH4/zephyr-7b-beta từ dòng lệnh, hãy chạy

hf download HuggingFaceH4/zephyr-7b-beta

Xem tài liệu tải xuống CLI để biết thêm thông tin.

Bạn cũng có thể tích hợp điều này vào thư viện của riêng mình. Ví dụ, bạn có thể nhanh chóng tải một mô hình Scikit-learn chỉ với vài dòng.

from huggingface_hub import hf_hub_download
import joblib

REPO_ID = "YOUR_REPO_ID"
FILENAME = "sklearn_model.joblib"

model = joblib.load(
    hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
)

Sử dụng Git

Vì tất cả các model trên Model Hub đều là các kho Git có Xet hỗ trợ, bạn có thể clone các model về máy cục bộ bằng cách cài đặt git-xet và chạy:

git xet install
git lfs install
git clone git@hf.co:<MODEL ID> # example: git clone git@hf.co:bigscience/bloom

Nếu bạn có quyền ghi vào kho lưu trữ mô hình cụ thể, bạn cũng sẽ có khả năng commit và push các bản sửa đổi cho mô hình.

Thêm khóa SSH công khai của bạn vào cài đặt người dùng để đẩy các thay đổi và/hoặc truy cập các kho riêng tư.

Tải xuống nhanh hơn

Kiểm tra tốc độ tải xuống của bạn

Bạn có thể kiểm tra tốc độ tải xuống từ CDN của Hugging Face tại fast.hf.co. Thao tác này chạy một bài kiểm tra băng thông nhanh với máy chủ biên HF gần nhất, giúp bạn hiểu được thông lượng cơ bản trước khi tinh chỉnh bất kỳ cài đặt nào.

Bạn cũng có thể đo tốc độ tải xuống trực tiếp từ terminal bằng cách sử dụng tiện ích CLI hf-speedtest:

hf extensions install julien-c/hf-speedtest
hf speedtest

Độ song song thích ứng với hf_xet

hf_xet là một gói dựa trên Rust, tận dụng backend lưu trữ Xet để tối ưu hóa việc truyền tệp bằng cách khử trùng lặp dựa trên chunk. Mặc định, hf_xet sử dụng độ song song thích ứng — nó tự động điều chỉnh số lượng luồng truyền song song dựa trên điều kiện mạng thời gian thực, bắt đầu ở mức thận trọng (1 luồng) và tăng dần lên 64 luồng song song khi băng thông cho phép.

Đối với hầu hết các máy — bao gồm cả môi trường trung tâm dữ liệu — các cài đặt mặc định đã đủ để bão hòa băng thông mạng khả dụng. Đối với người dùng nâng cao trên các máy có băng thông cao và ổ đĩa nhanh, HF_XET_HIGH_PERFORMANCE=1 sẽ tăng giới hạn độ song song và tăng kích thước bộ đệm bộ nhớ, điều này có thể hữu ích khi tải xuống nhiều tệp lớn song song.

HF_XET_HIGH_PERFORMANCE=1 hf download ...

Bắt đầu từ hf_xet 1.7.0, kích thước bộ đệm tải xuống được xác định dựa trên bộ nhớ khả dụng cho hf_xet, bao gồm cả giới hạn bộ nhớ của container, có hoặc không có HF_XET_HIGH_PERFORMANCE=1. Với các phiên bản trước đó, chỉ nên sử dụng HF_XET_HIGH_PERFORMANCE=1 trên các máy có ít nhất 64 GB RAM. Xem Bộ đệm tải xuống để biết các giá trị được sử dụng.

Sử dụng hf-mount

Với các mô hình lớn, bạn có thể gắn (mount) một kho (repo) như một hệ thống tệp cục bộ bằng hf-mount thay vì tải xuống toàn bộ kho. Các tệp được lấy theo kiểu lười (lazy) — chỉ những byte mà mã của bạn đọc mới được truyền qua mạng.

brew install hf-mount
hf-mount start repo openai-community/gpt2 /tmp/gpt2

Các kho (Repos) được gắn (mount) ở chế độ chỉ đọc. Xem Gắn như một Hệ thống tệp cục bộ để biết chi tiết cài đặt đầy đủ, các tùy chọn backend và bộ nhớ đệm.

Tải xuống sau proxy hoặc tường lửa

Nếu mạng của bạn hạn chế lưu lượng ra bên ngoài qua tường lửa hoặc proxy, việc tải xuống các model và dataset đòi hỏi nhiều hơn là chỉ huggingface.co. Nội dung tệp được cung cấp từ các tên máy chủ lưu trữ và CDN riêng biệt, và from_pretrained / hf download sẽ thất bại nếu không thể truy cập được các tên máy chủ này, ngay cả khi huggingface.co đã được đưa vào danh sách cho phép.

Cho phép các tên máy chủ sau (đều qua HTTPS / cổng 443):

HostnameMục đích
huggingface.coAPI của Hub, metadata và chuyển hướng tải xuống
cas-server.xethub.hf.coCác API giao thức Xet, tải xuống và tải lên (US)
cas-server.xethub-eu.hf.coAPI của giao thức Xet, tải xuống và tải lên (EU)
transfer.xethub.hf.coAPI tải xuống lưu trữ Xet (Hoa Kỳ)
transfer.xethub-eu.hf.coAPI tải xuống lưu trữ Xet (EU)
us.aws.cdn.hf.coCDN edge (Mỹ)
us.gcp.cdn.hf.coCDN edge (Mỹ)
cdn-lfs-us-1.hf.coLFS CDN (Mỹ)
cdn-lfs-eu-1.hf.coLFS CDN (EU)

Tải xuống sẽ theo dõi các chuyển hướng HTTP từ huggingface.co đến các tên máy chủ này, do đó chỉ cho phép huggingface.co là chưa đủ. Một lỗi ReadTimeoutError (thay vì lỗi kết nối) xảy ra giữa chừng quá trình tải xuống thường có nghĩa là kết nối ban đầu đã thành công nhưng một máy chủ lưu trữ hoặc CDN bị chặn.

Hành vi của wildcard phụ thuộc vào cách proxy của bạn khớp các tên miền. Nhiều proxy doanh nghiệp xử lý một mục trong danh sách cho phép như một phép khớp hậu tố bao phủ các tên miền con ở mọi độ sâu. Nếu proxy của bạn hoạt động như vậy, lựa chọn đơn giản nhất là thêm các hậu tố hf.co và huggingface.co vào danh sách cho phép — chúng bao phủ mọi endpoint lưu trữ và CDN hiện tại cũng như trong tương lai.

Nếu proxy của bạn chỉ hỗ trợ wildcard đơn nhãn (trong đó *.hf.co khớp với cdn-lfs-us-1.hf.co nhưng không khớp với các tên miền sâu hơn như us.aws.cdn.hf.co hoặc cas-server.xethub.hf.co), hãy thêm các tên máy chủ tường minh từ bảng trên vào danh sách cho phép. Lưu ý rằng *.xethub.hf.co không bao gồm các máy chủ EU dưới xethub-eu.hf.co, và *.cdn.hf.co không bao gồm các tên miền hai nhãn us.aws.cdn.hf.co / us.gcp.cdn.hf.co.

Các tên máy chủ này có thể thay đổi khi hạ tầng lưu trữ và CDN của chúng tôi phát triển. Nếu chính sách bảo mật của bạn cho phép, hãy thêm các hậu tố hf.co và huggingface.co (tất cả các tên miền con) vào danh sách cho phép để các quy tắc của bạn không bị lỗi khi một điểm cuối cụ thể thay đổi.

Danh sách có thể đọc được bằng máy

Các tên máy chủ ở trên cũng được công bố dưới dạng JSON tại https://huggingface.co/.well-known/meta.json, do đó bạn có thể tạo các quy tắc proxy hoặc tường lửa từ tệp này thay vì sao chép bảng thủ công.

Tệp này thay đổi khi các endpoint được thêm vào và xóa đi. Hãy lấy tệp khi bạn xây dựng các quy tắc của mình thay vì cố định một bản sao.

Update on GitHub