Empowering Compact LLMs with Fusion of Layer-wise Exits for Recommendation
FLEXRec针对紧凑LLM在序列推荐中的表达能力不足,保留判别式全库打分的效率,在每个Transformer层放置exit,再由AC-Router按用户序列动态融合不同深度的分布。它在Qwen 3 1.7B与Llama 3.2 3B上评测Toys、Beauty、Yelp三个数据集;Qwen下NDCG@10为0.0521/0.0451/0.0207,推理约7.1–7.5毫秒。
INSIGHT这是一条适合推荐精排的“动态计算深度”路径:短、规则的行为序列少用exit,复杂用户再融合更多层。target-k hinge、负载均衡和Z-loss共同避免路由塌缩;相比E4SRec,额外延迟小于1毫秒。实践中可把路由预算绑定用户分层或请求时延,把小模型的中间层表示变成可控的质量–成本旋钮。
1. 问题与动机
FLEXRec处理的是“LLM推荐很强,但不能按推荐系统的规模和时延运行”的矛盾。现有LLM推荐大致有生成式和判别式两条路线:生成式模型通过自回归生成物品文本或语义ID,能够表达复杂偏好,但每个候选都要经历序列解码,难以对全量商品做Top-N;判别式模型把用户和商品映射到LLM语义空间,用Embedding相似度直接对全库打分,速度更可控,却通常只使用最后一层输出。对7B或13B模型来说,后者的容量很大;但当骨干缩到Qwen 3 1.7B或Llama 3.2 3B时,最后一层单点表示容易丢失复杂的短期转移和长期兴趣。
论文具体指出,紧凑LLM的补救方法也有代价。知识蒸馏需要训练和托管一个更大的教师模型,推理增强需要额外的思维或行为解释步骤;两者都会增加工程成本和时延。更重要的是,传统判别式架构对每个用户序列都使用完全相同的层深,不会因为一个用户的历史很简单就减少计算,也不会为复杂用户分配更多表示能力。FLEXRec的动机因此不是再造一个生成式推荐器,而是保留判别式“全库打分”路径,把LLM每一层的中间输出变成可组合、可按输入路由的推荐信号。
2. 方法详解
FLEXRec先沿用E4SRec的判别式设置。它预训练SASRec得到所有商品的协同Embedding,维度为64,再用单层MLP投影到LLM隐藏空间。用户历史序列中的每个商品ID被替换成对应的注入Embedding,与任务指令和response token拼接成LLM输入E0。经过L层Transformer后,每个层l都有响应token表示e^l;传统E4SRec只用e^L,通过预测头h_L得到全商品logit并softmax为O^L。
FLEXRec在每一层插入一个预测head h_l,得到O^l=Softmax(h_l(e^l))。这些层不是简单地平均,而是由Adaptive Continuous Router(AC-Router)按用户序列动态选择。路由器从第一层响应token e^1出发,用可学习矩阵W_z生成L个原始logit:z=e^1 W_z。与固定Top-k不同,FLEXRec对z做向量级ReLU,得到w=ReLU(z),让每个样本可以选择不同的层集合和不同数量的层。为防止所有z都为负导致一个exit也不激活,作者先计算s=min(max(z)-ε,0),再用停止梯度的shift得到z_hat=z-sg(s),最后w=ReLU(z_hat),并用归一化权重融合多个O^l。
ReLU路由的好处是组合空间从固定的C(L,k)扩展到2^L-1,可以让简单行为序列使用少数层、复杂序列使用更多层;坏处是如果没有正则化,路由可能选择过多层或塌缩到少数层。为此作者提出target-k hinge loss。用sigmoid近似激活层数量C=Σ_l σ(τ z_hat_l),然后计算L_Hinge=max(0,C-k)+γ max(0,1-C)。第一项惩罚超过k的计算,第二项防止C小于1;实验中τ=10、γ=2,设定目标k=3。这个损失是软约束,不会像硬Top-k那样切断梯度,也不会强制所有用户都用恰好3层。
路由训练还包括连续load-balancing loss和Z-loss。对batch中每个样本的router logits做softmax,计算各exit的平均使用概率P̄_l,再用L_LB=LΣ_l P̄_l^2鼓励所有层都有机会被使用。Z-loss是L_Z=mean(z^2),用于把原始logit拉回有限范围;它既防止混合精度下指数溢出,也避免sigmoid surrogate饱和后target-k hinge失去梯度。
训练分三阶段。Stage 1只训练ID projection、LoRA参数和最终exit,采用E4SRec的交叉熵;Stage 2冻结骨干并训练中间exits,最多5个epoch,选择所有层平均效果最好的checkpoint;Stage 3冻结前两阶段组件,训练AC-Router及其L_LB、L_Hinge、L_Z损失,训练2个epoch并每500步验证。全局batch size 128,Toys/Yelp的micro-batch 32,Beauty为64,AdamW、cosine learning rate、初始学习率3e-4,单张NVIDIA H100 80GB完成实验。默认target k=3,超参搜索覆盖α、β、λ和k多个取值。
3. 核心技术贡献
第一,论文把“LLM的不同深度代表不同层次用户偏好”转成了可用的排序集成:浅层更接近短期物品转移,深层更接近抽象和长期意图。它不要求把最后一层做得更大,而是利用被传统判别式推荐丢弃的中间状态。
第二,AC-Router把MoE的动态路由从“选择专家宽度”改成“选择Transformer深度的输出”。它同时决定选择哪些层以及选择几层,使计算预算可以随用户序列复杂度变化。target-k hinge不增加额外大模型参数,却通过连续梯度把路由数量控制在可部署区间。
第三,FLEXRec保持判别式Embedding全库打分,不走自回归生成,因此可以复用向量索引、批量打分或商品分片服务。作者报告相对E4SRec的额外延迟小于1毫秒,这使“质量–成本自适应”比生成式重排更接近现有推荐平台。
第四,三阶段训练把路由器从主推荐优化中隔离出来,避免早期层head和路由器同时随机学习导致不稳定。消融中,移除load-balance、hinge或Z-loss都会在三套数据、两种骨干上降低准确率,说明路由正则不是装饰项,而是实现动态exit的必要条件。
4. 实验结果分析
实验使用Amazon Toys、Beauty和Yelp三个公开数据集。用户/商品/行为统计如下:
| 数据集 | 用户数 | 商品数 | 行为数 | 稀疏度 |
|---|---|---|---|---|
| Toys | 19,412 | 11,924 | 167,597 | 99.93% |
| Beauty | 22,363 | 12,101 | 198,502 | 99.93% |
| Yelp | 30,431 | 20,033 | 316,354 | 99.95% |
评估使用NDCG@10、Recall@10、NDCG@20、Recall@20和单用户推理时间。Qwen 3 1.7B下,FLEXRec在Toys上的NDCG@10/Recall@10为0.0521/0.0830,Beauty为0.0451/0.0775,Yelp为0.0207/0.0407,推理时间分别为7.53、7.10和7.49毫秒。Llama 3.2 3B下对应NDCG@10/Recall@10为0.0524/0.0848、0.0498/0.0818、0.0188/0.0376,推理时间为7.43、8.12和7.31毫秒。FLEXRec在紧凑骨干的可比较方法中都取得最好或接近最好结果,并在部分Beauty和Yelp设置超过更大骨干的E4SRec Skyline。
与静态E4SRec相比,Qwen/Toys的NDCG@10从0.0452升到0.0521,Recall@10从0.0742升到0.0830;Qwen/Beauty从0.0391/0.0694升到0.0451/0.0775;Qwen/Yelp从0.0188/0.0383升到0.0207/0.0407。与其他路由器相比,SparseToken和DynamicMoE在稀疏的Yelp上明显变差,说明固定Top-k或不稳定的动态阈值可能会过度适配密集用户,无法处理长尾行为。
路由正则的消融也很有信息量。在Qwen/Toys上,完整模型NDCG@10为0.0521;移除load-balance降到0.0476,移除target-k hinge降到0.0504,移除Z-loss降到0.0471。在Llama/Yelp上,完整模型为0.0188,去掉三项后分别为0.0170、0.0166和0.0169。尤其移除hinge会造成路由数量失控,Beauty-Qwen中最多激活16个exit,证明“动态”不等于无约束地扩大计算。
超参分析显示,λ大致取1时三套数据较稳定;β=1e-3在多数场景最优或接近最优;target k=3在两种骨干、三套数据上总体最好。案例分析显示Llama平均激活约3个exit,Qwen约2个,而且相同长度区间内的用户也会得到不同的路由决策,说明路由器确实读取了序列内容,而不是只用历史长度做硬规则。
5. 局限与未来方向
论文没有单独列出传统意义上的Limitations小节,但作者的实验范围本身构成明确边界:只在三个公开、经过5-core过滤的数据集上做leave-one-out离线评估,骨干是Qwen 3 1.7B和Llama 3.2 3B,训练在单张H100 80GB上完成;没有线上A/B、真实全量商品库或生产流量实验。作者还把更大Qwen 3 4B和Llama 3.1 8B作为Skyline,并承认更大的骨干仍然可能带来更高上限。target k、loss权重和路由结构需要按设备和业务调参;论文报告的是毫秒级单用户实验延迟,不等于包括向量索引、网络、批处理和缓存后的端到端服务延迟。
一个明显但未充分展开的问题是退出层的商品预测头如何在百万级商品规模下共享或分片,以及层级exit的分布校准是否一致。另一个问题是训练期的多exit head和线上动态路由版本如何灰度、回滚和监控。论文也没有展示冷启动用户、极短序列和行为分布突变下的收益分层,虽然AC-Router的设计目标正是适应不同复杂度用户。未来工作可以补充在线实验、路由稳定性、用户分层公平性和计算成本的Pareto曲线。
6. 工业实践意义
FLEXRec给推荐精排提供了一个相对清晰的落地模板。第一步不是直接把7B模型搬进线上,而是训练一个SASRec或其他ID序列模型,把协同商品Embedding投影进一个紧凑LLM;这样保留ID共现信号,也避免依赖商品文本质量。第二步在若干Transformer层挂轻量预测头,离线检查每层对短期转移、长期兴趣、冷启动和长序列的互补性。如果中间层独立效果没有差异,动态融合就没有必要。
第三步把AC-Router理解成可学习的延迟预算。可以按请求类型设置不同target k:首页高QPS请求偏向1–2个exit,深度个性化页或高价值用户允许3–4个exit;但不要只用用户历史长度作为路由特征,应检查内容、行为间隔和商品类别切换。target-k hinge、load-balance和Z-loss应一起保留,尤其混合精度下不能省略Z-loss。
第四步用线上指标验证路由是否真的有价值。离线需要同时报告NDCG、Recall和各层使用率,线上要按用户活跃度、序列长度、候选库规模、设备和流量分层看CTR、停留、转化、p95延迟、GPU利用率和成本。论文的“额外延迟小于1毫秒”是在E4SRec基础上的模型侧结果,接入社区搜索时还要测embedding缓存、召回、重排和网络开销。
对于社区短文本搜索,这个方法尤其适合把“理解用户最近在看什么”和“理解用户长期主题”拆成不同深度的表示;但它并不直接解决文本语义、query理解或安全约束。更稳妥的工程路线是:先在现有两塔/序列精排模型中验证中间层exit,再把紧凑LLM作为一条可开关的重排支路,利用AC-Router控制高峰期成本,并设置静态E4SRec兜底。