跳到主要内容

在 Hugging Face 使用 SetFit

SetFit 是一个高效且无需提示的框架,用于对 Sentence Transformers 进行少样本微调。它用少量标记数据即可达到高准确率——例如,在客户评论情感数据集上,每个类别仅需 8 个标记示例,SetFit 就能与在 3k 示例完整训练集上微调的 RoBERTa Large 相媲美 🤯!

与其他少样本学习方法相比,SetFit 具有几个独特的功能:

  • 🗣 无需提示或词汇化器: 当前少样本微调技术需要手工制作的提示或词汇化器来将示例转换为适合底层语言模型的格式。SetFit 通过直接从文本示例生成丰富的嵌入,完全不需要提示。
  • 🏎 训练快速: SetFit 不需要像 T0 或 GPT-3 这样的大规模模型即可达到高准确率。因此,训练和运行推理通常快一个数量级(或更多)。
  • 🌎 多语言支持: SetFit 可以与 Hub 上的任何 Sentence Transformer 一起使用,这意味着你可以通过简单地微调多语言检查点来对多种语言的文本进行分类。

在 Hub 上探索 SetFit

你可以通过在模型页面左侧筛选来找到 SetFit 模型。

Hub 上的所有模型都配备了这些有用的功能:

  1. 自动生成的模型卡片,包含简要描述。
  2. 一个交互式小部件,你可以直接在浏览器中使用模型。
  3. 允许你进行推理请求的推理 API。

安装

要开始使用,你可以遵循 SetFit 安装指南。你也可以通过 pip 使用以下一行安装:

pip install -U setfit

使用现有模型

所有 setfit 模型都可以轻松地从 Hub 加载。

from setfit import SetFitModel

model = SetFitModel.from_pretrained("tomaarsen/setfit-paraphrase-mpnet-base-v2-sst2-8-shot")

加载后,你可以使用 SetFitModel.predict 执行推理。

model.predict("Amelia Earhart flew her single engine Lockheed Vega 5B across the Atlantic to Paris.")
['positive', 'negative']

如果你想加载特定的 SetFit 模型,可以点击 Use in SetFit,你将获得一个可用的代码片段!

其他资源