什么是开源发布东西包?

祝贺你的论文成功宣布,这是一个巨大的成就!你的研讨效果将为学界做出贡献。

其实除了宣布论文之外,你还能够经过发布研讨的其他部分,如代码、数据集、模型等,来增加研讨的可见度和采用率。这将使更多人能够运用你的研讨,并推进研讨效果的运用。 咱们整理了这份文件,让你能够更好的了解和实践开源。希望这份文件对你有所协助!

什么是开源?

揭露研讨 – 不仅仅是论文,还包含相关的一切效果,如代码、模型、数据集或在线演示。

为什么要开源?

进行敞开获取研讨,能够让更多的人了解和运用你的研讨或项目效果,促进社区研讨人员之间的合作。经过同享机器学习的常识和资源以及社区协作,来推进机器学习范畴的发展。

怎么开源?

机器学习发布有很多的办法和规划。你能够依据你的时刻线、优先级、内部政策或者其他因素来决定怎么开源和开源哪些内容。比方:你能够只发布代码,也能够发布模型等其他效果。

以下是开源的过程概览:

  • 论文
  • 代码库房
  • 数据集
  • 模型
  • 构建在线演示 demo
  • 推行运用

你能够自在界说想要发布的内容、怎么发布以及什么时刻进行发布;本文档会具体介绍上述每项内容的具体过程和辅导。

你会用到什么东西?

共享论文能够运用arXiv :这是一个免费的能够揭露宣布论文的渠道,在机器学习范畴中被广泛运用。

共享代码能够运用 GitHub :这是一个代码版别控制渠道。在 GitHub 上,你能够共享练习代码、怎么加载模型或数据集的示例等。

共享模型权重,数据集及演示则能够运用 Hugging Face Hub :HF 是一个协作式机器学习渠道,人们能够在其间轻松地探究、体会并共同创立机器学习。此外它还供给一定的交际功用,如论文评论。

怎么运用这份文档?

这份文档供给了具体的项目和过程辅导,你能够挑选依照过程完结一切项目效果的发布,也能够依据自己的需求来挑选想要发布的项目效果。过程看似很多,可是每一步仅需不到一分钟的时刻即可完结。 咱们主张你仿制这份文档,以便随时查阅。文档末尾会有一个核对清单,协助你核对每一步,为开源你的项目效果做好充分的准备。

抢手开源发布示例

GitHub 库房:

研讨模型:

研讨数据集:

在线演示:

发布论文

能够经过 arXiv 来 上传并与社区共享你的论文。这是一个免费渠道,而且不需求同行评定。

  1. 编撰并准备论文

    第一步是编撰论文。一个常用的协作论文编撰东西是 Overleaf(用于 LaTeX 作业)。假如向会议提交论文,请遵循它们的官方模板和风格攻略

    查阅 arXiv 官方的攻略,包含格局期望和授权许可。

给科研人的 ML 开源发布东西包

  1. 提交论文

    拜访你的 用户页面 并点击“提交”即可提交或许需求一些时刻来处理,而且只在周日至周四敞开。

    留意: 首次提交到某个类别时,需求社区中的或人认可它才干发布。但请留意,这不是同行评定!

给科研人的 ML 开源发布东西包

发布代码库

能够运用 GitHub 来发布和共享代码。GitHub 是一个代码版别控制渠道。在 GitHub 上,你能够共享你的代码库(包含推理/建模代码、练习代码等)。

  1. github.com/new 创立一个带有 README 和你挑选的许可证的库房。

给科研人的 ML 开源发布东西包

  1. 编写 README。

    README 是描绘项目的文件,一般运用 markdown 编写,这是一种用于文本格局化的适当简略的言语。主张在README中增加描绘、效果链接(如你的论文)以及一些代码示例。

    示例

给科研人的 ML 开源发布东西包

  1. 上传代码

    接下来就是要上传你的代码了!你能够上传包含运转模型的代码、练习脚本或者更多内容!

假如你想一同将你的模型集成到 Hugging Face 库中,以完结即时集成。请随时联络 open-source@huggingface.co,咱们会尽快评价并反馈。

发布数据集

Hugging Face Hub 供给数据集的保管、发现和交际功用。HF 还有一个名为 datasets 的开源库,可用于以编程办法加载数据集,并在大型数据集上有效地进行流式处理。此外,HF 还供给检查器,可让用户在浏览器中直接探究数据。

  1. huggingface.co/new-dataset 创立一个库房,能够在你的账户或在安排名下进行创立。

给科研人的 ML 开源发布东西包

  1. 向库房增加文件。

    在库房的 文件和版别 选项卡并点击“上传文件”。支撑拖放文件/文件夹或直接上传。

    给科研人的 ML 开源发布东西包

    给科研人的 ML 开源发布东西包

    **留意:**Hub 支撑不同的文件格局。这些格局将在浏览器中取得检查器,并主动在 datasets 库中取得支撑。关于其他格局,你能够编写自己的加载脚本。检查官方文档

   from datasets import load_dataset
   dataset = load_dataset("stevhliu/demo")

留意: Hugging Face 运用 Git 作为数据和代码的存储库。假如了解 Git(例如,假如你运用 GitHub 或 GitLab),你能够运用类似的作业流程,而无需运用 UI。更多概况见攻略。你还能够运用datasets 库来推送库房。

  1. 创立数据集卡片

    数据集卡片是包含数据集相关信息的文件,通常与数据集一同发布,用于协助用户更好地理解和运用数据集。数据集卡片关于促进数据集的可发现性、可重复性和同享具有重要作用。

    除了首要内容之外,数据集卡片还包含顶部的元数据,例如许可证类型、任务类别等。这些元数据能够协助用户快速了解数据集的相关信息,从而更好地挑选适宜的数据集进行研讨或开发。

    咱们强烈主张界说数据集的许可证类型,以便用户了解数据集的运用权限和约束。一同,明确界说数据集的任务类别,能够协助用户更准确地找到与其研讨或开发相关的数据集。数据的可发现性和运用都是数据集的重要属性,数据集卡片能够有效地促进这两项属性的提升。

给科研人的 ML 开源发布东西包

咱们主张在数据集卡片内容中增加指向你的 arXiv 论文的链接。HF 会主动将它们链接在一同。 你能够在其官方文档中阅览有关数据集卡片的更多信息。

发布模型权重

Hugging Face Hub 为模型供给保管、发现和交际功用。它不局限于 HF 官方库,你能够共享任何 ML 库的模型权重(或共享自己的代码库)。

  1. huggingface.co/new 创立一个库房,能够在你的账户或安排名下创立库房。

给科研人的 ML 开源发布东西包

  1. 向库房增加文件。

    在库房的文件选项卡并点击“上传文件”。能够拖放文件/文件夹或直接上传。

给科研人的 ML 开源发布东西包

给科研人的 ML 开源发布东西包

留意: Hugging Face 运用 Git 作为数据和代码的存储库。假如你了解 Git(例如,假如你运用 GitHub 或 GitLab),你能够运用类似的作业流程,而无需运用 UI能够运用与 UI 不同的类似作业流程。更多概况见攻略

  1. 创立模型卡片

    模型卡片是随模型一同供给的文件,首要包含关于模型的实用信息。模型卡片关于发现、可重现性和同享模型来说至关重要!你能够在任何模型库房中找到名为README.md 的模型卡片。咱们强烈主张在其间增加一个代码片段,展现怎么加载和运用模型。

    除了以上内容外,模型卡片还能够包含顶部的有用元数据。UI 供给了一些东西来协助你创立。咱们强烈主张你指定许可证管道标签(用于指定模型的任务,如文本到图画)。这两者是发现和运用模型的要害。

给科研人的 ML 开源发布东西包

还有其他值得增加的内容。你能够在这里了解更多。比方:

  • **language 言语:**模型支撑的言语列表
  • **tags 标签:**协助发现模型标签
  • **datasets 数据集:**用于练习模型的数据集
  • **base_model 根底模型:**假如是微调模型的话运用的根底模型是什么?
  • **library_name 库称号:**用来加载模型的库

咱们主张在模型卡片内容中增加相关的 arXiv 论文链接。HF 会主动将两者链接在一同。

你能够在其官方文档中了解更多关于模型卡片的信息。

  1. [可选] 增加 TensorBoard 盯梢

    TensorBoard 是一个供给用于可视化指标东西的东西。假如你将 TensorBoard 盯梢推送到 Hub,则会主动显现出一个 TensorBoard 实例的” Metrics”选项卡。请在此处阅览更多相关信息这里信息。

给科研人的 ML 开源发布东西包

  1. [可选] 编程拜访

    假如你想在代码库或在线演示中从 Hugging Face 下载模型,能够运用 huggingface_hub Python 库进行编程拜访。例如,以下代码将下载指定文件。

   from huggingface_hub import hf_hub_download
   hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json")

以下代码将下载库中的一切文件:

   from huggingface_hub import snapshot_download
   snapshot_download(repo_id="lysandre/arxiv-nlp", revision="refs/pr/1")

创立在线演示

Hugging Face Hub 为在线演示供给保管、发现和交际功用 – 称为 Spaces。Spaces 能够轻松创立和部署ML驱动的在线演示,只需几分钟即可完结。

为什么要做在线演示?

创立在线演示能够让你的研讨或项目效果更易于理解和运用,有助于其推行。任何具有浏览器的人都能够体会你的研讨效果,甚至能够让效果一日爆红!

在线演示的展现办法

你能够自在挑选在线演示的展现办法!咱们在这里供给一些抢手在线演示作为参阅并共享怎么创立在线演示 Spaces。

Stability 的 Stable Diffusion(文本到图画)

给科研人的 ML 开源发布东西包

Meta 的 MusicGen(文本到音乐生成)

给科研人的 ML 开源发布东西包

jbilcke 的 AI Comic Factory(漫画生成)

给科研人的 ML 开源发布东西包

留意:Spaces 在 CPU 上运转时是免费的。假如需求运用 GPU 运转,你能够请求社区赞助(在 设置 选项卡中)或购买 T4、A10G 及 A100。

  1. huggingface.co/new-space 创立一个库房,能够在你的账户或在安排名下创立。

    Spaces 能够运用开源 Python 库(例如:Gradio或Streamlit)创立,也能够运用 Docker 或静态 HTML 页面。咱们主张运用 Gradio 进行快速原型制造,当然也能够运用你喜爱的其他东西!

给科研人的 ML 开源发布东西包

  1. 创立运用程序文件

    假设你正在创立一个 Gradio 演示。请随意查阅 Gradio Spaces 文档。能够在库房的”文件”选项卡点击”上传文件”或”创立新文件”。主 Python 脚本应命名为 app.py

给科研人的 ML 开源发布东西包

  1. 编写你的运用代码

假如你想要加载模型或数据集,你能够运用huggingface_hub Python库

import gradio as gr
def greet(name):
    return f"Hello {name}"}
demo = gr.Interface(
    fn=greet,
    inputs=["text"],
    outputs=["text"],
)
demo.launch()

4. 体会运用!

你的运用现已创立成功!主张在创立之后操作即便体会以保证其运转顺利。

给科研人的 ML 开源发布东西包

留意

Hugging Face 运用 Git 作为数据和代码的存储库。假如你了解 Git(例如,假如你运用 GitHub 或 GitLab),你能够运用类似的作业流程,而无需运用 UI能够运用与 UI 不同的类似作业流程。更多概况见攻略

Spaces 常见问题汇总

  1. 我能够运用哪些模型库?

    你能够运用任何你喜爱的库,能够在 requirements.txt 文件中界说你的依赖项

  2. 怎么加载模型?

    假如你想从 Hub 下载模型到你的Spaces,能够运用 huggingface_hub Python 库进行编程拜访。例如,以下代码将下载某个指定文件。

   from huggingface_hub import hf_hub_download
   hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json")

而以下代码将下载库房中的一切文件。

   from huggingface_hub import snapshot_download
   snapshot_download(repo_id="lysandre/arxiv-nlp", revision="refs/pr/1")

3. 我能够用 Gradio 做什么?

随时检查 [Gradio 文档和攻略](https://www.gradio.app/guides/quickstart)。Gradio 供给了一个简略的 API 来创立在线演示,并能够让你自在界说在线演示的展现办法。
例如增加音频、文本、带注释的图画、聊天机器人、代码、文件、图画画廊、3D 目标、视频等组件,甚至能够创立符合你需求的组件。

4. 抢手 Spaces 制造小贴士? * 简略的演示更受欢迎。 * 有标题、描绘和扼要阐明演示的内容。 * 有模型或论文的链接。 * 增加成见和内容认可(拜见 SD 演示 作为示例)。

推行宣扬:

在发布论文、模型/数据集、GitHub 库房和在线演示之后,就是要确保你的研讨能尽快被社区熟知!这里有一些办法能够协助提高在社区中推行和宣扬你的研讨效果。

【加分项】Collections

你能够为项目效果(包含模型、数据集、演示、论文)在 Hub 上创立一个合集,你创立的合聚会直接显现在个人账户中。更多概况请检查文档

给科研人的 ML 开源发布东西包

【加分项】Paper Space

经过GitHub Pages 或 Hugging Face Spaces,你能够将一切的项目效果和运用都集中在一个网页中。(例如:(nerfies.github.io/))假如你挑选运用Sp…, 能够从 Nerfies/Paper Project 模板 中挑选喜爱的模版,或者自创模版进行展现。

给科研人的 ML 开源发布东西包

【加分项】Hugging Face Paper 页面

HF 论文页面 ,你能够发现和探究与研评论文相关的一切效果(包含:模型,数据集和在线演示demo)。你还能够在喜爱的论文页面和作者或社区一同来进行评论。论文在 arXiv 上宣布之后,你能够在 HF 上进行索引作为作者招领论文,招领之后论文将直接链接到你的账户并在账户中展现。更多概况请检查 文档

给科研人的 ML 开源发布东西包

推行

假如你现已完结了以上的过程,那么祝贺你现已成功发布了你的项目效果!接下来也是最重要的一个环节是要进行推行。运用推特或 Reddit 等交际渠道来编撰博客文章,或进行发布公告来为研讨的推行助力。

主张你与其他研讨人员或开源贡献者等合作伙伴联合发布,这样能够有效的扩展推行受众覆盖率。在开端推行之后,你还需求和与社区进行互动!最好的推行不仅仅是宣扬你的项目效果,也需求和你项目的受众树立良好的互动联系。联系和与你的受众互动。

怎么运用这份文档?

咱们主张仿制这份文档,并运用下面的过程来盯梢进度。每步的操作时刻基本只需 1 分钟。,它们会在 你决定做什么时 辅导你,而且能够快速完结!下面有文档解说怎么做不同的项目。

  1. 发布论文
  • 准备好论文并进行排版
  • 在 ArXiv 上发布
  • 在 HF 上索引论文
  1. 发布代码库
  2. 发布数据集
  • 挑选许可证
  • 将数据集上传到 Hub(例如 HF、Kaggle、Zenodo)
  • 创立数据集卡片
    • 增加元数据(任务、许可证、言语等)
    • 增加其他效果的链接(arxiv 链接等)
    • 编写卡片内容
  1. 发布模型
  • 挑选许可证
  • 将模型上传到 Hub
  • 创立模型卡片
    • 增加元数据(任务、许可证、数据集等)
    • 增加其他效果的链接(arxiv 链接)
    • 编写卡片内容
    • 增加展现怎么运用模型的代码片段
  1. 构建演示
  • 编写 Colab 或脚本
  • 创立在线演示 Space
  1. 准备发布
  • 确保你的项目效果之间相互相关
  • 创立论文页面
  • 构建效果合集
  • 推行宣扬
  1. 庆祝

补白