通用文本语义特征提取模型GTE-QWEN

执着于输出下一个Token的大语言模型,如何改造为固定输出长度的Embedding模型。

通用文本语义特征提取模型GTE-QWEN

嵌入式特征,英文​Embedding,是指承载了特定抽象信息的一组数字,通常使用一个固定长度的向量来存储。嵌入式特征最大的用途在于相似度计算。例如分别提取两张人脸图像的嵌入式特征,然后计算两个特征之间的数值差异,差异越小,是同一个人的可能性越高——这就是人脸识别的原理。同理,可以使用专门的模型来提取文本的语义特征,当两段文本的特征在数学空间中越接近,它们之间的关联性就越高。这正是检索增强生成(RAG)的原理。专门用于存储与检索特征的数据库——向量数据库,近年来也是火爆异常。

GTE是General Text Embedding的缩写。这个概念来自阿里云在2023年发表的一篇文章“Towards general text embeddings with multi-stage contrastive learning”。在这篇文章中,团队在通义千问大语言模型的基础之上改造出了一款适用于不同场景之下的文本语义特征提取模型GTE-QWEN。通常大语言模型的输出为与当前序列相关的下一个元素即Token,而嵌入式特征Embedding,它的形状是固定的,例如一个长度为4096的向量。所以,一个大语言模型是如何摇身一变成为一个特征提取模型的?

要解答这个问题,需要从GTE-QWEN的代码读起。