Introducing Argilla Trainer

🏋🏽 隆重推出 Argilla Trainer

2023 年 4 月 17 日

Natalia Elvira Astoreca、Tom Aarsen、David Berenstein

我们非常激动地推出 Argilla v1.6.0 版本中包含的另一个令人兴奋的新功能:Argilla Trainer,它是一个封装器,旨在简化使用 Argilla 数据集进行训练的工作流程。它目前支持使用 spacysetfittransformers 等流行的 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 按钮并选择您首选的框架。您将在那里找到一个代码片段,其中包含为该数据集和选定的框架量身定制的所有变量。

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 数据集训练模型的信息,请查看我们的文档