Transformers documentation

Chia sẻ

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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.

huggingface-CLI
notebook
hf auth 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.

  1. 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.
  1. Nhấp vào Create model để tạo kho lưu trữ mô hình.

  2. 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