与Hugging Face模型中心的集成

Hugging Face Hub logo.

您可以从Hugging Face的模型中心下载适配器并上传适配器。 本文档描述了在使用适配器时如何与模型中心进行交互。

从Hub下载

Hugging Face模型中心已经提供了数百个可供下载的预训练适配器。要搜索可用的适配器,可以在模型中心网站上使用Adapters库筛选器,或者访问此链接:https://huggingface.co/models?library=adapter-transformers。另外,Hugging Face模型中心上的所有适配器也会与直接上传到AdapterHub的所有适配器一起列在https://adapterhub.ml/explore上。

找到想要使用的适配器后,将其加载到Transformer模型中非常简单。例如,要加载并激活适配器AdapterHub/roberta-base-pf-sick,可以编写:

from adapters import AutoAdapterModel

model = AutoAdapterModel.from_pretrained("roberta-base")
adapter_name = model.load_adapter("AdapterHub/roberta-base-pf-sick")
model.active_adapters = adapter_name

上传至Hub

Hugging Face的模型中心为所有人提供了一种便捷的方式来上传预训练模型并与世界分享。 当然,现在也可以通过adapters实现这一点! 接下来,我们将介绍通过adapters库直接使用Python上传adapter的最快方法。 如需了解更多选项和信息(例如通过CLI和Git管理模型),请参阅HugginFace的文档

  1. 准备访问凭证: 首次向Hugging Face模型中心推送前,我们需要将访问令牌存储在缓存中。 这可以通过运行huggingface-cli命令完成:

    huggingface-cli login
    
  2. 推送适配器: 接下来,我们可以继续上传我们的第一个适配器。 假设我们有一个标准的预训练Transformers模型,其中包含一个名为awesome_adapter的现有适配器(例如通过model.add_adapter("awesome_adapter")添加并在训练后)。 我们现在可以使用model.push_adapter_to_hub()将这个适配器推送到模型中心,如下所示:

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

    这将在您的用户名下创建一个名为my-awesome-adapter的仓库,生成一个默认的适配器卡片作为README.md,并将名为awesome_adapter的适配器与适配器卡片一起上传到新仓库。 datasets_tag提供了用于分类的附加信息。

    注意

    所有上传到Hugging Face模型中心的适配器也会自动列在AdapterHub.ml上。因此,为了更好地分类,在向模型中心上传新适配器时,datasets_tag很有帮助。datasets_tag指定了适配器训练所用的数据集,作为Hugging Face Datasets中的标识符。

瞧!您的第一个适配器已上传至Hugging Face模型中心。 现在任何人都可以运行:

model.load_adapter("<your_username>/my-awesome-adapter")

要更新您的适配器,只需再次使用相同的仓库名称运行push_adapter_to_hub()。这将向现有仓库推送一个新的提交。

你可以在此处找到push_adapter_to_hub()的完整文档here