大数跨境
0
0

PromptEngineering:知识生成提示和检索增强生成 (RAG)

PromptEngineering:知识生成提示和检索增强生成 (RAG) 数翼
2023-09-23
0
导读:今天介绍两种提示技术:知识生成提示和检索增强生成。前者使用LLM 先生成知识,辅助进行推测提升准确率。后者集成外部知识数据,当今被广泛应用在知识库等应用场景。

今天介绍两种提示技术:知识生成提示和检索增强生成。前者使用LLM 先生成知识,辅助进行推测提升准确率。后者集成外部知识数据,当今被广泛应用在知识库等应用场景。

知识生成提示和检索增强提示

知识生成提示进行尝试推理

随着语言模型的发展,出现了一种流行的技术是能够融合知识或信息,以帮助模型做出更准确的预测。

这种提示方式已经被 ChatGPT 等模型采用,很多时候我们不需要手动使用该方法生成知识并提示,LLM 会自动进行知识生成并判断。

知识生成提示原理

2022 年 Jiacheng Liu 等的一篇论文《常识推理的生成知识提示》[1]提出这种方法, 在预测之前生成知识,将生成知识以作为提示的一部分,来帮助语言模型更好的的完成预测。

让 ChatGPT 不思考直接回答 ❌

GPT 3 给出了错误答案

这种提示错误揭示了LLM在执行过程中需要更多关于世界的知识的任务时的局限性。下面看一下如何通过生成知识来改进:

使用知识生成辅助提示 ❌

先生成知识:

先让 GPT 生成知识
将知识一起给GPT 得到正确回答

检索增强生成 (RAG)

前面提到用语言模型生成的知识来提升推理预测的准确性。要完成更复杂和知识密集型的任务(知识在模型中不存在), 有两个方案:一是使用新知识进行微调,二是使用外部知识和语言模型结合完成。

微调很很好实现新知识的集成,但是过程复杂,并且不能使用快速变化的支持。

Meta AI 的研究人员引入了一种叫做检索增强生成(Retrieval Augmented Generation,RAG)2020[2] 的方法来完成这类知识密集型的任务。

RAG 把一个信息检索组件和文本生成模型结合在一起,基于语言模型构建一个系统,访问外部知识源实现与事实更加一性的系统, 生成的答案更可靠,还有助于缓解「幻觉」问题。

RAG 现在已经已经很广泛了,我们常见的知识库方案大多基于此实现。

我们看下论文《检索增强生成处理知识密集型NLP任务》[3]中对 RAG 的图解:

RAG 概述

RAG 会接受输入并检索出一组相关/支撑的文档,并给出文档的来源(例如维基百科)。这些文档作为上下文和输入的原始提示词组合,送给文本生成器得到最终的输出。

简化的的 RAG 过程

这样 RAG 更加适应事实会随时间变化的情况。这非常有用,因为 LLM 的参数化知识是静态的。RAG 让语言模型不用重新训练就能够获取最新的信息,基于检索生成产生可靠的输出。

LangChain[4]、 LlamaIndex[5] 等框架都有使用 RAG 实现知识搜索的例子。大家可以翻看我之前的文章或者复制文末连接自己尝试。

引用链接

[1] 《常识推理的生成知识提示》: https://arxiv.org/pdf/2110.08387.pdf
[2] 检索增强生成(Retrieval Augmented Generation,RAG)2020: https://ai.meta.com/blog/retrieval-augmented-generation-streamlining-the-creation-of-intelligent-natural-language-processing-models/
[3] 《检索增强生成处理知识密集型NLP任务》: https://arxiv.org/pdf/2005.11401.pdf
[4] LangChain: https://python.langchain.com/docs/use_cases/question_answering/how_to/vector_db_qa
[5] LlamaIndex: https://gpt-index.readthedocs.io/en/latest/end_to_end_tutorials/question_and_answer.html



--- END ---

【声明】内容源于网络
0
0
数翼
专注 AIGC 人工智能知识传播和实践
内容 228
粉丝 0
数翼 专注 AIGC 人工智能知识传播和实践
总阅读124
粉丝0
内容228