论文链接
RAG的一个棘手问题是不知道该召回多少chunk,少了可能丢信息,多了会引入噪声信息。虽然有self-reasoning等自我反思的解决办法,但是整体链路太长,延迟高,不利于工业落地。
虽然无法面对整个服务场景,但是对于知识密集型数据,可以用Speculative RAG解决。所谓知识密集,即你要问的问题只集中在少数几个chunk里,不需要长篇大论地找答案,例如一个章节就解决一个事,你要问这个事,把这个章节拿来就全解决了。
对于这种数据,Speculative RAG加速的办法是:(举个例子)把72b或32b的大模型换成多个7b模型,称为draft。RAG检索到100个chunk,先用k-means把100个chunk聚类,然后随机地把各个桶里的信息分到每个draft模型,多个draft模型并行推理。
!!!因为用了小模型,所以必须保证问题足够简单。
并行推理的结果作为draft被后续模型评测,例如忠诚度、相关度,评测结果最好的作为最终答案。