登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
Gitee 2025年度开源项目评选启动,快来选出你心中的最佳开源项目!
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
1
Star
0
Fork
0
徐羿
/
notes
代码
Issues
7
Pull Requests
0
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
论文LLMTune
待办的
#IB6FD7
徐羿
拥有者
创建于
2024-11-22 16:41
LLMTune: Accelerate Database Knob Tuning with Large Language Models LLMTune:使用大型语言模型加速数据库旋钮调优 资料: 摘要 数据库旋钮调优是数据库领域中的一个关键挑战,目的是优化旋钮值以增强特定工作负载的数据库性能。现代数据库管理系统(DBMS)通常具有数百个可调旋钮,这对数据库管理员(DBA)推荐最佳配置提出了重大挑战。因此,已经开发了一系列基于机器学习的调优方法来自动化该过程。尽管引入了各种优化器,实际应用中出现了一个新问题:这些方法通常需要大量的工作负载运行才能获得满意的性能,这一过程既耗时又耗费资源。这种低效率很大程度上源于优化配置通常与默认设置有很大不同,因此在调优过程中需要多次迭代。基于此,论文提出了LLMTune,这是一个基于大型语言模型的配置生成器,旨在为新工作负载生成初始的高质量配置。这些生成的配置可以作为各种基础优化器的起点,加速它们的调优过程。为了获得LLMTune的监督微调的训练数据,研究者设计了一个新的自动数据生成框架,能够高效地创建大量的<工作负载,配置>对。通过与不同工作负载(如TPC-H和JOB)的实验,LLMTune显示出比领先方法更快地识别出优越配置的能力。例如,在具有挑战性的TPC-H工作负载中,LLMTune在寻找最佳性能配置方面实现了显著的15.6倍加速比。 主要贡献 提出了LLMTune框架,利用大型语言模型推荐合适的初始配置,提高当前旋钮调优技术的效率和效果。 开发了一个自动化数据生成框架,减少了大量的人工注释工作,高效合成新的工作负载,并分配适当的高质量配置作为标签。 开源了代码、模型检查点、数据库和所有生成的工作负载,以促进数据库社区的进一步研究。 进行了全面的实验验证LLMTune的有效性,关注来自已知和未知数据库模式的各种新工作负载。 相关工作 论文回顾了当前旋钮调优的方法和大型语言模型在数据库优化中的应用。 方法 LLMTune的开发依赖于从大量工作负载中获取历史调优数据,理想情况下,这些工作负载的数量应达到数百或数千。目前,开源社区中尚无可用的全面数据集,并且需要知道每个工作负载的调优结果作为训练标签。为了克服这一限制,研究者引入了一个完全自动化的数据生成框架,该系统能够为任何指定的数据库创建多样化和大量的工作负载,并自动优化这些工作负载以获取相应的高质量配置。 实验 研究者进行了广泛的实验来验证LLMTune的有效性,包括在TPC-H和JOB等不同工作负载上的性能提升和运行时间。 结论 LLMTune通过利用大型语言模型来推荐高质量的初始配置,显著加速了数据库旋钮调优过程,并在多个工作负载上显示出优越的性能。 1 引言 数据库管理系统 (DBMS) 的性能优化是一项复杂而关键的任务,旋钮调整是一项核心技术。具体来说,knob tuning 涉及调整 DBMS 中的各种配置参数(又名 “knobs”),以最大限度地提高给定工作负载的执行效率。这些旋钮控制内存分配、查询优化策略、缓存机制和并发设置等方面。然而,由于现代 DBMS 中存在许多旋钮,有时达到数百个 [53],因此旋钮调整是一个 NP 困难的问题。如此丰富的旋钮导致可能配置的搜索空间巨大,在确定针对特定工作负载的最佳组合方面提出了重大挑战。 近年来,Automated knob tuning 技术受到了相当大的关注,该技术旨在通过各种智能算法自动调整数据库配置参数,以适应不同的工作负载和操作环境。因此,这些技术可以通过减少人工干预来减轻数据库管理员 (DBA) 的负担。一般来说,这些基础优化器可以分为两大类[49]:基于贝叶斯优化(基于BO)的方法,如iTuned [8]和SMAC [12],以及基于强化学习(基于RL)的方法,如CDBTune [48]和UDO [44]。尽管这些方法擅长找到合适的配置,但它们通常需要大量的工作负载运行才能达到令人满意的工作负载性能水平,这会导致优化效率不佳。例如,基于 BO 的方法通常需要数百次迭代来对从配置及其相应性能得出的分布进行建模。在每次迭代中,工作负载在特定配置下执行。另一方面,基于 RL 的方法通常需要额外的在线培训,其中还涉及与环境(即数据库)的数百次交互。因此,对于实际应用程序,减少找到满意配置所需的工作负载运行至关重要 有鉴于此,已经提出了许多迁移学习技术,以利用历史优化任务中的知识来加速优化过程。相关研究包括工作负载映射 [4, 41]、模型集成 [50]、模型预训练 [10, 21] 和搜索空间缩减 [18, 52]。通常,前三种技术涉及通过利用和传输从存储库中存储的历史优化任务中收集的知识来初始化优化模型。随后,对于新的工作负载,此初始化的优化模型将进一步优化,以推荐良好的配置。利用从过去的调优任务中获得的见解,初始化的模型可以加快收敛过程,从而提高调优效率。最后一种技术略有不同,因为它侧重于根据从历史优化任务中学到的信息来减少新工作负载的搜索空间。通过缩小搜索空间,该技术可以提高现有优化方法的效率。 Motivation:虽然已经进行了各种尝试来加快调参过程,但它们始终从旋钮的默认值开始搜索(或迭代),忽略了起点影响的重要性。我们假设适当的起点可以加快调优算法向解的收敛,并提高发现全局最优的可能性。为了证实这一假设,我们对两种广泛采用的工作负载(即 TPC-H 和 JOB)进行了一项试点研究,采用一种称为高效贝叶斯优化 (HEBO) 的基于 BO 的传统方法进行旋钮调整。目标是比较从默认值优化与高质量配置起点的效果 试点研究分三个步骤展开:(1) 获得最佳配置:最初,HEBO 从默认值开始,在 100 轮迭代优化旋钮,以获得最佳配置。(2) Perturb 以获得高质量的起点:随后,将随机噪声注入从第一步得出的最佳配置中。这种轻微的扰动可能会产生优于默认配置但不如最佳配置的新配置,标记为高质量配置,用于作为 HEBO 的起点。(3) 从高质量起点开始调谐:通过调整随机噪声的大小,生成四种不同的次优配置作为起点,并分别对每种配置执行 HEBO。我们记录了调优过程中的中间配置,以秒为单位评估它们的延迟,并在图 1 中描述了它们。 
LLMTune: Accelerate Database Knob Tuning with Large Language Models LLMTune:使用大型语言模型加速数据库旋钮调优 资料: 摘要 数据库旋钮调优是数据库领域中的一个关键挑战,目的是优化旋钮值以增强特定工作负载的数据库性能。现代数据库管理系统(DBMS)通常具有数百个可调旋钮,这对数据库管理员(DBA)推荐最佳配置提出了重大挑战。因此,已经开发了一系列基于机器学习的调优方法来自动化该过程。尽管引入了各种优化器,实际应用中出现了一个新问题:这些方法通常需要大量的工作负载运行才能获得满意的性能,这一过程既耗时又耗费资源。这种低效率很大程度上源于优化配置通常与默认设置有很大不同,因此在调优过程中需要多次迭代。基于此,论文提出了LLMTune,这是一个基于大型语言模型的配置生成器,旨在为新工作负载生成初始的高质量配置。这些生成的配置可以作为各种基础优化器的起点,加速它们的调优过程。为了获得LLMTune的监督微调的训练数据,研究者设计了一个新的自动数据生成框架,能够高效地创建大量的<工作负载,配置>对。通过与不同工作负载(如TPC-H和JOB)的实验,LLMTune显示出比领先方法更快地识别出优越配置的能力。例如,在具有挑战性的TPC-H工作负载中,LLMTune在寻找最佳性能配置方面实现了显著的15.6倍加速比。 主要贡献 提出了LLMTune框架,利用大型语言模型推荐合适的初始配置,提高当前旋钮调优技术的效率和效果。 开发了一个自动化数据生成框架,减少了大量的人工注释工作,高效合成新的工作负载,并分配适当的高质量配置作为标签。 开源了代码、模型检查点、数据库和所有生成的工作负载,以促进数据库社区的进一步研究。 进行了全面的实验验证LLMTune的有效性,关注来自已知和未知数据库模式的各种新工作负载。 相关工作 论文回顾了当前旋钮调优的方法和大型语言模型在数据库优化中的应用。 方法 LLMTune的开发依赖于从大量工作负载中获取历史调优数据,理想情况下,这些工作负载的数量应达到数百或数千。目前,开源社区中尚无可用的全面数据集,并且需要知道每个工作负载的调优结果作为训练标签。为了克服这一限制,研究者引入了一个完全自动化的数据生成框架,该系统能够为任何指定的数据库创建多样化和大量的工作负载,并自动优化这些工作负载以获取相应的高质量配置。 实验 研究者进行了广泛的实验来验证LLMTune的有效性,包括在TPC-H和JOB等不同工作负载上的性能提升和运行时间。 结论 LLMTune通过利用大型语言模型来推荐高质量的初始配置,显著加速了数据库旋钮调优过程,并在多个工作负载上显示出优越的性能。 1 引言 数据库管理系统 (DBMS) 的性能优化是一项复杂而关键的任务,旋钮调整是一项核心技术。具体来说,knob tuning 涉及调整 DBMS 中的各种配置参数(又名 “knobs”),以最大限度地提高给定工作负载的执行效率。这些旋钮控制内存分配、查询优化策略、缓存机制和并发设置等方面。然而,由于现代 DBMS 中存在许多旋钮,有时达到数百个 [53],因此旋钮调整是一个 NP 困难的问题。如此丰富的旋钮导致可能配置的搜索空间巨大,在确定针对特定工作负载的最佳组合方面提出了重大挑战。 近年来,Automated knob tuning 技术受到了相当大的关注,该技术旨在通过各种智能算法自动调整数据库配置参数,以适应不同的工作负载和操作环境。因此,这些技术可以通过减少人工干预来减轻数据库管理员 (DBA) 的负担。一般来说,这些基础优化器可以分为两大类[49]:基于贝叶斯优化(基于BO)的方法,如iTuned [8]和SMAC [12],以及基于强化学习(基于RL)的方法,如CDBTune [48]和UDO [44]。尽管这些方法擅长找到合适的配置,但它们通常需要大量的工作负载运行才能达到令人满意的工作负载性能水平,这会导致优化效率不佳。例如,基于 BO 的方法通常需要数百次迭代来对从配置及其相应性能得出的分布进行建模。在每次迭代中,工作负载在特定配置下执行。另一方面,基于 RL 的方法通常需要额外的在线培训,其中还涉及与环境(即数据库)的数百次交互。因此,对于实际应用程序,减少找到满意配置所需的工作负载运行至关重要 有鉴于此,已经提出了许多迁移学习技术,以利用历史优化任务中的知识来加速优化过程。相关研究包括工作负载映射 [4, 41]、模型集成 [50]、模型预训练 [10, 21] 和搜索空间缩减 [18, 52]。通常,前三种技术涉及通过利用和传输从存储库中存储的历史优化任务中收集的知识来初始化优化模型。随后,对于新的工作负载,此初始化的优化模型将进一步优化,以推荐良好的配置。利用从过去的调优任务中获得的见解,初始化的模型可以加快收敛过程,从而提高调优效率。最后一种技术略有不同,因为它侧重于根据从历史优化任务中学到的信息来减少新工作负载的搜索空间。通过缩小搜索空间,该技术可以提高现有优化方法的效率。 Motivation:虽然已经进行了各种尝试来加快调参过程,但它们始终从旋钮的默认值开始搜索(或迭代),忽略了起点影响的重要性。我们假设适当的起点可以加快调优算法向解的收敛,并提高发现全局最优的可能性。为了证实这一假设,我们对两种广泛采用的工作负载(即 TPC-H 和 JOB)进行了一项试点研究,采用一种称为高效贝叶斯优化 (HEBO) 的基于 BO 的传统方法进行旋钮调整。目标是比较从默认值优化与高质量配置起点的效果 试点研究分三个步骤展开:(1) 获得最佳配置:最初,HEBO 从默认值开始,在 100 轮迭代优化旋钮,以获得最佳配置。(2) Perturb 以获得高质量的起点:随后,将随机噪声注入从第一步得出的最佳配置中。这种轻微的扰动可能会产生优于默认配置但不如最佳配置的新配置,标记为高质量配置,用于作为 HEBO 的起点。(3) 从高质量起点开始调谐:通过调整随机噪声的大小,生成四种不同的次优配置作为起点,并分别对每种配置执行 HEBO。我们记录了调优过程中的中间配置,以秒为单位评估它们的延迟,并在图 1 中描述了它们。 
评论 (
0
)
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
未关联
master
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
1
https://gitee.com/buaa-xy/notes.git
git@gitee.com:buaa-xy/notes.git
buaa-xy
notes
notes
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册