Y11 Profile picture
May 31 4 tweets 1 min read Read on X
OpenAI分享他们在RAG技术的最佳实践:

客户需求:他们有大量文档(比如10万份),希望模型只基于这些文档进行知识检索。

解决方案:
1. 直接将PDF和docx文件嵌入,准确率是45%。

2. 经过20次调优迭代,解决细节小Bug - 准确率到65%

3. 基于规则进行优化,譬如先判断问题属于什么领域(退一步思考),然后再回答,效果提升到85%

4. 发现数据里有一些是结构化数据(如表格),为此定制提取解决,准确率提升到98%。

视频地址:Image
OpenAI分享他们在RAG技术的最佳实践 - 2:

客户需求:文本生成SQL(利用自然语言问题和数据库模式生成语法正确的SQL查询,比如给定一个数据库模式和一个问题,能否生成相应的SQL查询)。

解决方案:
1. 首先,我们用最简单的方法,比如余弦相似性,寻找类似问题的SQL查询,进行问题相似性搜索。

我们测试了不同的嵌入和提示工程,但结果不太好。

后来,我们意识到不同的数据库模式对问题的答案可能完全不同。

2. 所以针对一个问题进行相似性搜索意义不大,但用预设答案进行搜索可能效果更好。

我们使用预设的文档嵌入,生成一个假设的SQL查询进行相似性搜索,性能大大提升。

对于这个特定问题,我们尝试了上下文检索,通过简单过滤将问题按难度排名,只带回同等难度的例子,这带来了改进。

我们还尝试了一些先进技术,比如链式推理,让系统识别列、表,最后构建查询。

但我们决定采用更简单的方法进行自我一致性检查,让系统构建查询并运行,出错时给出提示,再次尝试。

3. 我们从69%开始,然后添加了一些示例,得到了几个改进点,这表明RAG可以进一步改进。

我们尝试这个问题,看到性能提升了3%,然后使用答案,假设的文档嵌入使我们进一步提升了5%。

4. 我们决定试试微调,看能否更进一步。先建立了我们的基线,与上一张幻灯片里的69%基线一样,使用简单的提示工程技术。

然后,用简单的提示工程对GBT 4进行微调,结果模型准确率提升到接近82%。

再稍微调整模型使用um rag技术,把一些示例动态注入上下文窗口,准确率达到83.5%。

这些都很简单,没有复杂的数据预处理或后处理。

结果显示简单的微调和提示工程也能接近最先进的技术。Image
总而言之:

当你想提高语言模型(LM)的性能时,可以从提示工程技术开始,这些技术投资小,能够快速迭代,验证解决问题的可行性。

这个过程不是线性的,可能需要多次迭代才能满意,你会在这些技术之间来回切换。

1. 我们隔着一条鸿沟远远地观望,我们会以为某件事情很简单.

2. 但是当我们建立好评测标准、样本集合,并且实践之后,才会发现有很多原先没考虑到的问题。

3. 当我们解决一个问题之后,会发现指标提高一点(也可能证明不可行),这个过程不是线性的,没有一帆风顺的情况。

都是启发式地,碰到问题,然后解决问题。
在这里有一篇文档,可视化地说明最新的方案方向:
platform.openai.com/docs/guides/la…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Y11

Y11 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @seclink

Apr 8
1/n 有没有发现,我们的很多行为模式,都在反复踏入心理学/社会学家总结出来的概念巢穴。
我们都是一些基因预设好、随时犯同样错误的可怜人。
这里随便举几个例子。

简单化归因(Causal Reductionism):
事情的发生基本上不会只有一个原因,往往是许多原因共同作用的结果。但我们的大脑无法处理复杂的信息,因此我们一般喜欢将结果归因于单一原因,把因果关系简化为一条容易理解的线索。显然这种做法就把事物复杂的本来面目给简单化了。
2/n 邓宁-克鲁格效应(Dunning-Kruger Effect):
能力欠缺的人做出错误的结论和决定,但无法正确认识到自身的不足,辨别错误行为。这是一种认知偏差。

能力欠缺者们沉浸在自我营造的虚幻优势中,常常高估自己,无法客观评价他人的能力。
简单的说,愚蠢的人无法意识到自己有多愚蠢。
3/n 涌现(Emergence):
当许多简单的物体相互作用时,它们可以形成一个系统,该系统具有物体本身所没有的属性。例如:神经元创造意识,交易者创造股市,简单数学规则创造“活的”模式(下图)。

文化寄生(Cultural Parasitism):
意识形态寄生在思想中,改变宿主的行为,并将其传播给他人。因此,一种成功的意识形态并不见得因为是真实的;它产生和发展出来只是因为更容易传播和容易信服。
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(