我们非常激动地推出 Argilla v1.6.0 版本中包含的另一个令人兴奋的新功能:Argilla Trainer,它是一个封装器,旨在简化使用 Argilla 数据集进行训练的工作流程。它目前支持使用 spacy
、setfit
和 transformers
等流行的 NLP 库进行文本分类和 Token 分类任务的训练。敬请期待在即将发布的版本中支持更多库和任务!
Argilla Trainer 负责处理使用 Argilla 数据集训练模型所需的所有数据转换,并提供一组默认配置,以便您可以直接从注释转向训练。更重要的是,您可以直接从 Argilla UI 访问现成的代码!🚀
以下是如何使用 Argilla Trainer 通过 SetFit 训练文本分类模型的示例。首先,我们在 Argilla 中记录我们的数据集
import argilla as rgfrom argilla.training import ArgillaTrainerfrom datasets import load_dataset# change these variables to connect to your Argilla instancerg.init( api_url='YOUR_ARGILLA_URL', api_key='YOUR_ARGILLA_API_KEY')# log the datasetrg_dataset = rg.DatasetForTextClassification.from_datasets( dataset=load_dataset("poem_sentiment", split="train"), text="verse_text", annotation="label",)rg.log(rg_dataset, "train_poem_sentiment")
现在您可以打开 Argilla 并开始注释您的数据集。幸运的是,poem_sentiment
数据集已经过注释,因此我们可以直接跳到训练!😃
为了使这一步骤更加容易,admin
用户可以直接从 Argilla UI 访问可复制粘贴的代码片段。(如果您没有听说过 Argilla 中的新用户角色,请查看这篇文章!)您只需要打开您的数据集,单击 </> Train
按钮并选择您首选的框架。您将在那里找到一个代码片段,其中包含为该数据集和选定的框架量身定制的所有变量。
如果您粘贴第一个代码片段并运行它,您的模型将开始训练。完成后,您应该会看到类似这样的内容
***** Running training ***** Num examples = 14260 Num epochs = 1 Total optimization steps = 892 Total train batch size = 16Iteration: 100%|██████████| 892/892 [16:37<00:00, 1.12s/it]Epoch: 100%|██████████| 1/1 [16:37<00:00, 997.27s/it]Applying column mapping to evaluation dataset***** Running evaluation *****Downloading builder script: 100%|██████████| 4.20k/4.20k [00:00<00:00, 1.45MB/s][04/10/23 11:04:10] INFO INFO:ArgillaTransformersTrainer:{'accuracy': 0.7653631284916201}
瞧! 您的模型已准备好开始预测!🔮
test = trainer.predict("How beautiful can thy be, oh ArgillaTrainer.")test.prediction# output:# [('positive', 1.0)]
如果您想了解更多关于使用 Argilla 数据集训练模型的信息,请查看我们的文档。