Transformers documentation
Chia sẻ
Chia sẻ
Hub của Hugging Face là nền tảng để chia sẻ, khám phá và sử dụng các mô hình với mọi loại hình và kích thước khác nhau. Chúng tôi rất khuyến khích bạn chia sẻ mô hình của mình trên Hub để thúc đẩy máy học mã nguồn mở cho tất cả mọi người!
Hướng dẫn này sẽ cho bạn thấy cách chia sẻ một mô hình lên Hub từ Transformers.
Cài đặt
Để chia sẻ một model lên Hub, bạn cần một tài khoản Hugging Face. Hãy tạo một User Access Token (mặc định được lưu trong cache) và đăng nhập vào tài khoản của bạn từ dòng lệnh hoặc notebook.
hf auth login
from huggingface_hub import notebook_login
notebook_login()Tính năng của kho lưu trữ
Mỗi kho lưu trữ mô hình đều có tính năng quản lý phiên bản, lịch sử commit và trực quan hóa diff.

Phiên bản hóa dựa trên Git và Git Large File Storage (LFS), cho phép tạo các bản sửa đổi (revisions), một cách để chỉ định phiên bản mô hình bằng commit hash, tag hoặc branch.
Ví dụ, sử dụng tham số revision trong from_pretrained() để tải một phiên bản mô hình cụ thể từ một commit hash.
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="4c77982"
)Việc tải từ một nhánh hoặc thẻ sẽ cố định mọi tệp trong lệnh gọi đó vào một commit, sau đó tải mọi tệp từ commit đó.
Pin đó chỉ có hiệu lực trong suốt cuộc gọi. Để đảm bảo khả năng tái lập giữa các lần chạy, hãy truyền một commit hash hoặc một tag mà bạn coi là cố định. Đừng dựa vào việc main hoặc một nhánh di động khác sẽ giữ nguyên giữa các lần chạy.
Các kho lưu trữ mô hình cũng hỗ trợ gating để kiểm soát ai có thể truy cập một mô hình. Gating thường được dùng để cho phép một nhóm người dùng nhất định xem trước một mô hình nghiên cứu trước khi nó được công bố công khai.

Kho lưu trữ mô hình cũng bao gồm một widget suy luận để người dùng có thể tương tác trực tiếp với mô hình trên Hub.
Xem tài liệu Models trên Hub để biết thêm thông tin.
Tải lên một mô hình
Có một số cách để tải lên Hub một mô hình tùy thuộc vào quy trình làm việc bạn ưa thích. Bạn có thể đẩy mô hình bằng Trainer, gọi trực tiếp push_to_hub() trên một mô hình, hoặc sử dụng giao diện web của Hub.
Trainer
Trainer có thể đẩy mô hình trực tiếp lên Hub sau khi huấn luyện. Đặt push_to_hub=True trong TrainingArguments và truyền nó vào Trainer. Khi quá trình huấn luyện hoàn tất, gọi push_to_hub() để tải mô hình lên.
push_to_hub() tự động thêm các thông tin hữu ích như siêu tham số huấn luyện và kết quả vào thẻ mô hình.
from transformers import TrainingArguments, Trainer
training_args = TrainingArguments(output_dir="my-awesome-model", push_to_hub=True)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=small_train_dataset,
eval_dataset=small_eval_dataset,
compute_metrics=compute_metrics,
)
trainer.push_to_hub()Để tải model lên một kho riêng tư, hãy đặt hub_private_repo=True trong TrainingArguments. Nếu kho chưa được tạo (ví dụ, khi push_to_hub=False trong TrainingArguments), bạn cũng có thể truyền private=True cho push_to_hub() thay thế. Tham số private chỉ có hiệu lực khi kho được tạo, do đó nó không thay đổi mức độ hiển thị của một kho đã tồn tại.
trainer.push_to_hub(private=True)PushToHubMixin
PushToHubMixin cung cấp chức năng để đẩy mô hình hoặc tokenizer lên Hub.
Gọi push_to_hub() trực tiếp trên một model để tải nó lên Hub. Nó sẽ tạo một repository dưới namespace của bạn với tên model được chỉ định trong push_to_hub().
model.push_to_hub("my-awesome-model")Các đối tượng khác như tokenizer cũng được đẩy lên Hub theo cách tương tự.
tokenizer.push_to_hub("my-awesome-model")Hồ sơ Hugging Face của bạn giờ đây sẽ hiển thị kho lưu trữ model vừa được tạo. Điều hướng đến tab Files để xem tất cả các tệp đã tải lên.
Tham khảo hướng dẫn Tải tệp lên Hub để biết thêm thông tin về việc đẩy tệp lên Hub.
Giao diện web của Hub
Giao diện web của Hub là cách tiếp cận không cần viết mã để tải lên một mô hình.
- Tạo một kho lưu trữ mới bằng cách chọn Mô hình mới.

Thêm một số thông tin về mô hình của bạn:
- Chọn người sở hữu của kho lưu trữ. Đây có thể là chính bạn hoặc bất kỳ tổ chức nào mà bạn tham gia.
- Chọn tên cho mô hình của bạn, đây cũng sẽ là tên kho lưu trữ.
- Chọn xem mô hình của bạn là công khai hay riêng tư.
- Đặt cách sử dụng giấy phép.
Nhấp vào Create model để tạo kho lưu trữ mô hình.
Chọn tab Files và nhấp vào nút Add file để kéo và thả tệp vào kho của bạn. Thêm thông báo commit và nhấp vào Commit changes to main để commit tệp.

Thẻ mô hình
Thẻ mô hình cung cấp cho người dùng thông tin về hiệu suất, hạn chế, các thiên kiến tiềm ẩn và các cân nhắc đạo đức của mô hình. Rất khuyến khích bạn thêm thẻ mô hình vào kho lưu trữ của mình!
Model card là tệp README.md trong kho của bạn. Thêm tệp này bằng cách:
- tự động tạo và tải lên tệp
README.md - nhấp vào nút Edit model card trong kho
Xem thẻ mô hình model card của Llama 3.1 để có ví dụ về những nội dung cần đưa vào thẻ mô hình.
Tìm hiểu thêm về các metadata khác của model card (phát thải carbon, giấy phép, liên kết đến bài báo, v.v.) có sẵn trong hướng dẫn Model Cards.
Update on GitHub