正文
1. 基于 MoE 的向量模型:让 AI “听懂”搜索需求,也能复用文本特征
当传统搜广推技术与大模型浪潮彼此碰撞,向量模型也相应面临着更高要求:
(1)向量模型须具备强大的通用能力,精准建模文本的深层语义,从而为大模型引入最适合的外部知识;
(2)现实中,搜索场景经常涉及查询、深入理解文档,向量模型须在建模语义的基础上,进一步提升推理能力,以捕捉、建模复杂的匹配关系;
(3)向量模型须在运行和存储时足够高效,以支持各种下游场景的实际应用。
为满足上述要求,团队从
向量
模型
的
设计,到训练、数据工程,进行一系列优化和改进:
在模型结构上,团队使用 Siamese 双塔向量模型结构,取所有 token 表示的平均作为最终文本向量,查询与文档之间通过 cosine 相似度计算匹配得分。其依托 Seed1.5 预训练 LLM,并将单向注意力改为双向,构建出一个小规模 MoE 模型,且查询侧和文档侧模型参数共享,保证了较高的运行效率。
在实际应用中,向量模型的查询侧负责将用户输入转为向量,帮助 AI 理解查询意图。团队为不同任务定制了指令,引导模型学习相应的匹配方式。文档侧则不使用指令输入,从而使文档向量可在多任务间复用。
2. 二阶段训练:逐步建立模型通用表征能力,支持不同尺寸向量
预训练大模型面向生成任务,其目标是基于隐层表示,预测下一个 token,而向量模型是面向表征任务,其目标是基于隐层表示进行相似度计算。为了将大模型改造成为向量模型,团队采用二阶段训练,逐步建立模型的通用表征能力。
我们使用无监督数据进行预微调(pre-finetune),通过大量数据进行对比学习,将单向 Attention 的生成模型改造成为双向 Attention 的编码模型,并让模型充分建模各种文本匹配模式。
这些数据形式均为(查询文本,相关文本)对,包含网页标题-段落,QA 平台问题-答案,论文标题-摘要等各种形式。我们使用标准的 InfoNCE loss: