Press "Enter" to skip to content

推出Prodigy-HF:与Hugging Face直接集成

Prodigy是由Explosion制作的注释工具,这家公司作为spaCy的创作者而广为人知。这是一个完全可脚本化的产品,拥有庞大的用户社区。该产品具有很多特点,包括与spaCy的紧密集成以及主动学习能力。但产品的主要特点是它可以通过Python进行自定义编程。

为了促进这种可定制性,Explosion开始发布插件。这些插件以开放的方式与第三方工具进行集成,鼓励用户开发定制的注释工作流程。然而,有一个特定的定制功能值得明确庆祝。上周,Explosion推出了Prodigy-HF,它提供了与Hugging Face堆栈直接集成的代码示例。在Prodigy支持论坛上,这是一个备受期待的功能,所以我们非常兴奋地将其推出。

特点

首个重要特点是这个插件允许您在已注释的数据上训练和重用Hugging Face模型。这意味着如果您一直在我们的界面上注释命名实体识别数据,您可以直接对BERT模型进行微调。

Prodigy命名实体识别界面的外观。

安装该插件后,您可以从命令行调用hf.train.ner配方,直接在自己的数据上训练一个转换器模型。

python -m prodigy hf.train.ner fashion-train,eval:fashion-eval path/to/model-out --model "distilbert-base-uncased"

这将对您在Prodigy中存储的数据集对distilbert-base-uncased模型进行微调,并保存到磁盘上。同样,该插件还通过非常相似的接口支持文本分类模型。

python -m prodigy hf.train.textcat fashion-train,eval:fashion-eval path/to/model-out --model "distilbert-base-uncased"

这提供了很大的灵活性,因为该工具直接与Hugging Face transformers的AutoTokenizerAutoModel类集成。任何hub上的转换器模型都可以通过一个命令在您自己的数据集上进行微调。这些模型将被序列化到磁盘上,这意味着您可以将它们上传到Hugging Face Hub,或者重新使用它们来帮助您注释数据。这可以节省很多时间,特别是对于NER任务来说。要重用训练过的NER模型,您可以使用hf.correct.ner配方。

python -m prodigy hf.correct.ner fashion-train path/to/model-out examples.jsonl

这将为您提供一个与之前类似的界面,但现在模型预测也会在界面中显示出来。

上传

第二个同样令人兴奋的特点是您现在可以将注释数据集发布到Hugging Face Hub上。如果您有兴趣共享其他人想使用的数据集,那么这非常有用。

python -m prodigy hf.upload <dataset_name> <username>/<repo_name>

我们特别喜欢这个上传功能,因为它鼓励协作。人们可以独立地注释他们自己的数据集,但在将数据与更广泛的社区分享时仍然能够受益。

即将推出更多

我们希望这个与Hugging Face生态系统的直接集成能让更多用户进行实验。Hugging Face Hub提供了许多模型用于各种任务以及各种语言。我们真诚希望这个集成能够使得数据注释更加容易,即使您有一个更具领域特定和实验性的用例。

该库还将推出更多功能,如果您有更多问题,请随时在Prodigy论坛上联系我们。

我们还要感谢Hugging Face团队对这个插件的反馈,特别是@davanstrien,他建议添加上传功能。谢谢!

Leave a Reply

Your email address will not be published. Required fields are marked *