Transformers 文件
共享
並獲得增強的文件體驗
開始使用
共享
Hugging Face Hub 是一個用於共享、發現和使用各種不同型別和大小的模型的平臺。我們強烈建議您在 Hub 上共享您的模型,以推動開源機器學習為每個人服務!
本指南將向您展示如何從 Transformers 將模型共享到 Hub。
設定
要將模型共享到 Hub,您需要一個 Hugging Face 帳戶。建立一個使用者訪問令牌(預設儲存在快取目錄中),然後從命令列或 notebook 登入您的帳戶。
huggingface-cli login
倉庫功能
每個模型倉庫都具備版本控制、提交歷史和差異視覺化功能。

版本控制基於 Git 和 Git Large File Storage (LFS),它啟用了修訂版(revisions),這是一種使用提交雜湊、標籤或分支來指定模型版本的方法。
例如,在 from_pretrained() 中使用 `revision` 引數來從特定的提交雜湊載入模型版本。
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="4c77982"
)
模型倉庫還支援門控,以控制誰可以訪問模型。門控常用於允許特定使用者群體在模型公開之前預覽研究模型。

模型倉庫還包括一個推理小部件,使用者可以在 Hub 上直接與模型互動。
請查閱 Hub 模型文件以獲取更多資訊。
模型框架轉換
透過使模型在 PyTorch、TensorFlow 和 Flax 中可用,來吸引更廣泛的受眾。雖然使用者在使用不同框架時仍然可以載入模型,但這會比較慢,因為 Transformers 需要即時轉換檢查點。先轉換檢查點會更快。
設定 `from_tf=True` 將檢查點從 TensorFlow 轉換為 PyTorch,然後儲存它。
from transformers import DistilBertForSequenceClassification
pt_model = DistilBertForSequenceClassification.from_pretrained("path/to/awesome-name-you-picked", from_tf=True)
pt_model.save_pretrained("path/to/awesome-name-you-picked")
上傳模型
根據您的工作流程偏好,有幾種方法可以將模型上傳到 Hub。您可以使用 Trainer、TensorFlow 模型的回撥函式、直接在模型上呼叫 push_to_hub(),或者使用 Hub 網頁介面。
Trainer
Trainer 可以在訓練後直接將模型推送到 Hub。在 TrainingArguments 中設定 `push_to_hub=True` 並將其傳遞給 Trainer。訓練完成後,呼叫 push_to_hub() 上傳模型。
push_to_hub() 會自動將有用的資訊,如訓練超引數和結果,新增到模型卡片中。
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()
PushToHubCallback
對於 TensorFlow 模型,將 PushToHubCallback 新增到 fit 方法中。
from transformers import PushToHubCallback
push_to_hub_callback = PushToHubCallback(
output_dir="./your_model_save_path", tokenizer=tokenizer, hub_model_id="your-username/my-awesome-model"
)
model.fit(tf_train_dataset, validation_data=tf_validation_dataset, epochs=3, callbacks=push_to_hub_callback)
PushToHubMixin
PushToHubMixin 提供了將模型或分詞器推送到 Hub 的功能。
直接在模型上呼叫 push_to_hub() 將其上傳到 Hub。它會在您的名稱空間下建立一個倉庫,倉庫名稱是在 push_to_hub() 中指定的模型名稱。
model.push_to_hub("my-awesome-model")
其他物件,如分詞器或 TensorFlow 模型,也以同樣的方式推送到 Hub。
tokenizer.push_to_hub("my-awesome-model")
您的 Hugging Face 個人資料現在應該會顯示新建立的模型倉庫。導航到 Files 選項卡以檢視所有上傳的檔案。
有關將檔案推送到 Hub 的更多資訊,請參閱將檔案上傳到 Hub指南。
Hub 網頁介面
Hub 網頁介面是一種無需程式碼即可上傳模型的方法。
- 透過選擇 New Model 建立一個新的倉庫。

新增一些關於您模型的資訊
- 選擇倉庫的 owner。這可以是您自己或您所屬的任何組織。
- 為您的模型選擇一個名稱,這也將是倉庫的名稱。
- 選擇您的模型是公開的還是私有的。
- 設定許可證用途。
點選 Create model 來建立模型倉庫。
選擇 Files 選項卡,然後點選 Add file 按鈕將檔案拖放到您的倉庫中。新增提交資訊,然後點選 Commit changes to main 提交檔案。

模型卡片
模型卡片向用戶介紹模型的效能、侷限性、潛在偏見和倫理考慮。強烈建議您在倉庫中新增模型卡片!
模型卡片是您倉庫中的一個 `README.md` 檔案。透過以下方式新增此檔案:
- 手動建立並上傳一個 `README.md` 檔案
- 點選倉庫中的 Edit model card 按鈕
可以參考 Llama 3.1 模型卡片,瞭解模型卡片中應包含的內容示例。
在模型卡片指南中瞭解更多關於其他模型卡片元資料(碳排放、許可證、論文連結等)的資訊。
< > 在 GitHub 上更新