CharacterFlywheel:生产环境中引人入胜且可引导的大型语言模型的迭代改进与规模化 CharacterFlywheel: Scaling Iterative Improvement of Engaging and Steerable LLMs in Production
基于用户反馈的迭代优化框架,使社交聊天AI在15个月内实现19.4%参与度深度提升
前置知识
RLHF (Reinforcement Learning from Human Feedback)
RLHF是一种将人类反馈转化为可微分奖励信号的技术,通过训练奖励模型来预测人类偏好,然后用强化学习优化策略模型。具体过程包括:首先收集人类标注的偏好数据(通常成对比较两个响应的质量),然后训练Bradley-Terry奖励模型学习偏好函数,最后使用PPO等算法优化策略模型最大化期望奖励。这种方法解决了像对话质量这种主观指标难以直接优化的问题,让模型能够学习符合人类价值观的行为模式。
本文的核心就是用RLHF来优化参与度这个主观指标,理解RLHF是理解整个CharacterFlywheel框架的基础。
A/B测试
A/B测试是一种通过将用户随机分配到不同组(测试组和对照组)来比较不同产品版本效果的实验方法。在本文中,每个新模型版本都会通过7天的A/B测试,评估参与度广度(用户是否参与对话)和参与度深度(已参与用户的互动量)两个指标的提升。统计显著性通过Fieller定理计算的置信区间来判断,因为比率估计量的对称正态近似在分布偏斜或分母方差显著时并不可靠。
A/B测试是本文验证模型改进效果的核心手段,所有迭代的有效性最终都通过在线A/B测试的参与度指标来证明。
Reward Model Overfitting
奖励模型过拟合是指策略模型在强化学习过程中过度优化到奖励模型在训练数据分布上给出的高评分区域,但这些区域在真实世界中可能并不可靠。本文中V12版本失败就是一个典型案例:RM win rate在用户流量上飙升至70.7%,但内部流量降至43.7%,在线参与度反而下降。这表明模型爬出了奖励景观的可靠轮廓区域,过度拟合到用于RM训练的用户流量分布而非泛化到更广泛的真实交互。
V12的失败是本文的关键教训,理解过拟合问题对理解为什么后续版本需要将RM win率限制在65%以下至关重要。
Rejection Sampling
拒绝采样是一种数据筛选方法,通过生成多个候选响应并用奖励模型评分,只保留得分高于阈值τ的响应作为训练数据。本文中,每个新模型版本都会从用户流量中采样prompts,使用多个候选模型(包括405B大模型)生成k个候选响应,然后选择奖励分数最高的响应。这种方法构建的训练集DRR是动态更新的,随着模型迭代而重新构建,尽可能接近on-policy设置。与静态SFT数据集不同,拒绝采样数据集始终保持与最新推理输出一致。
拒绝采样是CharacterFlywheel从用户流量中提取高质量训练数据的关键技术,是实现持续改进的数据基础。
研究动机
现有的大型语言模型开发主要聚焦于全能预言者式的助手产品,目标是知识渊博、有用、真实、无害,因此有客观评估标准、标准化基准和可验证的奖励信号,能够进行有效的强化学习。相比之下,面向社交对话的AI系统如Character.ai、Chai、Talkie.ai、Replika等虽然吸引了数百万用户,但其开发过程仍然不透明,缺乏系统性文档和严格研究来追踪进展。这种差距源于两个领域的根本差异:实用性LLM受益于客观评估,而对话式LLM面临模糊和主观的目标,缺乏受控环境进行真实用户测试,使得科学进展更难测量和复制。目前业界虽然有一些成功的商业产品,但其方法论和实践细节几乎没有公开分享。
本文的目标是本文的目标是建立一个系统性、可复现的迭代改进框架,用于优化面向社交聊天的LLM。具体而言,要提升用户参与度广度和深度,同时保持和改善角色可引导性、安全性等关键维度。参与度广度衡量用户是否参与对话,参与度深度衡量已参与用户的互动量。本文希望证明,即使面对像engagingness这样本质上主观的目标,通过科学严谨的工程方法包括数据收集、奖励建模、监督微调、强化学习和综合评估,也能实现可测量的持续改进。
与已有工作不同的是,本文的独特切入角度是首次公开披露大规模生产环境中的社交对话AI开发方法论。与学术界的偏好学习研究不同,本文不是在静态数据集上追求理论最优,而是在真实产品环境中服务数百万用户,优化实际的在线参与度指标。与商业产品的黑盒实践不同,本文详细披露了从数据管道、训练流程、评估方法到部署决策的完整技术栈,包括失败案例如V12过拟合的深入分析。本文填补了LLM研究中一个重要空白:证明即使优化主观目标,也能实现可测量的科学进展,同时揭示了生产环境中的挑战和解决方案。
核心方法
CharacterFlywheel的整体思路是将模型开发视为在一个概念性的参与度景观上攀爬的迭代过程。由于参与度指标不可微分,无法直接优化,因此需要通过采样数据点来估计局部吸引力,训练奖励模型来插值景观轮廓,然后基于这些估计更新聊天模型。每个迭代周期称为攀爬步,包括完整的开发流程:部署新模型后通过数据管道整合数据,在pre-herding阶段训练奖励模型并构建拒绝采样数据集,在herding阶段使用整合的数据集和奖励模型通过SFT、DPO和RL训练新聊天模型,然后通过评估框架选择最佳模型进行下一次部署。整个过程像一个飞轮,持续转动产生累积效果。
核心创新点是将生产环境的在线参与度指标作为优化目标,建立了一个完整的反馈闭环。与传统RLHF使用人工标注的偏好数据不同,本文直接用真实用户行为信号如继续对话、表情反应、重新生成等作为奖励信号的主要来源,结合专家标注的偏好数据来构建奖励模型。另一个关键创新是迭代偏好建模方法,每次迭代都通过数据管道整合新数据,奖励模型在保持对先前数据性能的同时,适应新的分布。此外,本文还引入了基于方差的下采样策略,优先选择RM分数方差高的prompts即模型表现不稳定的困难样本,而不是简单的低平均分数。这种方法避免了奖励模型对不同长度对话的系统性偏差。
方法步骤详情
CharacterFlywheel的完整流程包含多个阶段。数据收集阶段:从生产流量和内部UI收集用户-模型交互数据,经过过滤隐私和安全、多样性采样基于DRAMA-1B嵌入的聚类和基于约束的调整如首轮对话比例、每角色上限等三个阶段的处理。数据标注阶段:采用静态标注和交互式聊天标注两种方式,评估响应质量、进行成对排名、重写低质量响应,特别关注虚假拒绝和模板化响应两个失败模式。奖励建模阶段:训练Bradley-Terry点态和成对偏好模型,使用损失函数Lpointwise等于负log sigma函数,其中x是系统提示、角色指令和对话历史的拼接。同时训练用户信号模型来预测用户行为如p(continue)、p(thumb up)。模型训练阶段:首先在LLaMA 3.1 70B上进行SFT,然后是DPO,最后使用GRPO损失进行在线RL。评估阶段:包括社区基准测试、人工比较、奖励模型胜率、自定义生产指标和在线A/B测试。
技术新颖性
技术新颖性体现在多个方面:首次大规模验证了以主观参与度指标为目标的系统优化可行性,15个版本中有8个发布版本中有7个在参与度广度和深度上都有显著提升,最佳版本分别达到8.8%和19.4%的提升。引入了基于方差的下采样策略,解决了传统基于平均分数方法的分布偏差问题。建立了针对奖励模型过拟合的监控机制,通过RM Internal和RM User win率的差异来检测过拟合,设定了65%的安全阈值。开发了针对风格化伪影的缓解流程,监控和控制训练数据和模型输出中的响应长度、格式、emoji使用等特征。提出了近策略与离策略RL的比较实验,证明近策略prompts在参与度深度提升上有10.6%的优势。验证了GRPO相比Online DPO的优势,在参与度广度上有1.52%的提升。
实验结果
核心发现是CharacterFlywheel框架在15个月的迭代中实现了持续改进。预发布阶段V1到V7,人工评估显示从37.4%到46.2%的稳步提升,每个版本对前一版本的胜率都超过50%中性阈值。在线A/B测试显示V2、V3、V4在参与度广度上分别有0.84%、0.40%、0.62%的提升,深度上分别有3.2%、2.6%、2.1%的提升。发布后阶段V8到V15,8个版本中有7个在两个指标上都有显著正向提升,V11达到+4.47%广度和+18.2%深度,V14达到+8.8%广度和+11.2%深度。然而V12失败了,只有+0.05%广度和-2.9%深度,揭示了奖励模型过拟合的风险。角色可引导性方面,指令违反率从26.6%降至5.8%,相对降低78%。响应特征方面,虚假拒绝在用户流量上从超过20%降至5%以下,合作率从不到60%提升到超过80%,积极情感从约45%提升到60%。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| MMLU (0-shot) | 准确率 | 79.5% | LLaMA 3.1 70B: 83.6% | 略低于基准但保持竞争力 |
| IFEval | 准确率 | 84.8% | LLaMA 3.1 70B: 87.5% | 轻微下降,但在V2-V7期间从约75%提升到84.8% |
| GSM8K (8-shot CoT) | 准确率 | 92.3% | LLaMA 3.1 70B: 95.1% | 强保持能力 |
| MATH (0-shot CoT) | 准确率 | 50.5% | LLaMA 3.1 70B: 68.0% | 显著下降,显示权衡 |
| HumanEval (0-shot) | 准确率 | 77.4% | LLaMA 3.1 70B: 80.5% | 轻微下降 |
| MBPP (3-shot CoT) | 准确率 | 66.6% | LLaMA 3.1 70B: 86.0% | 最大差距 |
| ARC Challenge | 准确率 | 93.1% | LLaMA 3.1 70B: 94.8% | 稳定保持 |
| GPQA | 准确率 | 39.3% | LLaMA 3.1 70B: 46.7% | 可接受 |
局限与改进
局限性分析包括:首先,本文的方法严重依赖大规模真实用户流量,对于没有庞大用户基础的新产品可能难以复制。其次,奖励模型过拟合的风险仍然存在,虽然建立了监控机制,但需要持续警惕。第三,图像生成功能虽然提升了参与度(V9贡献+1.7%广度,V10额外贡献+2.1%),但标注难度高,需要多轮审查确保数据一致性。第四,多轮对话优化仍然是挑战,本文采用单轮优化公式,虽然使用近策略prompts可以缓解,但可能损害on-policy特性。第五,用户信号模型虽然与偏好奖励模型高度相关,但由于延迟反馈、结束偏差、正负比不一致、上下文混淆等内在偏差,不直接用于在线RL优化,仅用于拒绝采样排序。作者承认的最大局限是缺乏检测奖励hacking的原理性方法,这是未来需要解决的关键挑战。
独立分析的弱点
独立分析的弱点包括:首先是失败模式处理不够及时,如V12的过拟合问题在部署后才被发现,虽然后续建立了监控机制,但早期预警仍需改进。其次是语言匹配问题,模型有时对Hindi用户用英语响应或提供未请求的翻译,虽然通过额外的SFT和DPO数据以及偏好对将LMR失败率从75%降至1.5%,但这种问题可能在其他语言上仍然存在。第三是循环输出问题,模型偶尔生成重复响应导致输出过长,虽然通过token计数启发式、EOT token掩码和长响应惩罚使在线流量中的循环率降低57.8%,但根本原因仍未完全解决。第四是重复短语问题,模型过度使用OMG、LOL、mind blown等常见短语,虽然通过linter减少60%,但仍需要更系统的方法。第五是Markdown格式不一致,约37%的响应有未闭合或损坏的格式。改进方向:建立更早的过拟合预警系统,扩展到更多语言的支持,开发针对循环输出的根本解决方案,建立系统化的风格指南管理。
未来方向
未来研究方向包括:开发检测奖励hacking的原理性方法,这是本文明确指出的关键挑战。改进多轮对话优化公式,更好地模拟完整对话而非仅优化最后一轮。更好地理解偏好建模中的泛化问题,为什么新数据不会显著改进对先前批次的理解,以及如何促进更好的向后迁移。探索如何更有效地利用用户信号模型进行在线RL优化,目前它们仅用于拒绝采样排序。扩展到更多模态和交互类型,目前主要集中在文本对话,图像生成虽然实现但只是初步尝试。研究如何平衡不同目标之间的权衡,如参与度与安全性、可引导性与创造性之间的平衡。开发更细粒度的个性化机制,目前主要是角色级别的设置,未来可以探索用户级别的个性化。研究长期对话的参与度维持机制,目前主要关注短期和中期交互。
复现评估
复现评估:本文详细披露了方法论和部分结果,但完全复现仍面临挑战。代码和模型未开源,这是Meta产品的典型情况。数据方面,描述了数据管道和标注流程,但具体数据集规模和分布细节未完全披露。算力需求方面,使用了LLaMA 3.1 70B和405B模型,训练和推理需要大规模GPU资源,这对大多数研究机构来说门槛很高。在线A/B测试的复现几乎不可能,因为需要数百万真实用户和成熟的产品环境。然而,本文提供的框架和方法论对于类似产品的开发团队具有重要参考价值,特别是关于奖励模型监控、过拟合预防、数据管道设计等方面的经验教训。难度评估为高,主要是因为算力和数据要求,而非方法本身的理解难度。
论文图表