LLM 课程文档

使用预训练模型

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

使用预训练模型

Ask a Question Open In Colab Open In Studio Lab

模型中心 (Model Hub) 使选择合适的模型变得简单,因此在任何下游库中使用它只需几行代码即可完成。让我们看看如何实际使用这些模型,以及如何为社区做出贡献。

假设我们正在寻找一个基于法语的模型,它可以执行掩码填充 (mask filling)。

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'}
]

如您所见,在 pipeline 中加载模型非常简单。您唯一需要注意的是,所选的检查点适合它将要使用的任务。例如,这里我们在 fill-mask pipeline 中加载 camembert-base 检查点,这完全没问题。但是,如果我们在 text-classification pipeline 中加载此检查点,则结果将毫无意义,因为 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")
当使用预训练模型时,请务必检查它是如何训练的,在哪些数据集上训练的,它的局限性以及它的偏差。所有这些信息都应在其模型卡片上注明。
< > 在 GitHub 上更新