Retrieval-Augmented Generation for AI-Generated Content: A Survey

#survey

RAG 分三步

Retriever 类别(区别在于处理 query 的方式)

Sparse Retriever

把 query 按离散的词处理,使用 tf-idf, BM25, query likelihood 统计方法

Dense Retriever

把 query 直接打成 embedding,使用 contrastive learning 以提高正例相似度,减小负例相似度

RAG 有四种

Query-based RAG

直接使用查询文本检索相关文档,不需要编码成 embedding,一般直接用 BM25 / TF-IDF,通过关键字匹配来检索。效率低 + 语义匹配不足

Latent Representation-based RAG

查询先被编码成 latent representation,然后用潜在表示检索文档。一般用一个编码器(比如 BERT),然后计算表示和文档的相似度(比如余弦相似度)

Logit-based RAG

动态调整生成策略,以结合检索到的文档信息,主要是调整 logits 分布,比如增大检索到词的生成概率 / 扔进去新词 / 减少无关词的概率

Speculative RAG

通过生成多个候选文本并行进行检索,以找到最相关的文档,从而提高生成内容的准确性和相关性。这种方法的核心思想是通过“投机性”生成多个可能的输出,然后根据这些候选输出进行检索和筛选,最终生成更高质量的文本,类似 best-of-n

image-20240704170627734