微软团队提出:结合知识图谱和两个解码器,能大大改善LLM的幻觉现象。他们提出了一种名为TrustfulLLM的双解码器架构,两个解码器共享权重:一个处理用户输入,另一个则负责从检索到的信息中提取内容。
然后,将来自这两个解码器输出的结合知识图谱中的事实三元组([主体,关系,客体]),确保模型生成的文本更加"扎实",避免不相关或错误的内容出现。
具体设计如下图所示:
双解码器结构:
• 左侧模块(Prompt Decoder):专门处理用户输入,完成自注意力机制(Self-Attention)和前馈网络的计算。用于理解用户的需求。
• 右侧模块(Guided Context Decoder):专门处理从检索增强生成(RAG)等方法获取的背景信息(Guided Context)。这些信息可以是知识图谱或外部文档中的验证内容,作为生成的“依据”。
• 权重共享(Shared Weights):两个解码器在核心网络层(如自注意力和前馈网络)中共享权重,从而提升一致性并减少模型训练负担。
注意力机制(Attention Mechanism):
• 两个解码器都采用多查询注意力(Grouped Multi-Query Attention)策略,支持大规模的键值缓存(KV Cache),以提升推理效率。
• 特别引入了旋转位置编码(Rotary Positional Encodings),改进了模型在长文本上的表现。
矩阵运算(MatMul模块):
• 通过矩阵计算(MatMul)将用户输入的查询(Query)与背景信息的键值对(Key-Value)匹配,生成相关性最高的输出。
后续处理(Post-Normalization):
• RMS归一化(RMS Norm)和SwiGLU激活函数用于每个模块的输出标准化和激活处理,确保数值稳定性和非线性增强。
实验结果方面,研究团队在自家场景上做了测试,像微软产品客服这种要求高准确度的实际应用场景中,LLM的回复在流畅度、一致性和准确性上都有了显著提升。
参考文献:
[1] https://arxiv.org/abs/2411.07870
欢迎大家支持我的知识星球(NLP工程化):Dify源码剖析及答疑,Dify对话系统源码,电子书籍报告下载,公众号所有付费资料。如果微信群二维码过期,可加个人微信(buxingtianxia21)进群。
NLP工程化知识星球
NLP工程化分享群