SetFit快速入门指南:如何在5分钟内完成小样本文本分类
SetFit快速入门指南如何在5分钟内完成小样本文本分类【免费下载链接】setfitEfficient few-shot learning with Sentence Transformers项目地址: https://gitcode.com/gh_mirrors/se/setfitSetFit是一个高效且无需提示词的框架专为小样本微调Sentence Transformers而设计。它能在少量标记数据的情况下实现高精度——例如在客户评论情感数据集上每个类别仅使用8个标记示例SetFit的性能就能与在3k个示例的完整训练集上微调RoBERTa Large相媲美为什么选择SetFitSetFit与其他小样本学习方法相比具有几个独特优势无需提示词或verbalizers当前的小样本微调技术需要手工设计的提示词或verbalizers将示例转换为适合底层语言模型的格式。SetFit通过直接从文本示例生成丰富的嵌入完全无需提示词。训练速度快SetFit不需要像T0、Llama或GPT-4这样的大规模模型就能实现高精度。因此它的训练和推理速度通常快一个数量级或更多。多语言支持SetFit可以与Hub上的任何Sentence Transformer一起使用这意味着你只需微调一个多语言检查点就能对多种语言的文本进行分类。快速安装SetFit开始使用SetFit非常简单只需通过pip安装pip install setfit如果你有支持CUDA的显卡建议安装带CUDA支持的torch以加快训练和推理速度pip install torch --index-url https://download.pytorch.org/whl/cu1185分钟完成文本分类的步骤步骤1初始化SetFit模型首先选择一个Sentence Transformer模型来初始化SetFit。你可以参考MTEB Leaderboard来选择合适的模型。这里我们使用小巧但性能出色的BAAI/bge-small-en-v1.5from setfit import SetFitModel model SetFitModel.from_pretrained(BAAI/bge-small-en-v1.5)步骤2准备数据集加载训练和测试数据集。SetFit期望数据集包含text和label列。如果你的数据集列名不同可以在训练时使用column_mapping参数进行映射。from datasets import load_dataset dataset load_dataset(SetFit/sst2)在实际场景中我们通常没有大量标记样本因此我们对训练数据集进行采样每个类别仅保留8个样本from setfit import sample_dataset train_dataset sample_dataset(dataset[train], label_columnlabel, num_samples8) eval_dataset dataset[validation]步骤3配置训练参数准备TrainingArgumentsSetFit的训练包含两个阶段微调嵌入和训练分类头。因此一些训练参数可以是元组分别用于两个阶段。from setfit import TrainingArguments args TrainingArguments( batch_size(16, 8), # 第一个值用于嵌入微调第二个值用于分类头训练 num_epochs(1, 16), # 嵌入微调1个epoch分类头训练16个epoch evaluation_strategyepoch, save_strategyepoch, load_best_model_at_endTrue, )步骤4训练模型使用Trainer训练模型from setfit import Trainer trainer Trainer( modelmodel, argsargs, train_datasettrain_dataset, eval_dataseteval_dataset, ) trainer.train()步骤5进行推理训练完成后就可以使用模型进行预测了preds model([I love using SetFit!, This is a terrible product.]) print(preds) # 输出类别标签保存和加载模型训练完成后你可以将模型保存到本地文件系统或Hugging Face Hub# 保存到本地 model.save_pretrained(./my-setfit-model) # 加载模型 model SetFitModel.from_pretrained(./my-setfit-model) # 推送到Hugging Face Hub # model.push_to_hub(my-username/my-setfit-model)总结通过以上简单步骤你可以在5分钟内使用SetFit完成小样本文本分类任务。SetFit的高效性和易用性使其成为处理小样本学习场景的理想选择。无论是情感分析、主题分类还是其他文本分类任务SetFit都能帮助你快速构建高性能模型。要了解更多关于SetFit的高级用法如多标签分类、超参数优化和知识蒸馏等请参考docs/source/en/how_to/overview.mdx中的详细指南。希望这个快速入门指南能帮助你开始使用SetFit进行小样本文本分类。祝你在项目中取得成功【免费下载链接】setfitEfficient few-shot learning with Sentence Transformers项目地址: https://gitcode.com/gh_mirrors/se/setfit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2500939.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!