跳到主要内容

在 Hugging Face 使用 Adapters

注意:Adapters 已取代 adapter-transformers 库,在模型权重方面完全兼容。更多信息请参见此处

Adapters 是 🤗 transformers 的附加库,用于使用适配器和其他参数高效方法高效微调预训练语言模型。 Adapters 还提供了在训练和推理期间组合适配器模块的各种方法。 你可以在 Adapters 论文中了解更多信息。

在 Hub 上探索 Adapters

你可以通过在模型页面左侧筛选来查找 Adapters 模型。一些适配器模型可以在 Adapter Hub 仓库中找到。来自两个来源的模型都聚合在 AdapterHub 网站上。

安装

要开始使用,你可以参考 AdapterHub 安装指南。你也可以通过 pip 使用以下一行安装:

pip install adapters

使用现有模型

有关加载预训练适配器的完整指南,我们建议查看官方指南

简而言之,完整设置包括三个步骤:

  1. 使用 Adapters 提供的 AutoAdapterModel 类加载基础 transformers 模型。
  2. 使用 load_adapter() 方法加载并添加适配器。
  3. 通过 active_adapters 激活适配器(用于推理)或通过 train_adapter() 激活并设置为可训练(用于训练)。请务必查看适配器组合
from adapters import AutoAdapterModel

# 1.
model = AutoAdapterModel.from_pretrained("FacebookAI/roberta-base")
# 2.
adapter_name = model.load_adapter("AdapterHub/roberta-base-pf-imdb")
# 3.
model.active_adapters = adapter_name
# 或 model.train_adapter(adapter_name)

你还可以使用 list_adapters 以编程方式查找所有适配器模型:

from adapters import list_adapters

# source 可以是 "ah" (AdapterHub)、"hf" (hf.co) 或 None(两者,默认)
adapter_infos = list_adapters(source="hf", model_name="FacebookAI/roberta-base")

如果你想查看如何加载特定模型,可以点击 Use in Adapters,你将获得一个可用的代码片段来加载它!

在适配器中使用模型在适配器中使用模型
在适配器中使用模型在适配器中使用模型

分享你的模型

有关使用 Adapters 分享模型的完整指南,我们建议查看官方指南

你可以使用已包含适配器的模型的 push_adapter_to_hub 方法来分享你的适配器。

model.push_adapter_to_hub(
"my-awesome-adapter",
"awesome_adapter",
adapterhub_tag="sentiment/imdb",
datasets_tag="imdb"
)

此命令创建一个带有自动生成的模型卡片和所有必要元数据的仓库。

其他资源