大模型LLM | 长文本分块的新策略——后期分块(Late Chunking),让RAG应用“又准又高效“!

你是否曾经为了在海量文档中找到关键信息而苦恼不已?

在AI时代,这个问题似乎已经不再是难题。但是,当我们面对特别长的文本时,检索系统往往会陷入两难:要么牺牲精确度,要么付出高昂的成本。最近,JinaAI提出了一个叫后期分块(Late Chunking)的新方法,声称可以解决这个难题。

今天,我们就来一探究竟,看看这个新技术到底有什么神奇之处。

一、后期分块:颠覆传统的新思路

想象一下,你在整理一大堆文件。传统的方法是先把文件分成小堆,然后再逐一处理。而后期分块却反其道而行之:先对整个文件进行全面处理,然后再进行分类整理。这听起来可能有点反直觉,但在AI的世界里,这种方法却显示出了惊人的效果。

具体来说,后期分块是这样工作的:

  1. 先用一个长上下文嵌入模型(比如 jina-embeddings-v2-small-en,具有 8K 上下文长度)"读懂"整个文档

  2. 然后再把这个"理解"切成小块

传统方法涉及使用句子、段落或最大长度限制来预先分割文本。之后,会反复应用嵌入模型到这些结果块中。为了为每个块生成一个嵌入,许多嵌入模型会在这些词级别嵌入上使用均值池化,以输出一个单一的嵌入向量。

而“后期分块”方法首先将嵌入模型的转换层应用于整个文本或尽可能多的文本。这为文本中的每个标记生成了一个包含整个文本信息的向量表示序列。随后,对这个标记向量序列的每一部分应用平均池化,产生考虑整个文本上下文的每个部分的嵌入。与生成独立同分布(i.i.d.)分块嵌入的简单编码方法不同,后期分块创建了一组分块嵌入,其中每个嵌入都“依赖于”之前的嵌入,从而为每个分块编码了更多的上下文信息。

这就好比你先通读了一本书,理解了整体内容,然后再给每一章写摘要,而不是仅仅看了每章的标题就开始总结。

传统方法和后期分块的对比:

方法步骤优点缺点
传统方法1.分块 2.理解计算效率高可能丢失上下文信息
后期分块1.理解 2.分块理解更全面需要更强大的AI模型

以此为例:爱丽丝有一天在树林里散步,途中她发现了一样东西。她看到一棵大树底部有一个兔子洞。她掉进了洞里,发现自己来到了一个陌生的新世界。如果我们将这个段落分句,我们会得到:

1.爱丽丝有一天在树林里散步,她在散步中发现了一些东西。

2.她在一棵大树的底部看到了一个兔子洞。

3.她掉进了洞里,发现自己在一个陌生的新世界里。

现在想象一下,用户已经将多个文档、书籍的段落甚至多本书填充到他们的向量数据库中。如果他们问“爱丽丝在哪里掉下去的”,作为人类,我们能直观地理解句子 3 中的“她”指的是句子 1 中的爱丽丝。然而,由于这些嵌入是独立创建的,模型对句子 3 的表示无法考虑到与名字爱丽丝的关系。

二、后期分块的过人之处

  1. 保留上下文:就像你读完整本书再总结,而不是只看目录就下结论,后期分块能更好地理解文章的整体意思[1]。

  2. 存储更高效:比起其他高级方法,后期分块既能保留文章的整体意思,又不会占用太多存储空间[1]。

打个比方:

假设我们用一个超级AI处理10万份长文档(传统方法文本采用固定分块策略为 512 个token,被分成 512 个token的分块,单独嵌入。存储需求的计算基于 32 位浮点精度,向量维度大小为 768):

方法每个文档的嵌入数量总嵌入数量存储空间
后期交互8,0008亿约2.46 TB
传统方法(在推理之前进行切片)16 ( 8,000 / 512 )160万约4.9 GB
后期分块16 ( 8,000 / 512 )160万约4.9 GB

可以看出,传统方法只需要与延迟交互相比存储资源的 1/500。后期交互,虽然更加精确,但需要显著更多的存储容量。后期分块可以与传统方法一样减少存储需求,同时保留后期交互所提供的上下文信息,既能保留文章的精髓,又不会占用太多空间,简直是鱼与熊掌兼得!

  1. 简单易用:只需稍微调整一下现有的AI系统,就能用上这个新技术,不需要大动干戈,这里是项目地址[2]和colab例子[3]。

三、实际效果如何?

Weaviate研究人员做了一系列测试[4],结果相当惊人。我们以weaviate博客文章[5]的一段内容来测试后期分块与朴素分块。

使用固定大小分块策略(token数=128)导致以下句子被分成了两个不同的分块:

Weaviate 的原生、多租户架构为需要在保持快速检索和准确性的同时优先考虑数据隐私的客户提供优势。

如下:

分块内容
chunk1…技术堆栈的演变。这种灵活性,结合易于使用,帮助团队更快地将 AI 原型部署到生产环境中。在架构方面,灵活性也至关重要。不同的应用场景有不同的需求。例如,我们与许多软件公司以及在受监管行业中运营的公司合作。他们通常需要多租户功能来隔离数据并保持合规性。在构建检索增强生成(RAG)应用程序时,使用特定于帐户或用户的数据显示结果的上下文,数据必须保留在为其用户组专用的租户内。Weaviate 的原生、多租户架构对于需要优先考虑此类需求的客户来说表现卓越。
chunk2…在保持数据隐私的同时,实现快速检索和准确性。另一方面,我们支持一些非常大规模的单租户使用案例,侧重于实时数据访问。这些案例中的许多都涉及电子商务和以速度和客户体验为竞争点的行业。

假设有人问:“客户最关心什么?”

方法AI的回答
传统方法1. “产品更新,参加我们的网络研讨会。” (得分: 75.6)
2. “在保证速度和准确性的同时注重数据隐私。我们支持一些大规模单租户用例,主要在电子商务和那些速度和客户体验至关重要的行业。” (得分: 70.1)
后期分块1. “客户需求多样,我们引入了不同的存储层。看到客户的产品越来越受欢迎真是令人惊叹。但随着用户增长,成本可能会急剧上升…” (得分: 74.8)
2. “技术选择至关重要。灵活性和易用性有助于团队更快地实施AI。不同的用例有不同的需求。例如,软件公司和受监管行业通常需要多租户来隔离数据并确保合规。在构建AI应用时,使用特定用户数据来个性化结果很重要。Weaviate的多租户架构在这方面表现出色。” (得分: 68.9)

显然,后期分块方法给出的答案更加全面和贴切,更能抓住问题的核心。

四、对开发者的启发

  1. 不用再为如何巧妙地切分文本而绞尽脑汁了。
  2. 用更少的钱就能处理更长的文本,性价比杠杠的!
  3. 实现起来超级简单,几十行代码就搞定,不用大改现有系统。
  4. 能给AI提供更精准的信息,让AI回答问题时更加准确高效。

五、总结

后期分块技术为处理长文本提供了一个既聪明又实惠的新方案。它不仅能更好地理解文章的整体意思,还能大大节省存储和计算成本。对于那些想要构建大规模AI应用的开发者来说,这绝对是一个值得尝试的新方向。随着技术的不断进步,我们有理由相信,后期分块将在未来的AI应用中发挥越来越重要的作用。


六、如何学习大模型?

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值