Hugging Face Hub 面向画廊、图书馆、档案馆和博物馆
美术馆、图书馆、档案馆和博物馆的 Hugging Face Hub
什么是 Hugging Face Hub?
Hugging Face 旨在让每个人都能接触到高质量的机器学习。这一目标通过多种方式实现,包括开发开源代码库(如广泛使用的 Transformers 库)、提供免费课程以及提供 Hugging Face Hub。
Hugging Face Hub 是一个中央存储库,人们可以在其中共享和访问机器学习模型、数据集和演示。Hub 托管了超过 190,000 个机器学习模型、33,000 个数据集以及超过 100,000 个机器学习应用程序和演示。这些模型涵盖了从预训练语言模型、文本、图像和音频分类模型、目标检测模型到各种生成模型等广泛任务。
Hub 上托管的模型、数据集和演示涵盖了广泛的领域和语言,并且社区一直在努力扩展 Hub 可用内容的范围。本博客文章旨在帮助在美术馆、图书馆、档案馆和博物馆(GLAM)领域工作或与该领域相关的人员了解如何使用 Hugging Face Hub 并为其做出贡献。
您可以阅读整篇文章,也可以直接跳到最相关的部分!
- 如果您不知道 Hub 是什么,请从这里开始:什么是 Hugging Face Hub?
- 如果您想了解如何在 Hub 上查找机器学习模型,请从这里开始:如何使用 Hugging Face Hub:在 Hub 上查找相关模型
- 如果您想了解如何在 Hub 上共享 GLAM 数据集,请从这里开始:演练:如何将 GLAM 数据集添加到 Hub?
- 如果您想查看一些示例,请查阅:Hugging Face Hub 的使用示例
您可以在 Hugging Face Hub 上找到什么?
模型
Hugging Face Hub 提供访问涵盖各种任务和领域的机器学习模型。许多机器学习库都与 Hugging Face Hub 集成,允许您通过这些库直接使用或共享模型到 Hub。
数据集
Hugging Face Hub 托管着超过 30,000 个数据集。这些数据集涵盖了各种领域和模态,包括文本、图像、音频和多模态数据集。这些数据集对于训练和评估机器学习模型非常有价值。
Spaces
Hugging Face Spaces 是一个允许您托管机器学习演示和应用程序的平台。这些 Spaces 从简单的演示(让您探索机器学习模型的预测)到更复杂的应用程序。
Spaces 使托管和使您的应用程序易于他人使用变得更加简单。您可以使用 Spaces 托管 Gradio 和 Streamlit 应用程序,或者您可以使用 Spaces 自定义 Docker 镜像。结合使用 Gradio 和 Spaces 通常意味着您可以在几分钟内创建并托管应用程序,供他人使用。如果您想完全控制您的应用程序,可以使用 Spaces 托管 Docker 镜像。还有一些 Docker 模板可以快速访问许多流行工具的托管版本,包括 Argailla 和 Label Studio 注释工具。
如何使用 Hugging Face Hub:在 Hub 上查找相关模型
在 GLAM 领域中,机器学习模型有许多潜在的用例。虽然有些机构可能拥有从头开始训练机器学习模型所需的资源,但您可以使用 Hub 来查找已经实现您所需功能或非常接近您目标的开放共享模型。
例如,如果您正在处理一份元数据极少的挪威数字化文档集合。更好地了解该集合内容的一种方法是使用命名实体识别 (NER) 模型。此模型从文本中提取实体,例如,识别文本中提到的位置。了解文本中包含哪些实体是更好地理解文档内容的宝贵方法。
我们可以在 Hub 上通过任务筛选模型来查找 NER 模型。在此示例中,我们选择 token-classification
,它包含命名实体识别模型。此筛选器返回标记为执行 token-classification
的模型。由于我们正在处理挪威文档,我们可能还需要按语言筛选;这会将我们带到一小组我们想要探索的模型。这些模型中的许多模型还将包含一个模型小部件,允许我们测试模型。
模型小部件可以快速显示模型在我们的数据上可能表现如何。一旦您找到了感兴趣的模型,Hub 提供不同的方式来使用该工具。如果您已经熟悉 Transformers 库,您可以单击“在 Transformers 中使用”按钮,弹出一个窗口,显示如何在 Transformers 中加载模型。
如果您更喜欢通过 API 使用模型,单击模型存储库中的 deploy
按钮会提供多种选项,用于在 API 后托管模型。如果您想在大量数据上试用模型,但缺乏在本地运行模型的基础设施,这会特别有用。
类似的方法也可以用于在 Hugging Face Hub 上查找相关模型和数据集。
演练:如何将 GLAM 数据集添加到 Hub?
我们可以通过多种方式在 Hugging Face Hub 上提供数据集。我将演示一个将 CSV 数据集添加到 Hugging Face Hub 的示例。
通过浏览器界面将数据集上传到 Hub 的过程概述
对于我们的示例,我们将致力于通过 Hub 提供 On the Books 训练集。此数据集包含一个 CSV 文件,其中包含可用于训练文本分类模型的数据。由于 CSV 格式是上传数据到 Hugging Face Hub 的支持格式之一,我们可以直接在 Hub 上共享此数据集,而无需编写任何代码。
创建新的数据集存储库
上传数据集到 Hub 的第一步是创建一个新的数据集存储库。这可以通过点击 Hugging Face Hub 右上角下拉菜单中的 New Dataset
按钮来完成。
完成此操作后,您可以为新的数据集存储库选择一个名称。您还可以将数据集创建在不同的所有者(即组织)之下,并可选择指定许可证。
上传文件
创建数据集存储库后,您需要上传数据文件。您可以通过在数据集存储库的 Files
选项卡下单击 Add file
来完成此操作。
您现在可以选择要上传到 Hub 的数据。
您可以使用上传界面上传单个文件或多个文件。上传文件后,您需要提交更改以完成上传。
添加元数据
为数据集存储库添加元数据非常重要,以便使您的数据集更易于发现和对他人更有帮助。这将允许其他人找到您的数据集并了解其包含的内容。
您可以使用 Metadata UI
编辑器编辑元数据。这允许您为数据集指定许可证、语言、标签等。
此外,更详细地描述您的数据集是什么、如何以及为何构建它,以及它的优点和缺点,也非常有帮助。这可以在数据集存储库中通过填写 README.md
文件来完成。此文件将作为您数据集的数据集卡片。数据集卡片是一种半结构化的机器学习数据集文档形式,旨在确保数据集得到充分的文档记录。当您编辑 README.md
文件时,您将获得导入模板数据集卡片的选项。此模板将为您提供有用的提示,说明在数据集卡片中包含哪些内容是有用的。
提示:编写一份好的数据集卡片可能需要大量工作。但是,您不必一次性完成所有这些工作,而且由于人们可以在 Hub 上托管的数据集提出问题或提出建议,因此记录数据集的过程可以是一种集体活动。
数据集预览
将数据集上传到 Hub 后,我们将获得数据集的预览。数据集预览是更好地理解数据集的有用方式。
其他共享数据集的方式
您可以使用许多其他方法在 Hub 上共享数据集。数据集文档将帮助您更好地了解哪种方法最适合您的特定用例。
为什么美术馆、图书馆、档案馆和博物馆希望使用 Hugging Face Hub?
机构希望为 Hugging Face Hub 做出贡献的原因有很多
接触新受众:Hub 已成为机器学习、人工智能及相关领域工作人员的中心目的地。在 Hub 上共享将有助于将您的藏品和工作展示给这些受众。这也为与这些受众进一步合作提供了机会。
社区: Hub 拥有许多面向社区的功能,允许您的材料的用户和潜在用户提问并通过 Hub 与您共享的材料进行互动。共享训练好的模型和机器学习数据集还允许人们在彼此的工作基础上进行构建,并降低了在该领域使用机器学习的障碍。
训练数据多样性: GLAM 使用机器学习的障碍之一是缺乏用于训练和评估机器学习模型的相关数据。在基准数据集上表现良好的机器学习模型可能在 GLAM 组织的数据上表现不佳。建立一个共享特定领域数据集的社区将确保在 GLAM 领域更有效地开展机器学习。
气候变化: 训练机器学习模型会产生碳足迹。这个足迹的大小取决于多种因素。我们可以集体减少这个足迹的一种方法是与社区共享已训练的模型,这样人们就不会重复训练相同的模型(并在此过程中产生更多的碳排放)。
Hugging Face Hub 的使用示例
个人和组织已经在使用 Hugging Face Hub 来共享与 GLAM 领域相关的机器学习模型、数据集和演示。
BigLAM
一项源自 BigScience 项目 的倡议,旨在使与机器学习相关的 GLAM 数据集更易于访问。BigLAM 迄今已通过 Hugging Face Hub 提供了 30 多个与 GLAM 相关的数据集。
挪威国家图书馆人工智能实验室
挪威国家图书馆的人工智能实验室是 Hugging Face Hub 的活跃用户,已公开共享约 120 个模型、23 个数据集和 6 个机器学习演示。这些模型包括在挪威国家图书馆的挪威文本上训练的语言模型,以及在萨米语言上训练的 Whisper(语音转文本)模型。
史密森尼学会
史密森尼学会共享了一个托管在 Hugging Face Spaces 上的应用程序,演示了两个用于识别亚马逊鱼类物种的机器学习模型。该项目旨在为社区提供工具,以便更准确地测量亚马逊地区的鱼类物种数量。通过 Spaces 演示提供此类工具进一步降低了人们使用这些工具的障碍。
面向美术馆、图书馆、档案馆和博物馆的 Hub 功能
Hub 支持许多有助于使机器学习更易于访问的功能。对于 GLAM 机构特别有用的一些功能包括:
- 组织:您可以在 Hub 上创建一个组织。这允许您创建一个地方来共享您组织的文物。
- 铸造 DOI:DOI(数字对象标识符)是对象的持久数字标识符。DOI 已成为为出版物、数据集和软件创建持久标识符必不可少的工具。期刊、会议或研究资助者在引用学术成果时通常要求使用持久标识符。Hugging Face Hub 支持为在 Hub 上共享的模型、数据集和演示发布 DOI。
- 使用情况跟踪:您可以按月查看托管在 Hub 中的数据集和模型的下载统计信息,或查看所有时间的总下载量。这些统计信息可以成为机构展示其影响力的宝贵方式。
- 基于脚本的数据集共享:如果您已经将数据集托管在某个地方,您仍然可以通过 Hugging Face Hub 使用数据集加载脚本来访问它们。
- 模型和数据集门控:在某些情况下,您希望对访问模型和数据集的人员进行更多控制。Hugging Face Hub 支持模型和数据集门控,允许您添加访问控制。
如何在使用 Hub 时获得帮助?
Hub 文档更详细地介绍了 Hugging Face Hub 的各种功能。您还可以找到有关在 Hub 上共享数据集以及共享 Transformers 模型到 Hub 的更多信息。
如果您在使用 Hugging Face Hub 时需要任何帮助,可以通过多种途径寻求帮助。您可以利用讨论论坛或通过 Discord 寻求帮助。