NLP 課程文件

使用預訓練模型

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強文件體驗的訪問許可權

開始使用

使用預訓練模型

Ask a Question Open In Colab Open In Studio Lab

模型中心使得選擇合適的模型變得簡單,因此在任何下游庫中使用它都可以通過幾行程式碼完成。讓我們看看如何實際使用這些模型之一,以及如何回饋社群。

假設我們正在尋找一個可以執行掩碼填充的法語模型。

Selecting the Camembert model.

我們選擇 `camembert-base` 檢查點來嘗試它。識別符號 `camembert-base` 是我們開始使用它所需要的全部!正如您在之前的章節中所見,我們可以使用 `pipeline()` 函式例項化它

from transformers import pipeline

camembert_fill_mask = pipeline("fill-mask", model="camembert-base")
results = camembert_fill_mask("Le camembert est <mask> :)")
[
  {'sequence': 'Le camembert est délicieux :)', 'score': 0.49091005325317383, 'token': 7200, 'token_str': 'délicieux'}, 
  {'sequence': 'Le camembert est excellent :)', 'score': 0.1055697426199913, 'token': 2183, 'token_str': 'excellent'}, 
  {'sequence': 'Le camembert est succulent :)', 'score': 0.03453313186764717, 'token': 26202, 'token_str': 'succulent'}, 
  {'sequence': 'Le camembert est meilleur :)', 'score': 0.0330314114689827, 'token': 528, 'token_str': 'meilleur'}, 
  {'sequence': 'Le camembert est parfait :)', 'score': 0.03007650189101696, 'token': 1654, 'token_str': 'parfait'}
]

如您所見,在管道中載入模型非常簡單。您唯一需要注意的是選擇的檢查點是否適合它將要執行的任務。例如,這裡我們在 `fill-mask` 管道中載入 `camembert-base` 檢查點,這完全沒問題。但是,如果我們在 `text-classification` 管道中載入此檢查點,結果將毫無意義,因為 `camembert-base` 的頭部不適合此任務!我們建議使用 Hugging Face Hub 介面中的任務選擇器來選擇合適的檢查點

The task selector on the web interface.

您也可以使用模型架構直接例項化檢查點

from transformers import CamembertTokenizer, CamembertForMaskedLM

tokenizer = CamembertTokenizer.from_pretrained("camembert-base")
model = CamembertForMaskedLM.from_pretrained("camembert-base")

但是,我們建議使用 `Auto*` 類,因為它們在設計上是與架構無關的。雖然前面的程式碼示例將使用者限制在可以在 CamemBERT 架構中載入的檢查點,但使用 `Auto*` 類使得切換檢查點變得簡單

from transformers import AutoTokenizer, AutoModelForMaskedLM

tokenizer = AutoTokenizer.from_pretrained("camembert-base")
model = AutoModelForMaskedLM.from_pretrained("camembert-base")
使用預訓練模型時,請務必檢查它是如何訓練的、在哪些資料集上訓練的、它的侷限性和偏差。所有這些資訊都應該在其模型卡片上註明。

© . This site is unofficial and not affiliated with Hugging Face, Inc.