大模型 vs 搜推小样本特征怎么融合?
高维稀疏数据下大模型迁移学习与高效训练策略
原题:大模型通常依赖海量文本语料进行预训练,而搜索与推荐系统的特征往往高维、稀疏且样本量有限。在这种数据规模和结构差异下,如何有效融合大模型能力与搜推任务的小样本高维特征,实现高效训练与迁移学习?
项目与经历 · 字节真题
回答与解析
分层融合而非让LLM替代整条搜推链
- 保留结构化基线:类别、计数、价格、交叉特征和行为序列继续由GBDT、Wide&Deep、DCN或序列推荐模型处理;高维稀疏特征先做embedding、哈希或受控交叉。
- 离线语义编码:用预训练语言模型编码query、商品、内容和用户文本,离线写入向量索引;双塔负责大规模召回,硬负样本和蒸馏提升领域适配。
- 候选后重排:传统或双塔召回先缩小候选集,再让cross-encoder或LLM对小候选集重排、解释或抽取特征。通常不应先用昂贵LLM粗排全库、再用廉价模型精排;除非有明确缓存、规模和延迟证据。
- 小样本迁移:冻结大部分基座,使用adapter、LoRA、多任务或对比学习;防止把用户ID等无语义稀疏特征硬转成文本。
- 联合评测:离线看Recall、NDCG、校准与分桶公平性,线上看延迟、成本和业务目标;严格按时间切分,防止未来行为泄漏。
任何“某公司采用某方案”的说法都要有公开出处,否则只描述可验证的架构选择。
口语版讲法(约4分钟)
- 按召回排序重排拆系统
- 保留结构化特征模型
- 用LLM离线编码内容
- 在小候选集使用重模型
- 用时间切分和线上实验验证
大模型与搜索推荐融合,不是把所有稀疏特征改写成一句文本后交给LLM。我会先按召回、排序和重排拆系统。用户ID、商品ID、计数、价格、类别、时间和交叉统计仍适合由embedding、GBDT、Wide&Deep、DCN或行为序列模型处理,因为这些特征的取值、缺失和时效有明确结构。
语言模型更适合补充语义。可以离线编码query、商品标题、详情、评论和知识内容,把向量写入ANN索引;双塔在大候选库中做高吞吐召回。领域数据有限时,先冻结大部分基座,用对比学习、adapter或LoRA适配,并通过点击、购买或人工相关性构造正样本和硬负样本。还可以把较大cross-encoder的分数蒸馏给双塔。
排序阶段把语义向量与结构化、行为和上下文特征一起输入可控的ranker。对于复杂意图,可在传统召回或双塔召回后,对几十到几百个候选使用cross-encoder或LLM重排、抽取属性、判断约束和生成解释。这样昂贵模型只处理小候选集,成本与延迟更可控。
不能无来源归因某家公司一定采用某流程,也不应默认“LLM粗排全量、传统模型精排”合理。粗排面对的候选更多,通常要求更便宜;重模型更常放在候选缩小之后。若业务确实通过离线LLM打分、缓存或批处理实现大规模粗排,也要给出候选规模、更新频率、命中缓存和延迟预算的测量证据。
小样本迁移要防止两类错误。高维不等于都有自然语言语义,用户ID不应硬翻译成文本;样本少也不能随意全量微调大模型。可以做多任务学习共享内容表示,用参数高效微调控制容量,再用校准和正则避免过拟合。冷启动内容依赖语义,活跃用户则更多利用行为序列,两类人群要分桶。
训练和评测必须按时间切分,确保未来点击、未来商品状态和标签没有进入特征。离线看Recall、NDCG、AUC或校准,并报告头部、长尾、冷启动和不同内容类型;线上再看首屏延迟、吞吐、成本、点击或转化以及长期指标。灰度时固定召回池做组件消融,才能判断收益来自语义编码、融合特征还是重排模型。
若采用LLM生成解释,解释层不能反向修改排序事实,也不能泄露用户敏感特征。排序结果、特征版本和解释prompt都要留trace;出现争议时能回放当时候选与分数,确保生成文本只是受控展示层。
关键一句:为什么重模型通常更适合候选缩小后的重排,而不是面向全库粗排。
核验来源
面试官还可能这样问
- 问法 1 · 场景切入
假设推荐系统要处理一个没有行为历史的新品,只有标题、类目和少量结构化特征。你会怎样利用预训练文本表示做冷启动,同时保留稀疏 ID/统计特征并控制线上成本?
- 问法 2 · 层层追问
LLM 或文本 encoder 负责哪些语义特征?……传统 embedding 与交叉特征保留什么信息?……两路特征在召回、特征层还是 logits 层融合?……小样本怎样迁移并避免时间泄漏?
- 问法 3 · 直球技术
设计大模型语义能力与搜索推荐高维稀疏特征的融合方案,说明训练、迁移、召回/重排、延迟和评测取舍。