宣布对Hub进行评估
Evaluate Hub.
TL;DR :今天我们介绍了Evaluation on the Hub,这是一个由AutoTrain提供支持的新工具,它可以让您在Hub上评估任何模型在任何数据集上的表现,而无需编写任何代码!
评估所有的模型🔥🔥🔥!
人工智能的进步令人惊叹,甚至有些人现在正认真地争论AI模型在某些任务上可能比人类更好。然而,这种进步并不均衡:对于几十年前的机器学习者来说,现代硬件和算法可能看起来令人难以置信,我们拥有的数据和计算能力也可能令人印象深刻,但我们评估这些模型的方式基本保持不变。
然而,毫不夸张地说,现代AI正面临着评估危机。如今,适当的评估涉及对许多模型进行测量,通常涉及多个数据集和多个指标。但这样做是不必要的繁琐。尤其是如果我们关心可重现性,因为自报告的结果可能会受到意外错误、实现中的微小差异或更糟糕的影响。
我们相信,如果我们- 即社区- 建立一套更好的最佳实践并尝试消除障碍,就可以进行更好的评估。在过去的几个月里,我们一直在努力开发Evaluation on the Hub:通过点击按钮,您可以在任何数据集上使用任何度量评估任何模型。为了开始,我们在几个关键数据集上评估了数百个模型,并使用Hub上新的Pull Request功能,打开了大量的PRs,以显示它们的验证性能。评估结果直接编码在模型卡片元数据中,遵循Hub上所有模型的格式。查看DistilBERT的模型卡片,看看它是什么样子!
在Hub上
在Hub上进行评估为许多有趣的用例打开了大门。从需要决定部署哪个模型的数据科学家或高管,到试图在新数据集上重新复现论文结果的学者,再到想要更好地了解部署风险的伦理学家。如果我们必须单独列出三个主要的初始用例场景,它们就是:
找到适合您任务的最佳模型 假设您确切地知道自己的任务,并且您想找到合适的模型来完成工作。您可以查看代表您任务的数据集的排行榜,这将汇总所有结果。太好了!如果您感兴趣的新模型还未在该数据集的排行榜上呢?只需在Hub上运行评估,无需离开。
在全新数据集上评估模型 现在,假设您有一个全新的数据集,想要在其上运行基准测试?您可以将其上传到Hub并在上面评估尽可能多的模型。无需代码。而且,您可以确保您在数据集上评估这些模型的方式与它们在其他数据集上进行评估的方式完全相同。
在许多其他相关数据集上评估您的模型 或者假设您有一个全新的问答模型,训练用的是SQuAD数据集?有数百个不同的问答数据集可以进行评估:scream:您可以选择您感兴趣的数据集进行评估,直接从Hub上进行。
生态系统
Evaluation on the Hub完美地融入了Hugging Face生态系统。
Evaluation on the Hub旨在让您的生活更轻松。当然,背后发生了很多事情。我们真正喜欢Evaluation on the Hub的原因:它完美地融入了现有的Hugging Face生态系统,我们几乎不得不这样做。用户从数据集页面开始,可以启动评估或查看排行榜。模型评估提交界面和排行榜是常规的Hugging Face Spaces。评估后端由AutoTrain提供支持,在给定模型的模型卡片上开了一个PR。
DogFood – 区分狗、松饼和炸鸡
那么在实践中它是什么样子呢?让我们通过一个例子来演示。假设您的业务是区分狗、松饼和炸鸡(即dogfooding!)。
狗和食物(松饼和炸鸡)的示例图片。来源/原始来源。
如上图所示,要解决这个问题,您需要:
- 一组包含狗、松饼和炸鸡图像的数据集
- 针对这些图像进行训练的图像分类器
幸运的是,您的数据科学团队已经将数据集上传到了Hugging Face Hub,并在其上训练了几个不同的模型。现在,您只需要选择最好的一个 – 让我们使用Hub上的评估功能,看看它们在测试集上的表现如何!
配置评估任务
要开始,请转到model-evaluator
空间,并选择要对模型进行评估的数据集。对于我们的狗和食物图像数据集,您将看到如下图所示的内容:
现在,Hub上的许多数据集包含了指定如何配置评估的元数据(可以参考acronym_identification的示例)。这使您可以通过单击一次来评估模型,但在我们的情况下,我们将向您展示如何手动配置评估。
点击高级配置按钮,您将看到各种选择:
- 任务、数据集和拆分配置
- 数据集列与标准格式之间的映射
- 指标的选择
如下图所示,配置任务、数据集和拆分以进行评估非常简单:
下一步是定义哪些数据集列包含图像,哪些包含标签:
现在,任务和数据集都已配置好,最后(可选)一步是选择要进行评估的指标。每个任务都与一组默认指标相关联。例如,下图显示将自动计算F1分数、准确率等。为了增加趣味,我们还将计算Matthew相关系数,这提供了分类器性能的平衡度量:
配置评估任务只需以上几步!现在我们只需要选择一些要评估的模型 – 让我们来看看。
选择要评估的模型
Hub上的评估通过模型卡片元数据中的标签将数据集和模型关联起来。在我们的示例中,我们有三个可供选择的模型,所以让我们都选上!
选择好模型后,只需输入您的Hugging Face Hub用户名(以便在评估完成时通知您),然后点击大按钮进行模型评估:
提交任务后,模型将自动进行评估,并将在Hub上打开一个拉取请求,其中包含评估结果:
您还可以将评估元数据复制粘贴到数据集卡片中,以便您和社区下次可以跳过手动配置!
查看排行榜
为了方便比较模型,Hub上的评估还提供了排行榜,让您可以查看哪些模型在哪个拆分和指标上表现最佳:
看起来Swin Transformer名列前茅!
自己试试吧!
如果您想评估自己选择的模型,请通过查看以下热门数据集来尝试一下Hub上的评估功能:
- 用于文本分类的情感数据集
- 用于命名实体识别的MasakhaNER数据集
- 用于文本摘要的SAMSum数据集
更大的图景
自从机器学习诞生以来,我们一直通过计算在一个被假定为独立且同分布的测试集上的某种准确度来评估模型。在现代人工智能的压力下,这种范式现在开始显露出严重的问题。
基准测试已经饱和,这意味着机器在某些测试集上优于人类,几乎比我们能够提出新的测试集更快。然而,人工智能系统被认为是脆弱的,并且遭受严重的恶意偏见,甚至加剧了这些偏见。重现性不足。公开性是事后的考虑。当人们专注于排行榜时,部署模型的实际考虑,如效率和公平性,往往被忽视。数据在模型开发中所起的重要作用仍然没有被足够认真地对待。更重要的是,预训练和基于提示的上下文学习的实践已经模糊了“分布内”是什么意思。机器学习正在逐渐赶上这些问题,我们希望通过我们的工作帮助该领域向前发展。
下一步
几周前,我们推出了Hugging Face Evaluate库,旨在降低机器学习评估的最佳实践的门槛。我们还举办了一些基准测试,如RAFT和GEM。在Hub上进行评估是我们努力的一个逻辑下一步,以便在更全面的方式上进行模型评估,在可信和可重现的方式下进行多个评估维度的评估。请继续关注更多即将推出的内容,包括更多的任务和一个新的改进的数据测量工具!
我们很期待看到社区会走到哪里!如果您想帮忙,请对尽可能多的模型在尽可能多的数据集上进行评估。如往常一样,请在社区选项卡或论坛上给我们提供大量的反馈!