LLM 课程文档
使用预训练模型
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
使用预训练模型
模型中心(Model Hub)使得选择合适的模型变得简单,因此只需几行代码即可在任何下游库中使用它。让我们看看如何实际使用这些模型,以及如何回馈社区。
假设我们正在寻找一个可以执行掩码填充的法语模型。

我们选择 `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'}
]
如您所见,在 pipeline 中加载模型非常简单。您唯一需要注意的是,所选的检查点是否适合它将要用于的任务。例如,这里我们将 `camembert-base` 检查点加载到 `fill-mask` pipeline 中,这完全没问题。但是,如果我们将此检查点加载到 `text-classification` pipeline 中,结果将毫无意义,因为 `camembert-base` 的头部不适合此任务!我们建议使用 Hugging Face Hub 界面中的任务选择器来选择合适的检查点。

您也可以直接使用模型架构实例化检查点。
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")
使用预训练模型时,请务必检查它是如何训练的、在哪些数据集上训练的、其局限性以及其偏见。所有这些信息都应在其模型卡上注明。
< > 在 GitHub 上更新