跳转至

Rethinking Personalized Generation: Test-Time Alignment via Factorized Ranking Models

会议: NeurIPS2026
arXiv: 2609.35695
代码: https://github.com/Martin-qyma/Rethinking-Personalized-Generation
领域: 推荐系统 / 个性化文本生成
关键词: 测试时对齐、候选排序、隐状态复用、个性化生成、排序引导解码

一句话总结

本文把个性化生成从“微调生成器”改写为“选出已有的合适候选”,用默认 2.8M 参数的 MLP 读取冻结生成器的表示来排序,在九个数据集上优于四种通用奖励模型,但仍落后于针对数据集微调的 8B 奖励模型;单轨迹解码引导只回收部分候选选择收益。

研究背景与动机

通用奖励模型通常判断回答是否有帮助、正确、流畅,但个性化写作还要求回答像某位用户会写的文字。两个候选都可能语言合格,却在措辞、内容重点和表达习惯上与目标用户的历史不一致。常见路线是为用户微调生成器,或者依据用户的成对偏好标注学习个性化奖励模型;前者更新大模型,后者又增加一个逐候选编码文本的评分器。本文首先追问:生成器真的不会生成合适答案,还是已经生成了,只是系统没有选出来?

作者对同一提示采样多个候选,再让评价指标自己选最高分答案。随着候选池从 1 扩到 64,ROUGE-L oracle 上界持续提高,而四个通用奖励模型中的最佳者大多停滞。这说明在这些基准的参考文本相似度意义下,存在可以通过选择获得的空间,并不意味着真实用户的主观偏好已经被 oracle 完整测量。更大的候选池也不会自动改善输出:评分方向不对,候选越多,越可能选中一般质量好、但不贴近目标用户的答案。

于是问题变成如何既学会这些细微差异,又不让评分成本随着大模型重复编码膨胀。生成器已有查询、用户画像和回答的语义表示,另开一个 8B 模型理解同一文本并非必要;小网络可以只学习“这些表示对应的回答有多接近参考文本”。核心 idea:冻结语言理解与生成部分,在其隐状态上训练共享的轻量候选排序器,用生成器自己的候选池提供细粒度监督,并把同一排序信号作为测试时选择或局部解码引导。

方法详解

整体框架

输入是任务查询、用户历史或摘要,以及生成器采样的候选回答;输出是候选池中预测效用最高的回答,或由排序信号引导生成的一个回答。冻结的 Qwen2.5-7B-Instruct 提供三类最终层末 token 表示,小型 MLP 将它们拼接后输出标量,训练时用候选与参考文本的 ROUGE-L 监督这一标量。标题里的 factorized 在这里主要体现为语言理解与评分解耦,不是显式学习每个用户的低秩参数。

流程包含三个相互连接的设计:隐状态复用减少重复理解文本的工作;候选池监督让评分器适应真正会遇到的相似候选;测试时选择与引导分别使用完整候选和当前解码状态。图中虚线表示训练监督,实线表示部署数据流,两个输出分支是替代使用方式,并非先做 Best-of-N 再引导解码。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["查询与用户画像"] --> B["冻结生成器"]
    B --> C["隐状态复用"]
    T["训练候选与参考文本<br/>ROUGE-L 标签"] -.-> D["候选池监督"]
    C -.-> D
    D -.->|训练共享 MLP| E["测试时选择与引导"]
    C -->|推理表示| E
    E -->|完整候选池| F["Best-of-N 选一个"]
    E -->|单轨迹高熵步骤| G["调整 logits 后续写"]

关键设计

1. 隐状态复用:把文本理解留给生成器,把匹配判断交给小网络

传统奖励模型对每个候选重新读取提示与回答,重复承担昂贵的语言理解。本文取任务查询、序列化用户画像、候选回答的最终层末 token 隐状态,三者维度均为 3584,拼接后输入带 GELU 和 dropout 的 MLP。查询与画像在同一候选池内保持不变,可以每个查询计算一次;候选只提供不同的回答表示。因此 MLP 学的是固定特征空间里的效用映射,而非从头学习词语与上下文的语义。

用户画像也由同一个冻结模型表示,不存在独立用户编码器或每个用户的可学习向量。LaMP 画像是 BM25 检索的三个历史条目,LaMP-QA 是六个历史问题,XRec 则使用已有用户摘要,并在提示里提供物品摘要。一个共享排序器通过画像内容处理不同用户,而不是为新用户重新优化参数;“无需用户偏好标注”也不等于“无需用户历史或训练参考文本”。

必须区分架构设想与实现:附录 C.2 明确说当前代码用 vLLM 的 last-token pooling,在生成之外另跑一次表示提取。若服务框架能直接暴露生成隐状态,这次运行可以消除;论文的最低评分延迟针对已经拿到表示的 MLP,而不是当前实现的完整选择链路。对于怎样在不同文本序列化方式下严格等价地取得三类表示,缓存没有给出足以证明零额外运行的实现细节。

2. 候选池监督:从同一生成分布里学习难以区分的好答案

给排序器随机错误回答,很容易学到“是否通顺”而不是“哪个更像这个用户”。作者改用冻结生成器针对真实提示采样的候选,候选往往都可读,但与参考答案的词序、内容和风格重合度不同。这些同分布候选形成更贴近测试时选择问题的困难负例;负例的低 ROUGE-L 不能据此认定为真实主观偏好低,也不能保证其事实正确性。

每个候选的原始目标是对参考文本的 ROUGE-L,随后在同一提示的候选池内标准化为均值零、方差一。排序器只需学会池内相对好坏,不必预测“这条提示本身是否容易获得高分”。下面将标准化目标记为 \(z_i\),\(\bar s\) 和 \(\sigma_s\) 是该池原始分数的均值与标准差;这是原文标准化与 MSE 描述的合并写法,零方差池的处理未说明。

\[ z_i=\frac{s_i-\bar s}{\sigma_s},\qquad \mathcal L_{\mathrm{MSE}}=\mathbb E_i\left[(f_\phi(h_x,h_u,h_{y_i})-z_i)^2\right]. \]

MSE 保留每个候选的目标数值,按候选逐个处理,比构建全部成对比较更直接。但这不是新损失,且附录的 Bradley–Terry、RankNet 和 listwise 目标成绩相近,不能把全部收益归因于 pointwise 回归。池内标准化也意味着评分不是恢复原始 ROUGE-L 的跨提示绝对标尺;原文关于“绝对效用可比较”的表述应限定到当前训练定义与实际池内选择用途。

3. 测试时选择与引导:完整候选排序和单轨迹局部修正各有边界

Best-of-N 是先完整生成 \(N\) 个回答,再计算预测效用并选最大者。增加 \(N\) 扩大可供选择的空间,却必须支付这些回答的生成成本;小 MLP 只是让新增候选的评分很便宜。原文把选择阶段的复杂度概括为从奖励模型的 \(\mathcal O(NL d_r^2)\) 降到浅层网络的 \(\mathcal O(Nd^2)\),这里 \(L\) 是序列长度,\(d_r\) 是奖励模型宽度,\(d\) 是生成器宽度。这是阶段性近似分析,不是完整 Transformer 计算、实际 MLP 各层宽度或生成总成本的精确公式。

排序引导生成则不建候选池,只沿一个解码轨迹续写。先计算当前 next-token 分布的熵 \(H_t=-\sum_v p_t(v)\log p_t(v)\);低于或等于阈值 \(\tau\) 时保留原始 greedy 选择。只有模型对下一 token 不确定时,才求排序器对当前回答隐状态的梯度,并通过语言模型输出头投影到词表空间,作为原 logits 的增量:

\[ g_t=\nabla_{h_t}f_\phi(h_x,h_u,h_t),\qquad \ell'_t=\ell_t+\alpha_t Wg_t. \]

这里 \(W\) 是语言模型输出头,维度为词表大小乘隐状态维度;MLP 权重与生成器权重均不更新。它不是对整个生成器反向传播来微调,也不是给每个可能的后续回答调用另一个奖励模型。预测“当前表示往哪里移动得分会增加”,再用输出头将方向转换为 token 偏置,是这个设计的关键近似;完整回答监督是否适用于所有前缀,原文没有给出保证。

干预强度随超过阈值的熵增长,选择调整后 logits 的最大 token,再进入下一步:

\[ \alpha_t=\alpha_0\,\operatorname{clip}\!\left(\frac{H_t-\tau}{H_{\max}-\tau},0,1\right). \]

共享默认参数为 \(\tau=1\)、\(H_{\max}=8\)、\(\alpha_0=5\),开头三 token 不干预。\(H_{\max}=8\) 是控制缩放的设定值,不应改写成词表熵必然达到的理论最大值。这条单轨迹方法与温度 1.0 的候选采样不同:它在敏感性分析中使用 greedy decoding、最多 48 个新 token,因此其成绩不能简单解释成“用同样生成分布免费得到 Best-of-64”。

一个完整示例

以 XRec 的一次用户—物品交互为例,提示中已有用户摘要和物品摘要,冻结生成器可以输出 64 条自然语言解释。查询与用户摘要表示只需共享,64 个解释分别提供回答表示;训练阶段才使用参考解释给这些候选计算 ROUGE-L,测试阶段不读取参考文本,而由 MLP 预测分数后选一个。这里没有额外要求该用户标注“解释 A 比解释 B 好”。

若改用排序引导生成,就从空回答开始续写:先跳过三个开头 token,以后低熵步骤照常选 token,高熵步骤才依据上述梯度调整词表 logits。它不会先生成 64 条解释,也不能事后从其他轨迹找回遗漏内容。这个例子只是原文流程的说明,不是额外实验或构造的数值结果。

损失函数 / 训练策略

默认 MLP 为三层、宽度 256、2.8M 参数,dropout 为 0.1。训练使用 AdamW,学习率 \(5\times10^{-4}\)、weight decay 0.01、batch size 64、15 epochs、梯度裁剪 1.0、单随机种子;只训练排序器,不更新 Qwen2.5-7B-Instruct。规模实验中的实际参数量为 1.0M、2.8M、12.1M、30.4M,图中简写为 1M、3M、10M、30M。

候选数存在原文口径差异:正文 4.1 说每个训练提示贡献 64 个候选,附录 C.2 说每个提示存储 256 个样本,Best-of-N 使用前 \(N\) 个,附录统一 \(N=64\)。两者可能分别指训练使用量和生成存储量,但缓存没有明确完整对应关系,不能自行写成统一的候选协议。

微调 8B 对照采用相同的 pointwise 目标和候选来源,却不是相同训练预算:每提示取最好、最差及六个随机候选,共八个;使用 1,500 个训练提示,LaMP-QA 使用全部 690–966 个可用提示。学习率 \(2\times10^{-5}\),一般一个 epoch,LaMP-QA 两个,序列截断到 2,048 token,单种子,在两张 B200 上进行完整微调。因此“相同数据与目标”的概括不能替代具体计算预算说明。

实验关键数据

主实验

覆盖 LaMP 的 News、Scholarly、Tweet,LaMP-QA 的 Art、Lifestyle、Society,以及 XRec 的 Amazon、Yelp、Google。LaMP 评估提示分别为 1,889、2,498、1,495;LaMP-QA 为 77、99、108;XRec 每个域 3,000。LaMP-QA 本来提供 rubric 而非答案,本文使用 Personalized RewardBench 的对应参考答案,并将问题按 90/10 划为排序器训练与评估,不能把这组答案笼统称为提问用户亲自写的文本。

以下是附录表 4 的 held-out BLEU:所有排序器保持不变,本文只用 ROUGE-L 训练,再对 Best-of-64 选出的回答评估 BLEU。它表明在这些选择器之间有跨词面指标优势,不代表本文总能找到池内真正 BLEU 最大的候选。

数据集 本文 BLEU Skywork InternLM2 URM ArmoRM
News 0.0387 0.0330 0.0297 0.0326 0.0316
Scholarly 0.0671 0.0528 0.0503 0.0593 0.0544
Tweet 0.1150 0.1050 0.0990 0.1105 0.1083
Art 0.0259 0.0202 0.0205 0.0214 0.0225
Lifestyle 0.0217 0.0166 0.0148 0.0168 0.0170
Society 0.0277 0.0248 0.0235 0.0251 0.0247
Amazon 0.0822 0.0498 0.0446 0.0500 0.0370
Yelp 0.0417 0.0347 0.0332 0.0347 0.0347
Google 0.0337 0.0274 0.0243 0.0272 0.0256

主 ROUGE-L 比较中,默认排序器在九个数据集的 Best-of-64 都超过四个通用模型,超过最佳通用模型的绝对差为 0.010–0.048。但微调 Skywork 8B 在九个域全部优于 30M 排序器:News / Scholarly / Tweet 差值为 0.012 / 0.019 / 0.026,Art / Lifestyle / Society 为 0.006 / 0.004 / 0.011,Amazon / Yelp / Google 为 0.004 / 0.006 / 0.008。正文把长文本 QA 差距概括为小于 0.01,与 Society 的 0.011 不一致,此处保留附录具体值。

消融实验

附录表 3 固定 2.8M 架构、数据和训练预算,仅改变损失。下表保留 MSE、一个 pairwise 目标和一个 listwise 目标;数值是 Best-of-64 ROUGE-L,不是上述 BLEU。

数据集 MSE(默认) Bradley–Terry ListMLE
News 0.1591 0.1545 0.1551
Scholarly 0.3962 0.3980 0.3967
Tweet 0.4120 0.4122 0.4135
Art 0.1547 0.1558 0.1557
Lifestyle 0.1488 0.1492 0.1492
Society 0.1495 0.1512 0.1527
Amazon 0.2650 0.2664 0.2670
Yelp 0.1920 0.1928 0.1930
Google 0.1686 0.1694 0.1691

全六种目标的最大差距不超过 0.012,三个 XRec 域均小于 0.003;MSE 不是普遍最优。容量从 1M 增到 30M 时,每域变化最多 0.006,扩大小 MLP 并未稳定带来提高。这些现象支持“特征与监督比评分头容量重要”,但本文没有单独给出足够的候选训练量消融来定量拆出数据 scaling 的贡献。

附录表 8 给出单张 RTX A6000、64 候选的成本;以下各阶段不能互相当作同一个端到端计时。

阶段 每个候选 每个查询(64 候选) 峰值显存
短文本候选生成 10.2 ms 0.65 s 约 40 GiB
独立表示提取 2.08 ms 0.13 s 25–39 GiB
已有表示上的 MLP 评分 0.0015 ms 0.098 ms 0.93 GiB
四种大型奖励模型平均评分 37.1 ms 2.38 s 20.6 GiB

只有不计表示提取的 MLP 评分实现四个数量级延迟优势;算上当前实现的独立提取后,选择约为每候选 2.1 ms,作者报告约 18 倍优势。长文本 QA 候选池生成约 11 s/查询,依然是显著成本。生成和表示提取用 vLLM,奖励模型用 HF transformers、batch size 32,因此时间差也含服务实现差异。

关键发现

  • ROUGE-L 与 BLEU 在池内选择同一最高分候选的比例只有 12%–37%,跨指标改善有信息量;两者仍是词面指标,并不能替代用户评价。
  • 单轨迹引导不是普遍优于采样排序:Tweet 为 0.426,对比 Best-of-64 的 0.412;News 为 0.136,反而低于 Best-of-1 的 0.144。多数数据集只达到 Best-of-1 至 Best-of-4 范围。
  • 引导超参网格中的每域最大 ROUGE-L 波动不超过 0.0052;默认门控触发于 4%–39% 的解码步骤,这不是随机种子置信区间。
  • XRec 的已见用户比较采用重新训练的排序器:Amazon / Yelp / Google 为 0.2641 / 0.1906 / 0.1685,GPO 为 0.2690 / 0.1957 / 0.1743。本文接近 VPL,但不超过所有个性化方法,且该协议不能直接与表 3 混用。

亮点与洞察

  • 先用 oracle 检查候选池是否有可选空间,再投资轻量选择器,避免一开始就把所有问题归给生成器容量。这是可迁移到其他有用户参考文本的生成任务的诊断方式。
  • 表示复用把已有大模型的语言理解变成共享基础设施。真正的工程收益取决于服务栈能否导出合适状态,而非只看 MLP 参数量。
  • 附录把用户条件换成别人的条件后,已训练方法的 ROUGE-L 变化最多 0.0008。这提示候选在生成时已经带入大量个性化信息,不能据此证明排序器显式用户分支学到了强而独立的偏好机制。

局限与展望

  • 评价依赖参考文本的词面相似度,没有用户主观偏好或风格一致性的人类实验;LaMP-QA 参考来源还比正文概括更复杂。可补真实成对选择、语义正确性与风格评价。
  • 排序器与微调奖励模型均只跑一个种子;图中范围是三个数据集的最小值到最大值,不是多次训练误差条。小数点后细微差异不应被解释为统计显著。
  • 所有主要实验使用一个生成骨干;冻结表示质量、用户历史稀疏、跨生成器迁移以及新用户分布变化仍需验证。历史分桶是观察性比较,不是控制历史长度的因果消融。
  • 完整回答训练与前缀引导存在分布差异,且 greedy、48-token 设置限制了引导证据的范围。需要更长输出、更多解码设置及前缀校准实验。
  • 保留两项原文冲突:正文训练候选数为 64、附录存储数为 256;正文称长文本 QA 微调优势低于 0.01、附录 Society 为 0.011。当前独立表示提取与理想的直接复用也应分别报告。

相关工作与启发

  • vs 通用奖励模型:Skywork、URM、ArmoRM、InternLM2 都能看到同样的画像提示,但通用训练未对准参考文本匹配。本文改变监督与评分架构,并非证明大型奖励模型无法个性化。
  • vs PAL / VPL / PReF / LoRe:这些方法根据目标用户的成对标签拟合或推断用户参数;本文只接收内容画像。附录在冻结表示与约 2.8M 匹配预算下实例化部分对照,结论限于该设置。
  • vs GPO / SynthesizeMe:前者利用用户带标签上下文,后者用 persona 提示裁判进行候选淘汰。GPO 的原始成绩更高,说明额外监督仍可能有用,轻量化不是无损替代。
  • vs FUDGE 等解码引导:本文从生成器状态取得可微评分,不另用网络重新编码每个前缀。可进一步研究更适配前缀的训练目标,但这属于研究线索而非已验证贡献。

评分

  • 新颖性: 4/5,个性化候选匹配诊断与表示复用组合清晰,MSE 本身不是新意。
  • 实验充分度: 3/5,九个数据集和多类对照较丰富,但单种子、词面评价与实现口径限制结论。
  • 写作质量: 3/5,核心问题明确,候选数、参考文本来源及效率表述需要更严格统一。
  • 价值: 4/5,适合已有用户历史和开放隐状态的生成服务,部署收益须计入生成与表示提取成本。