一个嵌入器,任意任务:指令微调的文本嵌入
计算与语言
2023-05-31 v3
摘要
我们提出 INSTRUCTOR,一种在给定任务指令下计算文本嵌入的新方法:每个文本输入都与解释用例(例如任务和领域描述)的指令一同嵌入。与先前工作中更专用的编码器不同,INSTRUCTOR 是一个单一的嵌入器,可生成适配不同下游任务与领域的文本嵌入,无需任何进一步训练。我们首先为 330 项多样任务标注指令,并以对比损失在该多任务混合上训练 INSTRUCTOR。我们在 70 项嵌入评价任务(其中 66 项在训练中未见过)上评估 INSTRUCTOR,涵盖分类、信息检索、语义文本相似度与文本生成评价。INSTRUCTOR 虽参数规模比此前最佳模型小一个数量级,却取得了最先进的性能,在 70 个多样数据集上相较此前最佳结果平均提升 3.4%。我们的分析表明 INSTRUCTOR 对指令变化具有鲁棒性,且指令微调缓解了在多样数据集上训练单一模型的挑战。我们的模型、代码与数据发布于 https://instructor-embedding.github.io。
引用
@article{arxiv.2212.09741,
title = {One Embedder, Any Task: Instruction-Finetuned Text Embeddings},
author = {Hongjin Su and Weijia Shi and Jungo Kasai and Yizhong Wang and Yushi Hu and Mari Ostendorf and Wen-tau Yih and Noah A. Smith and Luke Zettlemoyer and Tao Yu},
journal= {arXiv preprint arXiv:2212.09741},
year = {2023}
}
备注
Accepted in ACL2023 Findings