仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
研究领域:检索增强生成(Retrieval-AugmentedGeneration,RAG)系统,结合自然语言处理(NLP)与信息检索技术。
重要性:
RAG通过动态整合外部知识,解决了传统大语言模型(LLMs)依赖静态预训练数据的局限性。
在开放域问答、实时信息生成等场景中,RAG能显著提升生成内容的准确性和信息完整性。
对知识密集型任务(如医疗问答、法律分析)至关重要,需高效管理大规模外部文档。
挑战
具体表现
影响
LLMs的上下文窗口有限(通常数千token),难以处理长文档
需分块处理,但分块可能破坏语义连贯性
固定分块策略忽略语义边界,导致信息割裂
检索不完整,生成结果缺乏连贯性
LLMs对文档开头信息更敏感,中间/尾部信息易被忽略
关键信息可能未被有效检索或利用
传统分块效率高但牺牲语义;高级方法(如上下文增强)计算成本高
实际应用中需平衡资源消耗与性能
具体问题
两种分块策略的对比:
LateChunking(延迟分块):先对整个文档嵌入,再分块聚合,保留全局上下文。
ContextualRetrieval(上下文增强检索):分块后附加LLM生成的上下文,提升语义连贯性。
关键研究问题(RQs):
RQ#1:早期分块vs.延迟分块对检索和生成性能的影响。
RQ#2:传统分块vs.上下文增强分块的效果差异。
研究意义
理论意义:
揭示两种分块策略在上下文保留与效率上的权衡关系。
提出动态分块模型(如Topic-Qwen)和混合排名策略(BM25+稠密嵌入),为优化RAG系统提供新思路。
应用价值:
资源受限场景:优先选择延迟分块(效率高,但需适配长上下文嵌入模型)。
高精度需求场景:采用上下文增强检索(牺牲计算资源换取语义连贯性)。
开源代码与数据集(NFCorpus、MSMarco)支持实际部署与复现。
以下是针对检索增强生成(RAG)中分块策略研究的归纳总结:
主要已有方法或技术路线
方法名称
核心思想
技术特点
将文档均等分割为固定长度的文本块
简单高效,但忽略语义边界
根据语义边界(如段落、主题)动态分割文本
基于语义模型检测断点,保留局部上下文
先对整个文档进行词元级嵌入,再分割为块并聚合
利用长上下文嵌入模型保留全局信息
分块后通过LLM生成全局上下文并预置到每个块中,再结合混合检索(BM25+嵌入)
增强局部块的语义连贯性,但需额外生成上下文
方法对比与优缺点分析
方法
优点
缺点
实现简单、计算高效;兼容性强
破坏上下文连贯性;可能导致关键信息分割
保留局部语义结构;减少信息碎片化
依赖语义模型;计算成本较高;动态分割不稳定
保留全局上下文;适配长文本嵌入模型
嵌入模型性能影响显著;长文档处理效率低;部分模型(如BGE-M3)表现下降
语义连贯性最佳(NDCG@5提升5%);支持混合检索提升召回率
计算资源需求高(需LLM生成上下文);长文档内存占用大
效率与效果的权衡
延迟分块和上下文检索虽提升效果,但计算成本显著增加(如上下文检索需要20GBVRAM处理长文档)。
动态分块模型(如Topic-Qwen)耗时是固定分块的4倍,且生成结果不稳定。
长文档处理瓶颈
现有方法(尤其是上下文检索)对长文档的支持有限,GPU内存限制导致实验仅使用20%数据集。
模型依赖性
延迟分块效果高度依赖嵌入模型(例如Jina-V3表现优于BGE-M3),缺乏普适性结论。
生成性能未显著提升
实验显示分块策略对最终生成质量(问答任务)影响有限,需更深入的端到端优化。
统一评估框架缺失
不同方法在数据集、评测指标上差异大(如NFCorpus与MSMarco),横向对比困难。
可以看出,当前RAG分块策略的研究聚焦于平衡上下文保留与计算效率。传统方法(固定分块、语义分块)在简单场景中仍具优势,而延迟分块和上下文检索在复杂语义任务中表现更优但代价高昂。未来需探索轻量化上下文增强、长文档优化技术,并建立统一评估标准以推动实际应用。
作者的研究思路主要受到以下前人工作的启发:
经典RAG框架:基于Lewis等人(2020)提出的RAG基础架构,结合检索机制与生成模型,但在处理长文档时面临输入限制和上下文碎片化问题。
固定分块与语义分块:传统方法如固定窗口分块(如[7])和语义分块(如Jina-SegmenterAPI),但无法解决全局上下文丢失问题。
动态分块技术:如监督分割模型(Koshoreketal.,2018)和端到端优化分块(Moro&Ragazzi,2023),但计算成本高且依赖标注数据。
长上下文嵌入模型:如Ding等人(2024)提出的LongRoPE,但实际应用中仍存在位置偏差(Hsiehetal.,2024)。
作者提出新方法的动机源于以下核心观察与假设:
传统分块的局限性:
上下文割裂:固定分块破坏文档的语义连贯性,导致检索不完整(例如,一个分块可能缺少公司名称或时间信息)。
位置偏差:LLM对文档开头信息更敏感,而中间或尾部信息易被忽略(Luetal.,2024)。
效率与效果的权衡:动态分块模型(如Topic-Qwen)虽提升效果,但生成不一致且计算成本高。
假设:
延迟分块保留全局上下文:在文档级嵌入后再分块(LateChunking)可减少局部语义损失。
上下文增强提升检索质量:通过LLM生成附加上下文(ContextualRetrieval)可弥补分块的语义不完整。
论文的核心创新点及与现有工作的对比:
先对整个文档进行嵌入,再分块并聚合向量。
区别于传统“先分块后嵌入”,避免分块前的上下文丢失。
:-保留全局语义(如文档主题一致性);-计算效率高(无需LLM生成额外内容)。劣势:-对长文档嵌入模型依赖性强(如BGE-M3效果差);-部分场景下相关性下降(表3中MsMarco数据集表现弱于早期分块)。
分块后通过LLM生成上下文摘要(如Phi-3模型),并与BM25稀疏向量融合排序。
结合语义(密集向量)与精确匹配(稀疏向量),优于单一检索策略。
:-提升检索完整性(NDCG@5提高5.3%,表5);-缓解位置偏差(通过上下文补充关键信息)。劣势:-计算成本高(GPU内存占用达20GB);-依赖LLM生成质量(小模型如Phi-3可能表现不稳定)。
测试Simple-Qwen和Topic-Qwen分块模型,结合主题边界检测。
超越传统固定或语义分块,但需权衡生成稳定性与计算效率。
:-自适应内容分块(如按主题划分);-提升下游任务性能(Jina-V3模型NDCG@5达0.384)。劣势:-生成不一致性(分块边界波动);-处理时间增加(Topic-Qwen耗时4倍于固定分块)。
论文针对传统RAG(检索增强生成)系统中固定分块(fixed-sizechunking)导致的上下文碎片化问题,提出了两种改进策略:
延迟分块(LateChunking)
核心思想:推迟分块过程,先对整个文档进行嵌入(embedding),保留全局上下文,再分割为块。
原理:通过长上下文嵌入模型直接处理完整文档,避免早期分块造成的语义割裂。
上下文检索(ContextualRetrieval)
核心思想:在分块后,通过大语言模型(LLM)为每个块动态生成补充上下文。
原理:利用LLM提取文档的全局语义信息,附加到分块中,增强单一块的语义连贯性。
模块功能:
Token级嵌入:使用长上下文嵌入模型(如Stella-V5)对完整文档生成细粒度嵌入。
动态分块:根据语义边界或固定窗口分割嵌入结果。
池化(Pooling):对每个块的Token嵌入取均值,生成块级嵌入。
Jina有篇文章,更详细的解释了LateChunking,文章链接如下;
长文本表征模型中的后期分块
https ://jina.ai/news/late-chunking-in-long-context-embedding-models/
“LateChunking”方法首先将嵌入模型的transformer层应用于整个文本或尽可能多的文本。这会为每个token生成一个包含整个文本信息的向量表示序列。随后,对这个token向量序列的每个块应用平均池化,生成考虑了整个文本上下文的每个块的嵌入。与生成独立同分布(i.i.d.)块嵌入的朴素编码方法不同,LateChunking创建了一组块嵌入,其中每个嵌入都”以”前面的嵌入为条件,从而为每个块编码更多的上下文信息。
传统分块策略(左)和LateChunking策略(右)的示意图。
模块功能:
上下文生成:用LLM为每个块生成补充信息(如所属章节、主题)。
混合检索:结合BM25的精确匹配和密集嵌入的语义匹配(权重4:1)。
重排序:使用交叉编码器(cross-encoder)对检索结果重新评分。
长上下文嵌入模型:支持处理超长文档(如Stella-V5支持131kToken)。
动态分块策略:
Simple-Qwen:基于文档结构(如标题、段落)分块。
Topic-Qwen:基于主题边界分块(通过LLM识别主题切换点)。
上下文生成提示模板:
混合检索的权重分配:
嵌入类型
权重
密集嵌入
1.0
BM25稀疏嵌入
0.25
重排序模型:JinaRerankerV2(交叉编码器架构,计算查询与块的相关性得分)。
分块策略
优点
缺点
固定窗口分块
计算效率高
忽略语义边界
语义分块(Jina)
保留语义连贯性
依赖外部API,速度较慢
动态分块(Qwen)
自适应文档结构/主题
生成不稳定,计算成本高
方法
NDCG@5
MAP@5
F1@5
传统分块(Early)
0.303
0.137
0.193
延迟分块(Late)
0.380
0.103
0.185
上下文检索(RFR)
0.317
0.146
0.206
方法
VRAM占用
处理时间(NFCorpus)
传统分块
5-10GB
30分钟
延迟分块
10-15GB
60分钟
上下文检索
20GB+
120分钟+
延迟分块:适合资源受限场景,但可能牺牲相关性。
上下文检索:适合对语义连贯性要求高的任务,但需高算力支持。
实际应用:短文档优先选择上下文检索,长文档可尝试延迟分块与动态分块结合。
论文通过系统实验验证了两种方法的互补性,为RAG系统的分块策略选择提供了明确指导。
目的:比较两种高级分块策略(LateChunking和ContextualRetrieval)在RAG系统中的效果,验证它们在检索准确性、生成连贯性和计算效率上的优劣。
核心假设:
LateChunking通过延迟分块保留全局上下文,可能提升检索效果。
ContextualRetrieval通过LLM生成上下文增强分块语义,可能改善生成质量,但需更高计算资源。
检索性能评估
长文档(平均长度长),需处理上下文碎片化问题;子集实验(20%数据)用于降低计算开销。
问答生成评估
短文本段落,缺乏完整文档上下文,用于测试生成任务中信息整合能力。
任务设置:
检索任务:从文档库中检索与查询相关的文档/段落。
生成任务:基于检索结果生成答案,评估语义连贯性和准确性。
归一化折损累积增益,衡量前k个结果的排序质量,重视高相关性结果的排名。
平均精度均值,衡量所有查询的检索精度均值,关注相关结果的位置分布。
精确率与召回率的调和平均,平衡检索结果中相关性与完整性的权衡。
早期分块(固定窗口或语义分块)+嵌入模型(如Jina-V3、BGE-M3)。
分块后嵌入,可能丢失全局上下文。
先嵌入完整文档,再分块并池化(meanpooling)生成分块嵌入。
保留全局上下文,计算效率较高。
分块后通过LLM生成上下文(如Phi-3.5-mini),结合RankFusion(BM25+密集嵌入)
增强语义连贯性,但需额外生成步骤和GPU资源。
对比实验设置:
RQ#1
EarlyvsLate
Stella-V5,Jina-V3
NFCorpus,MSMarco
分块大小512字符,动态分块模型
RQ#2
Contextualvs传统
Jina-V3,BGE-M3
NFCorpus子集
RankFusion权重(4:1)
NVIDIARTX4090(24GBVRAM),受限于显存,部分实验使用数据子集。
Phi-3.5-mini-instruct(4-bit量化),用于生成上下文和问答任务。
Jina-V3(MTEB排名53)、Stella-V5(排名5)、BGE-M3(排名211)等。
Jina-Segmenter(语义分块)、Simple-Qwen(动态分块)、Topic-Qwen(主题分块)。
Milvus向量数据库(支持BM25与密集嵌入混合检索),JinaRerankerV2(重排序)。
验证严谨性体现
控制变量:统一使用相同嵌入模型(如Jina-V3)对比不同分块策略。
数据集适配:针对文档长度调整实验规模(如NFCorpus子集解决显存限制)。
多指标评估:结合检索(NDCG、MAP)和生成(F1)指标,全面衡量性能。
计算效率分析:记录处理时间与显存占用(如ContextualRetrieval显存达20GB)。
统计显著性:多次实验取均值,结果表格中标注最优值(Bold显示)。
论文通过系统化的实验设计,验证了两种分块策略在不同场景下的权衡:LateChunking效率更优,ContextualRetrieval语义更佳,为实际RAG系统优化提供了重要参考。
上下文检索(ContextualRankFusion)
延迟分块(LateChunking)
早期分块(EarlyChunking)
0.309
0.312(最佳嵌入模型)
0.143
0.144(最佳嵌入模型)
0.202
0.204(最佳嵌入模型)
高(需LLM生成上下文+重排序)
中
低
长文档、高语义连贯性需求
资源受限、效率优先
固定长度、简单任务
嵌入模型对比:
Jina-V3在上下文检索中表现最佳(NDCG@5=0.317)。
BGE-M3在早期分块中优于延迟分块(NDCG@5=0.246vs.0.070)。
动态分块模型(如Topic-Qwen)在语义分割中提升效果,但计算耗时增加4倍。
无单一最优策略:
上下文检索在语义连贯性上占优(NDCG@5提升2.5%),但资源消耗高;延迟分块效率优先,牺牲局部相关性。
关键权衡维度:
任务需求:长文档、高准确性场景倾向上下文检索;实时性任务倾向延迟分块。
嵌入模型适配:模型特性(如长上下文支持)显著影响分块策略效果。
实践指导:为RAG系统设计提供量化权衡框架(如资源-效果平衡表),助力开发者按场景优化。
理论创新:验证了全局上下文保留(延迟分块)与局部语义增强(上下文检索)的互补性,为后续混合策略(如动态切换)提供基础。
开源价值:释放代码与数据集(MIT协议),推动社区在真实场景中复现与扩展(如优化LLM上下文生成效率)。
RQ#1(分块时机):延迟分块验证了全局嵌入的高效性,但需结合模型特性(如BGE-M3不适用)。
RQ#2(上下文增强):上下文检索通过LLM生成与重排序提升语义质量,但需硬件支持。
核心目标达成:系统性对比两种策略,揭示了其在RAG系统中的互补性与场景适配边界。
其中提示语为:
这个提示语(prompt)是一个用于上下文检索(contextualretrieval)的模板,目的是帮助大语言模型(LLM)为给定的文本片段(chunk)生成一个简洁的上下文描述,从而提升检索效果。以下是它的详细解析:
https ://arxiv.org/pdf/2504.19754
https ://github.com/disi-unibo-nlp/rag-when-how-chunk