Hugging Face 专家加速计划:Witty Works 案例研究

Witty Works 与 Hugging Face 专家加速计划合作,将原本基于规则的语言分析工具转变为面向包容性语言的上下文依赖机器学习分类器。这一转变使写作助手能够基于词语的上下文准确识别非包容性词汇,而不再仅仅依赖词汇表。

从语言分析到上下文分类的转变

Witty Works 最初使用预训练的 spaCy 模型进行迁移学习来开发写作助手。这种基础方法利用词形还原、语言分析以及诸如词性标签、性别和词语依赖等特征的提取,以在约 2,300 条英文和德文词汇及成语的知识库中标记非包容性词汇。

虽然该方法对 85% 的词汇有效,但无法处理上下文依赖的词语。例如,单词 "fossil" 在 "Fossil fuels are not renewable resources"(化石燃料不是可再生资源)中是包容性的,而在 "He is an old fossil"(他是个老古董)中则是非包容性的。为了解决此问题,Witty Works 转向使用 Hugging Face 的 Transformer 模型,以理解词语的语义上下文。

使用 SetFit 实现少样本学习

Witty Works 面临显著的数据瓶颈:对原始 BERT 模型进行微调需要每个类别数百个标注样本,这既昂贵又耗时。为此,Hugging Face 专家建议进行以下技术转变:

从词嵌入到句子嵌入

团队不再为特定词语提取 token 嵌入,而是采用 Sentence Transformers 架构生成上下文化的句子嵌入。该方法使用 Siamese 和三元组网络结构,确保语义相似的句子在向量空间中更接近,从而使生成的嵌入可作为传统分类器(如 K 最近邻(KNN)或逻辑回归)的输入。

使用 SetFit 进行少样本微调

Witty Works 采用 SetFit(Sentence Transformer Fine-tuning),这是一种结合对比学习和语义句子相似度的框架。借助 SetFit,团队仅需为每个特定词语标注 15‑20 条句子,即可实现高准确率,而此前估计需要 100‑200 条。

模型选择与部署

为确保实时浏览器扩展的低延迟,Witty Works 与 Hugging Face 测试了多种句子 Transformer 模型,最终选定 mpnet-base-v2 并结合逻辑回归与 KNN 使用。

关键部署成果包括:

  • 基础设施:模型部署在 Azure 上。
  • 性能:模型达到了 0.92 的准确率。
  • 效率:训练数据的减少将手动审查工作量降至最低,从而更好地管理训练集中的偏差。

专家对机器学习工作流的见解

此次合作突显了一种针对构建机器学习工作流的迭代方法。正如 Hugging Face 首席布道师 Julien Simon 所描述的:

"构建工作流的 Hugging 方式:寻找开源预训练模型,立即进行评估,观察哪些有效,哪些无效。通过迭代,你会立刻学到东西。"

对 Witty Works 来说,这种方法降低了数据标注和部署的资金及时间成本,同时为其创业过程提供了技术上的对手。

Sources