RAG (Retrieval-Augmented Generation)模型由两个主要模块构成:检索器(Retriever)与生成器(Generator)。这两个模块相互配合,确保生成的文本既包含外部的相关知识,又具备自然流畅的语言表达。
生成器负责将检索器(Retretriever)提供的相关文档片段与用户查询结合,生成最终的自然语言输出。
-
关键挑战:
-
如何高效整合外部知识(检索结果)与模型内部知识。
-
平衡生成结果的事实准确性(依赖检索内容)与语言流畅性(依赖预训练能力)。
-
处理多文档输入时的信息冗余或冲突。
-
在RAG系统中,常用的生成器包括:
- BART:BART是一种序列到序列的生成模型,专注于文本生成任务,可以通过不同层次的噪声处理来提升生成的质量 。
- GPT系列:GPT是一个典型的预训练语言模型,擅长生成流畅自然的文本。它通过大规模数据训练,能够生成相对准确的回答,尤其在任务-生成任务中表现尤为突出 。
维度 | BERT | BART | GPT |
---|---|---|---|
模型类型 | 双向Transformer编码器 | 编码器-解码器 (双向编码器 + 自回归解码器) | 单向Transformer解码器 |
训练目标 | 掩码语言模型(MLM) + 下一句预测(NSP) | 去噪自编码 (多种噪声破坏后重建文本) | 自回归语言模型(从左到右预测下一个词) |
上下文方向 | 双向(同时捕捉左右上下文) | 编码器双向,解码器单向 | 单向(仅左侧上下文) |
核心能力 | 文本理解(分类、NER、QA等) | 理解与生成结合 (摘要、翻译、修复) | 文本生成(对话、续写、补全) |
典型任务 | - 文本分类 - 语义相似度 - 问答 | - 文本摘要 - 机器翻译 - 去噪 | - 开放生成 - 文本续写 - 对话 |
生成能力 | ❌ 无原生生成能力 | ✅ 支持生成 (需编码器-解码器协作) | ✅ 纯生成模型 (自回归逐词生成) |
优势 | - 双向上下文理解强 - 微调效率高 | - 灵活处理噪声输入 - 理解与生成平衡 | - 生成流畅自然 - 支持长文本连贯性 |
局限性 | - 无法直接生成文本 - 忽略词序关系 | - 参数量大 - 训练成本较高 | - 单向上下文限制 - 可能生成不准确内容 |
代表变体 | RoBERTa、ALBERT、 DistilBERT | PEGASUS、mBART、 BART-large | GPT-2、GPT-3、 ChatGPT、 GPT-4 |
适用场景 | 需深度理解语义的任务 | 需转换或重构文本的任务 | 开放域生成或创造性任务 |
生成器在接收来自检索器的文档片段后,会利用这些片段作为上下文,并结合输入的查询,生成相关且自然的文本回答。这确保了模型的生成结果不仅仅基于已有的知识,还能够结合外部最新的信息。
1. 模型架构
模型 | 架构 | 核心思想 |
---|---|---|
BERT | 双向Transformer编码器 | 仅使用Transformer的编码器堆叠,通过掩码语言模型(MLM)捕捉上下文双向信息。 |
BART | 编码器-解码器结构 | 结合BERT的双向编码器和GPT式自回归解码器,适合生成与理解结合的混合任务。 |
GPT | 单向Transformer解码器 | 仅使用Transformer的解码器堆叠,通过自回归语言模型(从左到右)生成文本。 |
2. 预训练目标
模型 | 训练目标 |
---|---|
BERT | - 掩码语言模型(MLM):随机遮盖部分词并预测。 - 下一句预测(NSP):判断两句话是否连续。 |
BART | - 去噪自编码器:对输入文本进行多种破坏(如遮盖、删除、置换),模型需恢复原始文本。 |
GPT | - 自回归语言建模:基于上文预测下一个词(单向上下文)。 |
3. 适用场景
模型 | 典型任务 | 优势 | 局限性 |
---|---|---|---|
BERT | - 文本分类 - 命名实体识别(NER) - 问答(QA) - 语义相似度计算 | 双向上下文捕捉能力强, 适合理解任务。 | 无法直接生成文本, 需额外设计解码结构。 |
BART | - 文本摘要 - 机器翻译 - 文本生成 - 去噪或修复文本 | 编码器-解码器结构灵活, 适合生成与理解结合的复杂任务。 | 参数量较大,训练成本较高。 |
GPT | - 文本生成(对话、续写) - 文本补全 - 开放域问答 | 生成流畅自然, 擅长长文本生成和创造性任务。 | 单向上下文限制,可能忽略后文信息。 |
场景 | 推荐模型 | 理由 |
---|---|---|
需要严格依赖检索内容 | BART、T5 | 编码器-解码器结构更易约束生成内容与文档对齐 |
开放域对话/创意生成 | GPT-3.5/4、PaLM | 强大的语言生成能力适配自由对话场景 |
低资源部署环境 | DistilBART、TinyGPT | 轻量化模型满足实时性要求 |
多语言任务 | mBART、XGLM | 支持跨语言编码与生成 |