Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >IBM首提面向RAG系统大规模配置空间的超参数优化HPO研究:方法、对比与发现

IBM首提面向RAG系统大规模配置空间的超参数优化HPO研究:方法、对比与发现

作者头像
AgenticAI
发布于 2025-05-08 05:36:00
发布于 2025-05-08 05:36:00
960
举报
文章被收录于专栏:AgenticAIAgenticAI

随着大型语言模型(LLMs)在实际应用中的广泛使用,如何确保模型能够访问到解决用户查询所需的知识成为一大挑战。为此,检索增强生成(Retrieval-Augmented Generation,RAG)范式应运而生,通过引入检索系统为生成模型提供上下文信息,从而提高生成质量。

然而,RAG 的模块化设计虽然提供了灵活性,但也带来了配置复杂性。选择合适的生成模型、检索参数(如每个查询检索的文档数量、排序方式等)以及其他超参数,都会显著影响系统性能。由于评估每种配置都需要大量计算资源和时间,全面探索所有可能的配置组合几乎不可能。

为了解决这一问题,自动超参数优化(Hyper-Parameter Optimization,HPO)方法被引入到 RAG 系统中。尽管已有一些 HPO 框架应用于 RAG,但它们的有效性尚未经过严格的基准测试。本文旨在填补这一研究空白,系统地评估不同 HPO 方法在 RAG 系统中的表现。

1. 核心贡献与方法

本文的主要贡献在于对 RAG 系统中超参数优化方法的系统性分析。作者评估了五种 HPO 算法:树结构的 Parzen 估计器(TPE)、三种贪婪优化方法和随机搜索。

  • 随机搜索(Random Search):最基础的方法,随机采样参数组合。虽然简单,但在高维空间中往往能覆盖更广区域。
  • TPE(Tree-structured Parzen Estimator):基于贝叶斯优化的一种方法,使用概率模型(如高斯核密度估计)来建模参数与性能之间的关系,有针对性地探索性能更优的区域。
  • 全局贪婪(Greedy Global):按照参数组整体组合逐步搜索最优,易陷入局部最优,但计算效率高。
  • 局部贪婪(Greedy Local):从当前最优配置出发,对单个参数逐一微调优化,适合低维搜索空间。
  • 顺序管道贪婪(Greedy Pipeline Order):按照 RAG 管道顺序依次优化模块(如先调 retriever,再调 generator),符合模块化思维,但效果受顺序影响大。

实验涵盖了由五个检索和生成参数组成的 162 种可能的 RAG 配置,这是目前为止在 RAG 超参数优化中探索的最大搜索空间。

研究发现,RAG 的超参数优化可以高效地完成,贪婪方法或迭代随机搜索都能显著提升系统性能。特别是,对于贪婪的 HPO 方法,先优化生成模型比按照 RAG 管道顺序逐步优化更为有效。

2. 实验设计与结果

实验使用了来自不同领域的五个 RAG 问答数据集,包括机器学习领域的 arXiv 文章、生物医学、维基百科等。评估指标涵盖了传统的词汇匹配指标和基于大型语言模型的评估方法(LLM-as-a-Judge)。

在实验部分,作者系统对比了以下 6 种超参数优化方法在 RAG 系统中的表现:

  • Grid Search:穷举搜索空间中所有参数组合,是最传统的方法。虽然全面但计算开销巨大,在参数维度较高时不可扩展,仅作为性能上限的对比参考。
  • Random Search:从整个搜索空间中随机采样配置进行评估。相比 Grid Search 更高效,能覆盖较多组合,但可能错过高质量局部区域。
  • TPE(Tree-structured Parzen Estimator):贝叶斯优化方法,通过构建参数到性能的概率模型来预测高性能区域。理论上更聪明,但在 RAG 的搜索空间中收敛效果并不总是优于贪婪策略。
  • Greedy-M(Greedy Modular):一种模块化贪婪策略。先分别对 RAG 系统的检索器(Retriever)和生成器(Generator)独立优化,然后组合两个局部最优结果。这种方法简单高效,适用于模块解耦明确的系统。
  • Greedy-R(Greedy by Retrieval first):顺序贪婪优化策略,先固定生成器,仅优化检索模块中的参数(如检索数量、rerank 方式等),再固定检索器参数优化生成器。这种方式模拟真实部署场景中逐层调优的流程。
  • Greedy-R-CC(Greedy Retrieval + Coordinate Correction):在 Greedy-R 的基础上增加一个“参数修正”步骤,即在完成一次顺序贪婪优化后,再次微调所有参数以修正局部最优问题。该方法在实验中取得最优结果。

结果显示,经过超参数优化的 RAG 系统在所有数据集上性能都有显著提升。特别是,贪婪优化方法在大多数情况下优于其他方法,且优化生成模型的顺序对最终性能有重要影响。

或许一张表格更能清晰的表明各个 HPO 方法的区别。

方法

类型

是否考虑模块交互

是否全局优化

收敛稳定性

表现总结

Grid Search

穷举

✔️

✔️

最优参考但成本极高

Random Search

随机

✔️

高效但不稳定

TPE

贝叶斯

✔️

✔️

理论强但表现波动

Greedy-M

贪婪

简单快速,适合模块解耦场景

Greedy-R

贪婪

部分 ✔️

顺序优化有效但局部最优风险

Greedy-R-CC

贪婪+修正

✔️

近似 ✔️

性能最佳,推荐使用

3. 结果分析

除了系统评测六种 HPO 方法的效果,作者在第六节进一步展开了三方面分析,为读者深入理解搜索策略背后的机制提供了实证支持:

3.1 各阶段搜索空间的重要性

作者将整个 RAG 管道拆成两个子空间——Retriever 参数空间与 Generator 参数空间,并进行独立评估。结果发现:

  • 在大多数任务中,仅优化 Retriever 参数 就能获得大部分性能提升;
  • Generator 参数对性能的边际影响相对较小。

这一发现不仅印证了“先调 Retriever 更有效”的策略合理性,也为工业实践中优先调参提供了依据。

3.2 模块间参数组合的非独立性分析

作者进一步比较了「独立调参后组合」与「联合调参」的结果差异。尽管模块分开调参(如 Greedy-M)能简化搜索空间,但当 Retriever 与 Generator 存在非线性交互(如 Retriever 的返回文档数影响上下文长度)时,模块组合优化往往更优。

这说明贪婪式的 Greedy-R、Greedy-R-CC 比完全独立优化(Greedy-M)更具优势,尤其是在复杂依赖的系统中。

3.3 贪婪算法的收敛性与稳定性

为了评估贪婪算法是否容易陷入局部最优,作者在多个初始点上启动 Greedy-R 和 Greedy-R-CC,并观察其最终性能分布。实验表明:

  • Greedy-R-CC 在不同初始点上均能稳定收敛至接近最优解,且结果方差最小;
  • 相比之下,TPE 与 Random Search 的表现更易受起点影响,波动性较大。

这进一步强调了 Greedy-R-CC 方法在实际部署中的鲁棒性与高性价比,尤其适合在资源受限场景中快速获得较优配置。

4. 总结

这篇论文通过系统地评估不同的超参数优化方法,为 RAG 系统的配置提供了实用的指导。其最大亮点在于探索了迄今为止最大的 RAG 超参数搜索空间,并发现了高效的优化策略。

  • RAG 系统中的调参并不需要复杂的黑盒优化;
  • 相对简单的顺序贪婪策略(尤其是带局部修正的 Greedy-R-CC)在精度、稳定性与成本三方面都表现最佳;
  • 并首次实证支持“Retriever 优先优化”的设计原则。

然而,目前作者尚未开源代码或配置脚本,后续若开源将大大便利实践者复现与扩展。

附|关注大模型实战应用?

👋 Agentic AI —— 专注 RAG 与 LLM 落地的实战派工程师,graphrag-server[1]markify[2] 作者。

🎯 只分享最实用的技术方案与最佳实践,不谈空话!

📦 加入星球立享:

  • ✅ 最新 hipporag2 精简代码
  • ✅ GraphRAG 全套配置 + 手把手实体标注
  • ✅ 技术私享问答,直击核心难题

🧰 热门开源项目:

  • 🔹 graphrag-server:GraphRAG 接口服务
  • 🔹 markify:高效文件解析助手

参考资料

[1]

graphrag-server: https://github.com/KylinMountain/graphrag-server

[2]

markify: https://github.com/KylinMountain/markify

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AgenticAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
清华&华为提出AABO:自适应最优化Anchor设置,性能榨取的最后一步 | ECCV 2020 Spotlight
论文提出超参数优化方法AABO,该方法核心基于贝叶斯优化和Sub-Sample方法,能够自适应的搜索最优的anchor设置。从实验结果来看,AABO能够仅通过anchor设置优化,为SOTA目标检测方法带来1.4%~2.4%的性能提升
Amusi
2020/09/23
9090
清华&华为提出AABO:自适应最优化Anchor设置,性能榨取的最后一步 | ECCV 2020 Spotlight
算法模型自动超参数优化方法!
学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter)。还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper parameter)。超参数是在开始学习过程之前设置值的参数。相反,其他参数的值通过训练得出。
Datawhale
2021/01/07
3.1K0
算法模型自动超参数优化方法!
AABO:自适应Anchor设置优化,性能榨取的最后一步 | ECCV 2020 Spotlight
论文: AABO: Adaptive Anchor Box Optimization for Object Detection via Bayesian Sub-sampling
VincentLee
2020/10/13
9330
又一个超参数优化神器:Scikit Optimize
开始之前,请问你是不是考虑执行贝叶斯超参数优化,但又不确定如何操作?听说过各种超参数优化库,如前两次介绍的模型调参神器:Hyperopt | 使用 Hyperopt 和 Plotly 可视化超参数优化,但又想知道 Scikit Optimize 是否适合?这时,你应当认真阅读完本文,并且点个赞加个收藏~
数据STUDIO
2022/05/24
3.9K0
又一个超参数优化神器:Scikit Optimize
使用Optuna进行超参数优化
超参数优化是一项艰巨的任务。但是使用 Optuna 等工具可以轻松应对。在这篇文章中,我将展示如何使用 Optuna 调整 CatBoost 模型的超参数。
deephub
2021/11/08
2.6K0
使用Optuna进行超参数优化
模型调参和超参数优化的4个工具
作者 Bunmi Akinremi 我清楚地记得两年前参加的一次机器学习黑客马拉松,当时我正处于数据科学职业生涯的初期。这是由尼日利亚数据科学组织的训练营的资格预审黑客马拉松。 该数据集包含有关某些员工的信息。我必须预测员工是否应该升职。在尝试改进和设计功能几天后,该模型的准确率似乎在 80% 左右波动。 我需要做点什么来提高我在排行榜上的分数。我开始手动调整模型——得到了更好的结果。通过更改参数,移动的准确度提高到 82%(这一移动非常重要,任何参加过黑客马拉松的人都会证明这一点!)。很兴奋,我开始调整其
double
2022/08/31
2.3K0
还在当调参侠?推荐这三个超参优化库【含示例代码】
在传统的算法建模过程中,影响算法性能的一个重要环节、也可能是最为耗时和无趣的一项工作就是算法的调参,即超参数优化(Hyper-parameter Optimization,HPO),因此很多算法工程师都会调侃的自称"调参侠"。近期在研究一些AutoML相关的论文和实现,而在AutoML中的一个核心组件就是HPO。借此机会,本文梳理总结Python中三种常见的可实现HPO的库,并提供一个简单的示例。
luanhz
2021/08/20
7510
机器学习:超参自动优化方法总结
本文旨在介绍当前被大家广为所知的超参自动优化方法,像网格搜索、随机搜索、贝叶斯优化和Hyperband,并附有相关的样例代码供大家学习。
Python数据科学
2021/09/08
1.2K0
机器学习:超参自动优化方法总结
LightGBM高级教程:自动调参与超参数优化
LightGBM作为一种高效的梯度提升决策树算法,具有许多可调参数。为了优化模型性能,通常需要进行调参和超参数优化。本教程将介绍如何在Python中使用不同的技术来进行自动调参和超参数优化,以提高LightGBM模型的性能。
Echo_Wish
2024/02/29
1.4K0
使用多种工具组合进行分布式超参数优化
在这篇文章中,我介绍如何使用工具组合来加速超参数优化任务。这里提供了Ubuntu的说明,但可以合理地应用于任何*nix系统。
AiTechYun
2018/09/26
1.3K0
使用多种工具组合进行分布式超参数优化
资源 | Python 环境下的自动化机器学习超参数调优
由于机器学习算法的性能高度依赖于超参数的选择,对机器学习超参数进行调优是一项繁琐但至关重要的任务。手动调优占用了机器学习算法流程中一些关键步骤(如特征工程和结果解释)的时间。网格搜索和随机搜索则不会干涉这些步骤,但是需要大量的运行时间,因为它们浪费了时间去评估搜索空间中并不太可能找到最优点的区域。如今越来越多的超参数调优过程都是通过自动化的方法完成的,它们旨在使用带有策略的启发式搜索(informed search)在更短的时间内找到最优超参数,除了初始设置之外,并不需要额外的手动操作。
机器之心
2018/08/21
1.1K0
资源 | Python 环境下的自动化机器学习超参数调优
学习笔记 2022 综述 | 自动图机器学习,阐述 AGML 方法、库与方向
图机器学习在学术界和工业界都得到了广泛的研究。然而,随着图学习的研究热潮和大量新兴方法和技术的涌现,针对不同的图相关任务,人工设计最优的机器学习算法变得越来越困难。为了应对这一挑战,以发现不同图相关任务/数据的最佳超参数和神经网络架构配置为目标的自动化图机器学习正日益受到研究界的关注。论文广泛讨论自动化图机器学习方法,主要涵盖用于图机器学习的超参数优化(HPO)和神经网络架构搜索(NAS)。简要概述了分别为图机器学习和自动化机器学习设计的现有库,并进一步深入介绍了他们贡献的世界上第一个用于自动化图机器学习的开源库 AutoGL。最后分享了对自动化图机器学习未来研究方向的见解。该论文是对自动化图机器学习的 Approaches, Libraries and Directions 的首次系统而全面的讨论。
叶庭云
2022/06/25
8290
学习笔记 2022 综述 | 自动图机器学习,阐述 AGML 方法、库与方向
算法金 | 最难的来了:超参数网格搜索、贝叶斯优化、遗传算法、模型特异化、Hyperopt、Optuna、多目标优化、异步并行优化
机器学习模型中的参数通常分为两类:模型参数和超参数。模型参数是模型通过训练数据自动学习得来的,而超参数则是在训练过程开始前需要人为设置的参数。理解这两者的区别是进行有效模型调优的基础。
算法金
2024/07/09
2.1K0
算法金 | 最难的来了:超参数网格搜索、贝叶斯优化、遗传算法、模型特异化、Hyperopt、Optuna、多目标优化、异步并行优化
[自动调参]深度学习模型的超参数自动化调优详解
在实践中,经验丰富的机器学习工程师和研究人员会培养出直觉,能够判断上述选择哪些 可行、哪些不可行。也就是说,他们学会了调节超参数的技巧。但是调节超参数并没有正式成 文的规则。如果你想要在某项任务上达到最佳性能,那么就不能满足于一个容易犯错的人随意 做出的选择。即使你拥有很好的直觉,最初的选择也几乎不可能是最优的。你可以手动调节你 的选择、重新训练模型,如此不停重复来改进你的选择,这也是机器学习工程师和研究人员大 部分时间都在做的事情。但是,整天调节超参数不应该是人类的工作,最好留给机器去做。
机器学习AI算法工程
2019/10/28
4.8K0
[自动调参]深度学习模型的超参数自动化调优详解
【深度学习实验】网络优化与正则化(七):超参数优化方法——网格搜索、随机搜索、贝叶斯优化、动态资源分配、神经架构搜索
  目前,研究人员通过大量实践总结了一些经验方法,以在神经网络的表示能力、复杂度、学习效率和泛化能力之间取得良好的平衡,从而得到良好的网络模型。本系列文章将从网络优化和网络正则化两个方面来介绍如下方法:
Qomolangma
2024/07/30
1.2K0
【深度学习实验】网络优化与正则化(七):超参数优化方法——网格搜索、随机搜索、贝叶斯优化、动态资源分配、神经架构搜索
贝叶斯超参数优化原理(Python)
超参数优化在大多数机器学习流水线中已成为必不可少的一步,而贝叶斯优化则是最为广为人知的一种超参数的优化方法。
算法进阶
2023/12/13
9302
贝叶斯超参数优化原理(Python)
机器学习·自动调参(Hyperopt)
从规则编程到机器学习,从人工调参到AutoML(meta-machine learning),一直是整个行业发展的趋势。目前机器学习的算法框架逐渐成熟,针对机器学习模型的自动调参算法也有很多,可以帮助我们摆脱手动调参的烦恼,目前主流的调参算法包括Grid search、Random search、TPE、PSO、SMAC以及贝叶斯调参等。目前有许多调参框架可以选择,本文简单介绍Hyperopt自动调参框架的设计和实现
MeteoAI
2019/07/24
9.5K1
使用 Hyperopt 和 Plotly 可视化超参数优化
至今,很多大佬对“超参数优化”算法进行了大量研究,这些算法在进行少量配置后会自动搜索最佳超参数集。这些算法可以通过各种 Python 包实现。例如hyperopt就是其中一个广泛使用的超参数优化框架包,它允许数据科学家通过定义目标函数和声明搜索空间来利用几种强大的算法进行超参数优化。
数据STUDIO
2022/05/24
1.3K0
使用 Hyperopt 和 Plotly 可视化超参数优化
机器学习超参数优化算法-Hyperband
机器学习中模型性能的好坏往往与超参数(如batch size,filter size等)有密切的关系。最开始为了找到一个好的超参数,通常都是靠人工试错的方式找到"最优"超参数。但是这种方式效率太慢,所以相继提出了网格搜索(Grid Search, GS) 和 随机搜索(Random Search,RS)。
marsggbo
2018/12/28
2.4K0
超参自动优化方法总结
本文旨在介绍当前被大家广为所知的超参自动优化方法,像网格搜索、随机搜索、贝叶斯优化和Hyperband,并附有相关的样例代码供大家学习。
算法进阶
2022/06/02
1K0
超参自动优化方法总结
推荐阅读
相关推荐
清华&华为提出AABO:自适应最优化Anchor设置,性能榨取的最后一步 | ECCV 2020 Spotlight
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档