关键词:大模型、多目标调优、LLM Serving、RAG、Agent、Pareto 优化、模型路由、偏好对齐

概要

大模型系统真正落地以后,最难的往往不是“模型能不能回答”,而是“能不能在效果、成本、延迟和安全之间找到一个合适的平衡点”。

比如做一个企业知识库问答系统,模型回答越准通常成本越高;RAG 检索越充分,延迟也会跟着上升;安全约束越强,有时又会影响回答的直接性。再比如线上接入多个模型时,不可能所有请求都交给最贵的大模型处理,否则成本很快失控。

这类问题本质上就是多目标优化问题。本文整理了近期和“大模型系统多目标调优”相关的开源论文代码,主要覆盖五个方向:

  1. 多目标偏好对齐:让模型同时兼顾有用性、安全性、简洁性等目标。
  2. 推理时多目标控制:不重新训练模型,在解码阶段动态调整偏好。
  3. RAG / Agent 系统优化:搜索准确率、成本、延迟之间的折中配置。
  4. 多模型路由与调度:把不同难度的请求分配给不同模型。
  5. LLM Serving 自动优化:让 Agent 参与服务系统的生成、验证和优化。

整体来看,如果是做论文复现,可以从 MODPO、MOD、MetaAligner 入手;如果是做工程落地,更建议优先关注 syftr、GEPA、ParetoBandit 和 ECCOS。

一、大模型系统为什么需要多目标调优

传统机器学习项目里,我们经常围绕一个核心指标做优化,比如准确率、F1、AUC。大模型应用不太一样,它通常是一整套系统,指标之间还经常互相牵制。

以 RAG 问答为例,增加检索文档数量可能提升答案质量,但也会增加上下文长度和推理成本;使用更强的重排模型可能提高召回质量,但系统延迟也会上升。再看多模型路由,便宜模型适合简单问题,强模型适合复杂问题,但系统必须知道什么时候该省钱,什么时候该保证质量。

所以大模型系统调优的目标,不应该只是找到一个“最高分配置”,而是找到一组 Pareto 最优解。所谓 Pareto 最优,可以简单理解为:如果想继续提升某个指标,就必须牺牲另一个指标。工程上真正有价值的,往往就是这些折中点。

二、开源论文代码汇总

下表是本次整理的核心项目。为了方便阅读,我把它们按系统层次做了分类。

方向 项目 / 论文 主要作用 地址
模型偏好对齐 MODPO 多目标版本 DPO,用于训练覆盖不同偏好的模型 GitHubarXiv
推理阶段控制 MOD 在解码时组合多个单目标模型,实现动态权重控制 GitHubarXiv
泛化多目标对齐 MetaAligner 对不同 policy model 做多目标输出修正 GitHubarXiv
方向偏好对齐 DPA / ArmoRM 用多目标奖励向量控制回答风格 GitHub
自适应偏好优化 AMoPO 减少对 reward model / reference model 的依赖 GitHubarXiv
RAG / Agent 优化 syftr 搜索 RAG/Agent 配置的准确率、成本、延迟 Pareto 前沿 GitHubPMLR
Prompt / Agent 优化 GEPA 用反思和 Genetic-Pareto 优化 prompt、工具描述、Agent 指令 GitHubarXiv
多 LLM 调度 ECCOS 在质量约束下做多模型成本最优调度 GitHubarXiv
在线模型路由 ParetoBandit 在预算约束下做多模型在线自适应路由 GitHubarXiv
Serving 自动生成 VibeServe 让 AI Agent 生成并优化定制化 LLM Serving 系统 GitHubarXiv

从使用门槛看,MODPO 和 MOD 更适合论文复现;syftr、GEPA、ParetoBandit 更容易和工程项目结合;VibeServe 更偏系统研究,适合对 LLM serving、推理框架和自动化代码优化感兴趣的读者。

三、模型对齐方向

1. MODPO:多目标 DPO 的经典起点

项目地址:https://github.com/ZHZisZZ/modpo
论文地址:https://arxiv.org/abs/2310.03708

MODPO 的完整名称是 Multi-Objective Direct Preference Optimization,来自论文 Beyond One-Preference-Fits-All Alignment: Multi-Objective Direct Preference Optimization

普通 DPO 通常只围绕一个偏好目标训练模型,而 MODPO 希望模型能在多个偏好目标之间形成不同折中。例如一个模型可以更偏安全,另一个模型可以更偏有用,或者在安全和有用之间取一个中间状态。

这个项目适合已经熟悉 SFT、DPO、偏好数据构造的读者。相比多目标 RLHF,MODPO 不需要复杂的 PPO 训练流程,复现难度相对低一些,也更适合作为多目标偏好优化的入门项目。

适用场景可以概括为:你有开源基座模型,有多维偏好数据,并且希望训练出一组能覆盖不同偏好权重的模型。

2. DPA / ArmoRM:用方向向量控制偏好

项目地址:https://github.com/RLHFlow/Directional-Preference-Alignment

DPA 的思路更接近“偏好方向控制”。它不是简单地把所有偏好压成一个分数,而是用多目标 reward vector 表示不同维度,比如 helpfulness、verbosity 等。

这样做的好处是控制方式更直观。比如希望回答“更有用但少啰嗦”,就可以通过偏好方向来表达,而不是重新设计一个单独的 reward。

这类方法对个性化助手很有参考价值,因为不同用户对回答风格的要求并不一样。有的人喜欢详细解释,有的人只想要结论;有的人更重视安全边界,有的人更关注任务完成度。

3. AMoPO:减少额外模型依赖

项目地址:https://github.com/Javkonline/AMoPO
论文地址:https://arxiv.org/abs/2506.07165

AMoPO 关注的问题是:多目标偏好优化往往依赖额外 reward model 或 reference model,这会增加训练复杂度。它尝试用自适应权重机制来动态平衡不同偏好维度,并减少额外模型依赖。

这个方向适合继续研究“更轻量的偏好优化”。如果只是初学,不建议第一个读它;如果已经看过 MODPO,再看 AMoPO 会更容易理解它想改进什么。

4. MetaAligner:策略无关的多目标对齐

项目地址:https://github.com/SteveKGYang/MetaAligner
论文地址:https://arxiv.org/abs/2403.17141

MetaAligner 的定位和前面几个项目略有不同。它强调 policy-agnostic,也就是不强依赖被对齐模型本身的参数。通俗点说,它更像一个外部对齐器,可以对不同模型的输出做多目标修正。

这对闭源模型或者 API 模型比较有意义。因为很多时候我们无法微调模型,只能通过后处理、重写、修正来控制输出。MetaAligner 的思路适合这类“不能改模型本体,但想增强输出可控性”的场景。

四、推理控制方向:MOD

项目地址:https://github.com/srzer/MOD
论文地址:https://arxiv.org/abs/2406.18853

MOD 是这批项目里非常值得关注的一个。它解决的问题很直接:如果已经有多个单目标模型,能不能在推理阶段把它们组合起来?

例如,一个模型偏安全,一个模型偏代码能力,一个模型偏通用偏好。MOD 在生成 token 时,不只看一个模型的输出,而是按权重组合多个模型的预测分布。这样就可以在不重新训练的情况下,快速尝试不同偏好组合。

它的优点是灵活。产品里如果要做“用户偏好滑条”,比如安全性高一点、回答更短一点、代码能力更强一点,MOD 这类方法就很有启发。

不过它的部署成本也不能忽略。推理时如果要同时加载多个模型,显存和延迟都会增加。实际使用时,可能需要 LoRA、共享基座模型、并行推理或者缓存机制来降低开销。

简单对比一下:MODPO 是训练时方法,适合训练一组模型;MOD 是推理时方法,适合快速动态调权。

五、RAG 与 Agent 系统优化

1. syftr:搜索 RAG/Agent 的 Pareto 配置

项目地址:https://github.com/datarobot/syftr
论文地址:https://proceedings.mlr.press/v293/conway25a.html

RAG 系统的参数非常多。chunk size、top-k、embedding model、reranker、生成模型、prompt 模板、是否 query rewrite,这些选择都会影响最终效果。

手工调参最大的问题是看不到全局折中。一个配置准确率高但成本高,另一个配置便宜但略有损失,到底该选哪个,需要有数据支持。syftr 做的就是这件事:把 RAG/Agent workflow 看成一个搜索空间,用多目标贝叶斯优化找 Pareto 最优配置。

syftr 特别适合企业知识库问答、内部文档问答、客服问答这类场景。因为这些场景通常既要质量,也要控制调用成本和响应速度。

它的工程栈也比较实用,使用 Ray 做分布式搜索,Optuna 做优化,LlamaIndex 构建 RAG workflow。如果想把多目标调优真正用到 RAG 项目里,syftr 是非常值得优先复现的。

2. GEPA:优化 prompt、Agent 指令和工具描述

项目地址:https://github.com/gepa-ai/gepa
论文地址:https://arxiv.org/abs/2507.19457

GEPA 的全称里有 Genetic-Pareto,它关注的是“文本参数”的自动优化。这里的文本参数可以是 system prompt、Agent 指令、工具描述、RAG 查询改写 prompt,甚至也可以是某些代码或配置说明。

GEPA 的特点是它不只看一个分数,而是会读取执行轨迹、错误信息、反馈文本,再让 LLM 反思并生成新的候选版本。对于 Agent 系统,这一点很重要,因为 Agent 失败往往不是一个简单的分数能解释清楚的。工具调用错了、格式解析失败、检索证据不足,这些都可以作为反馈。

如果说 syftr 更像是帮你搜索“系统配置”,GEPA 更像是帮你打磨“系统里的文字组件”。二者放在一起看,会比较完整。

六、多模型 Serving 路由

1. ECCOS:能力和成本协同调度

项目地址:https://github.com/agiresearch/ECCOS
论文地址:https://arxiv.org/abs/2502.20576

ECCOS 面向 multi-LLM serving。它的出发点很现实:不同模型能力和成本不同,简单问题没必要交给最贵的大模型。

ECCOS 大致分为两步。第一步预测模型能力和计算成本,第二步在质量和 workload 约束下做成本最优分配。它更适合有离线评估数据、有明确质量约束的系统。

如果你正在做一个多模型服务平台,希望根据问题难度自动分配模型,ECCOS 的建模方式很有参考价值。

2. ParetoBandit:预算约束下的在线模型路由

项目地址:https://github.com/ParetoBandit/ParetoBandit
论文地址:https://arxiv.org/abs/2604.00136

ParetoBandit 更偏生产环境。它不是只做一次离线优化,而是在持续请求流中学习哪个模型适合哪类 prompt,同时控制平均调用成本。

它考虑了几个真实问题:模型价格会变,模型质量可能静默下降,新模型可能随时加入。如果路由策略是静态的,很容易过期。ParetoBandit 用 contextual bandit 加在线预算控制来处理这些变化。

如果系统里已经接了多个模型,例如 GPT、Claude、Gemini、本地 Qwen/Llama 等,而且你关心“怎么在不明显损失质量的情况下省钱”,ParetoBandit 很值得跑一遍。

七、Serving 系统自动生成:VibeServe

项目地址:https://github.com/uw-syfi/vibe-serve
论文地址:https://arxiv.org/abs/2605.06068

VibeServe 是一个更前沿的系统项目。它不是在已有 serving 框架上调几个参数,而是让 AI Agent 为特定模型、硬件和 workload 生成定制化 serving 系统。

它的流程里包含实现、验证和性能分析等角色。Implementer 负责写候选系统,Accuracy Judge 负责检查正确性,Performance Evaluator 负责做 profiling 并反馈瓶颈。正确的候选会以 git 历史形式保留下来,外层 loop 再继续决定下一步优化方向。

这个项目短期内不一定适合普通业务直接使用,但对于研究 LLM Serving、推理系统、Agentic coding 的读者来说很有启发。未来 serving 优化很可能不只是人工写 kernel、调 scheduler,也会越来越多地引入自动化搜索和代码生成。

八、如何选择适合自己的项目

如果你做的是模型训练和偏好对齐,建议从 MODPO 开始。它和 DPO 的关系比较近,理解成本低,论文和代码也更适合入门。看完 MODPO 后,可以继续读 AMoPO、DPA 和 MetaAligner。

如果你不想训练模型,只想在推理时控制输出风格,MOD 更合适。它的思想简单,但对多模型组合和个性化生成很有启发。

如果你做的是 RAG 或 Agent 工程,syftr 和 GEPA 应该优先看。syftr 负责搜索系统配置,GEPA 负责优化 prompt 和工具描述。很多真实项目里,这两个问题都会同时出现。

如果你做的是线上模型服务,ParetoBandit 和 ECCOS 更有价值。ParetoBandit 适合在线预算控制和动态路由,ECCOS 适合离线能力建模和约束调度。

如果你研究 LLM Serving 系统本身,可以把 VibeServe 放到阅读列表里。它更偏研究,但方向很有想象力。

九、推荐阅读路线

如果是第一次接触这个方向,可以按下面的顺序读:

顺序 项目 建议原因
1 MODPO 先理解多目标偏好优化的基本形式
2 MOD 再理解推理时如何动态组合目标
3 syftr 从模型层进入 RAG/Agent 系统层
4 GEPA 理解 prompt 和 Agent 指令如何自动优化
5 ParetoBandit 理解多模型在线路由和预算控制
6 ECCOS 补充多 LLM 调度和质量约束优化
7 VibeServe 了解 serving 系统自动生成的前沿方向

如果时间有限,我更建议先跑 syftr 或 ParetoBandit。原因很简单:它们和工程场景更接近,跑通以后能很直观地看到“质量、成本、延迟”之间的取舍。

十、总结

大模型多目标调优已经不是单纯的算法问题,而是贯穿模型训练、推理解码、RAG 应用、Agent 系统和线上 serving 的完整工程问题。

模型层面,MODPO、AMoPO、DPA 关注如何让模型学习多维偏好;推理层面,MOD 关注如何在不重新训练的情况下动态调节目标;应用层面,syftr 和 GEPA 关注如何优化 RAG/Agent 流程;服务层面,ECCOS 和 ParetoBandit 关注如何在多模型系统中控制质量、成本和延迟;系统研究层面,VibeServe 则尝试让 Agent 直接参与 serving 系统构建。

真正能上线的大模型系统,往往不是某个单项指标最高的系统,而是在效果、成本、速度和安全之间最合适的系统。多目标调优的意义就在这里:它帮助我们看清每一个性能提升背后的代价,也帮助我们更理性地选择工程折中点。

项目地址汇总

项目 地址
MODPO https://github.com/ZHZisZZ/modpo
MOD https://github.com/srzer/MOD
MetaAligner https://github.com/SteveKGYang/MetaAligner
Directional Preference Alignment https://github.com/RLHFlow/Directional-Preference-Alignment
AMoPO https://github.com/Javkonline/AMoPO
syftr https://github.com/datarobot/syftr
GEPA https://github.com/gepa-ai/gepa
ECCOS https://github.com/agiresearch/ECCOS
ParetoBandit https://github.com/ParetoBandit/ParetoBandit
VibeServe https://github.com/uw-syfi/vibe-serve
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐