scikit-learn 和 Hugging Face 携手合作
Hugging Face 很高兴宣布我们正在与 scikit-learn 合作,以进一步支持机器学习工具和生态系统。
在 Hugging Face,我们一直在努力支持深度学习,但我们相信机器学习整体可以从我们发布的工具中受益。由于统计机器学习在该领域至关重要,而 scikit-learn 在统计 ML 中占主导地位,我们很高兴能与之合作并共同前进。
截至 2022 年 9 月,Hugging Face Hub 已经托管了近 4,000 个表格分类和表格回归模型检查点,我们努力让这种趋势持续下去。
对 scikit-learn 联盟的支持
从 2022 年 6 月开始,Hugging Face 现在是 scikit-learn 联盟的官方赞助商。通过这种支持,Hugging Face 积极推动 sklearn 的发展和可持续性。作为 Inria 基金会托管的 scikit-learn 联盟的赞助商,我们现在将参与 scikit-learn 联盟技术委员会。
开发支持
为了帮助维持库的开发,我们很高兴欢迎 Adrin Jalali 和 Benjamin Bossan 加入 Hugging Face 团队。Adrin 是 scikit-learn 以及 fairlearn 的核心开发人员,而 Benjamin 是 skorch 库的作者,现在是 scikit-learn 的贡献者。
Hugging Face 很高兴通过代码贡献、问题、拉取请求、审查和讨论来支持 scikit-learn 的开发。
与 Hugging Face Hub 的集成
“Skops” 是正在积极开发的框架的名称,它作为 scikit-learn 和 Hugging Face 生态系统之间的桥梁。通过 Skops,我们希望促进基本的工作流程
- 能够将 scikit-learn 模型推送到 Hugging Face Hub
- 能够直接在浏览器中试用模型
- 自动创建模型卡,以改进模型文档和理解
- 能够与他人合作进行机器学习项目
工作快照
在 scikit-learn 和 Hub 的交汇处工作会带来与这两个平台相关的挑战。其中一个挑战是安全持久性:能够以安全、可靠的方式序列化模型。
scikit-learn 模型(估计器、预测器等)通常使用 pickle 保存,而 pickle 众所周知不是安全格式。以这种格式共享 scikit-learn 模型会使接收者暴露于可能执行任意代码的潜在恶意数据。
这就是安全持久性发挥作用的地方:由于 Hugging Face Hub 旨在为模型提供一个平台,因此能够共享安全、可靠的对象至关重要。我们一直在努力在 skops#128 和 skops#145(文档预览)中为 scikit-learn 模型添加安全持久性。而不是使用 pickle 进行序列化,对象的內容将被放入一个 zip 文件中,并附带一个相应的 schema JSON 文件。
在以下博客文章中阅读有关 Skops 库的信息:介绍 Skops。
提高互操作性
Skops 是将 scikit-learn 集成到我们工具中的一个示例,但它并非唯一的示例!我们将努力与我们生态系统的其余部分集成,以便 Hugging Face 用户可以从使用 scikit-learn 工具中受益,反之亦然。
一个例子是 evaluate
库,它专门用于有效地评估机器学习模型和数据集。我们的目标是让该工具在其 API 中原生支持 scikit-learn 指标。
通过这些努力,我们希望启动这两个生态系统之间持久的关系,并提供简单、高效的桥梁来降低入门门槛。我们相信,教育和共享模型是促进包容性机器学习的最佳方式,所有人都可以从中受益。我们很高兴能与 scikit-learn 合作开展这项工作。