在 Hugging Face 使用适配器
注意:适配器已取代
adapter-transformers
库,并在模型权重方面完全兼容。 更多信息请参见 此处。
适配器 是 🤗 transformers
的附加库,用于使用适配器和其他参数高效方法来有效地微调预训练语言模型。 适配器还提供了在训练和推理期间组合适配器模块的各种方法。 您可以在 适配器论文 中了解更多信息。
在 Hub 上探索适配器
您可以在 模型页面 左侧的筛选器中找到 适配器模型。 一些适配器模型可以在适配器 Hub 存储库 中找到。 来自这两个来源的模型都在 适配器 Hub 网站 上聚合。
安装
要开始使用,您可以参考 适配器 Hub 安装指南。 您还可以使用以下单行 pip 安装
pip install adapters
使用现有模型
有关加载预训练适配器的完整指南,建议查看 官方指南。
简而言之,完整设置包含三个步骤
- 使用 适配器提供的
AutoAdapterModel
类加载基本transformers
模型。 - 使用
load_adapter()
方法加载并添加适配器。 - 通过
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
# or model.train_adapter(adapter_name)
您还可以使用 list_adapters
以编程方式查找所有适配器模型
from adapters import list_adapters
# source can be "ah" (AdapterHub), "hf" (hf.co) or None (for both, default)
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"
)
此命令会创建一个包含自动生成的模型卡和所有必要元数据的仓库。