概要
由于大模型的日益普及,大模型的增加引起了相当大的关注。在LLM的优化方法中,RAG经常与微调(FT)和提示词工程(Prompt)相比较,RAG,Fine-tuning以及提示词工程都是用于加强模型在特定领域的性能。然而,他们具体有什么不同呢?
RAG vs FT vs Prompt
如下图所示(来源于《Retrieval-Augmented Generation for Large Language Models: A Survey》):
如图所示,每种方法都有不同的特征,我将从下面的表格具体比较这三种方式。
方法 | 外部知识需求 | 模型适应性需求 | 参数变化 | 优势 | 不足 |
---|---|---|---|---|---|
RAG | 需要构建外部知识数据库,用于检索上下文 | 利用知识库进行信息检索相当于提供一个定制的教科书模型,非常适合精确的信息检索任务 | LLMs参数未变 | 实时知识更新和有效利用具有高度可解释性的外部知识源,在动态环境中表现出色 | 更高的延迟和有关数据检索的道德考虑 |
FT | 构建参与预训练的训练集 | 通过特定的数据集,适用于需要复制特定结构,风格或格式的场景 | LLMs参数变化 | 可以对模型的行为和风格进行深度定制,减少幻觉 | 动态性差,当换领域时,必须重新制定训练集,耗费大量计算资源 |
Promot | 无 | 利用用户定制的提示词,约束模型的语言输出 | LLMs参数未变 | 利用模型的固有能力,最小限度地需要外部知识和模型适应,减少工作量 | 特定领域性能差 |
值得一提的是,RAG和FT并不是相互排斥的,可以相互补充,在不同的层面上增强模型的能力。在某些情况下,它们的组合使用可能会导致最佳性能。涉及RAG和FT的优化过程可能需要多次迭代才能获得令人满意的结果。
小结
在本节中,比较了RAG,FT,Prompt三种方式对LLMs的调教,各自有优缺点,将RAG与FT相结合可能是未来的主要方向。