跳到主要内容

How to Add a Space to ArXiv

在 Hugging Face Spaces 上的 Demo,可以让大量用户无需编写任何代码,就能直接体验最新的机器学习研究成果。Hugging Face 和 ArXiv 已经展开合作,可以把这些 Demo 直接嵌入到 ArXiv 论文页面中!

得益于这项集成,用户现在可以在论文的 arXiv 摘要页中,直接找到与该论文相关、最受欢迎的 Demo。例如,如果你想体验 LayoutLM 文档分类模型的 Demo,可以打开 LayoutLM 论文的 arXiv 页面,切换到 Demo 标签页,就能看到由社区构建的多个开源 Demo,并且可以直接在浏览器中运行它们:

下面我们会介绍两种不同的方法,把你的 Space 关联到 ArXiv,让它出现在论文页面的 Demos 标签中。

前置条件

  • ArXiv 上已经存在一篇你想为其构建 Demo 的论文。
  • 你已经在 Spaces 上构建好了(或者可以构建)对应模型的 Demo。

方法一(推荐):在 Space README 中添加链接

最简单的做法,是在 Space 的 README 文件(README.md)中,直接加入这篇 ArXiv 论文的链接。通常也建议同时给出论文的完整引用信息。你可以在这个 Space 的 README 中看到一个示例:Echocardiogram Segmentation Space README

完成这一步之后,稍等几分钟,你的 Space 就会自动出现在 ArXiv 对应论文页面的 Demo 标签里了 🤗

方法二:通过关联模型进行链接

另一种方式是:先把论文关联到 Hub 上的模型,然后再把模型关联到 Space 上。这样通过中间的模型,将 Space 与论文间接地关联起来。这要求论文必须 已经关联到某个在 Hugging Face Hub 上的模型(或者你可以把该模型上传到 Hub)。

  1. 首先,如果与论文对应的模型还没有在 Hugging Face Hub 上,先把模型上传到 Hub。(详细的上传说明见这里

  2. 然后,在编写该模型的 model card(README.md)时,加入指向 ArXiv 论文的链接。同样也建议附上完整引用。你可以在 LayoutLM 模型卡 中看到一个示例。

    注意:你可以通过模型页面上是否出现 ArXiv 按钮,来验证这一步是否生效。以 LayoutLM 为例,按钮上会显示 “arxiv:1912.13318”,并链接到对应的 LayoutLM 论文页面。

  3. 接下来,在 Spaces 上创建一个 Demo,并在其中加载这个模型。在 Space 的代码里,必须显式包含该模型的名称,以便 Hugging Face 能检测到这个 Space 与模型之间的关联。

    例如,docformer_for_document_classification 这个 Space 会加载 LayoutLM 模型,对应代码片段在这里,其中包含字符串 "microsoft/layoutlm-base-uncased"

    from transformers import LayoutLMForTokenClassification

    layoutlm_dummy = LayoutLMForTokenClassification.from_pretrained("microsoft/layoutlm-base-uncased", num_labels=1)

    注意:这里有一篇关于如何在 Hugging Face Spaces 上构建 Demo 的概览,另外还有针对 GradioStreamlit 的更具体说明。

  4. 当你的 Space 完成构建后,Hugging Face 会自动检测并识别出它与对应模型之间的关联。你应该会在 Space 页面右上角看到一个 “Linked Models” 按钮,如下图所示:

    注意:你也可以通过修改 Space 的 README 元数据 来手动添加关联模型。

完成以上步骤后,稍等几分钟,你的 Space 同样会出现在 ArXiv 论文页面的 Demo 标签中 🤗