前沿重器
栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经是20年的事了!)
2024年文章合集最新发布!在这里:再添近20万字-CS的陋室2024年文章合集更新
往期回顾
- 前沿重器[68] | 北邮腾讯MemoryOS:分层记忆模式解决大模型长记忆问题(下)
- 前沿重器[69] | 源码拆解:deepSearcher动态子查询+循环搜索优化RAG流程
- 前沿重器[70] | Query优化前沿综述:核心方法解读与个人实战启示
- 前沿重器[71] Context Engineering深度解读:范式跃迁,还是概念包装
- 前沿重器[72] 大模型“外脑”揭秘:Context Engineering综述
大模型已经渗透到各个领域,并取得卓越的成效,随着技术逐渐进入深水区,有一个比较常见的问题逐步浮现,那便是个性化 。对话系统、搜索系统等场景,在逐步做深以后,为了给用户提供更加精准的服务,多半都要开始考虑用个性化的方式来提升用户体验。最近有一篇论文总结了一些个性化的思路和方案,我来讲讲。
- 论文:A Survey of Personalization: From RAG to Agent
- 链接:https://arxiv.org/abs/2504.10147
目录:
- 个性化的定义
- 引入个性化信息
- 预检索阶段
- 查询阶段
- 生成阶段
- 智能体的个性化
- 读后感
个性化的定义
在文章中的这个场景下的定义是这样的。
Personalization in current research refers to the tailoring of model predictions or generated content to align with an individual’s preferences.
当前研究中的个性化指的是将模型预测或生成内容定制为与个人用户偏好保持一致。
模型的预测或生成内容,要和用户的偏好一致。那么,现在的问题便是,什么东西能体现用户的偏好,这里给出了4个方向。
- 显式用户画像。明确的用户信息,包括各种属性(年龄、性别、工作、教育背景等)、用户的社会关系等。
- 用户历史交互。通过点赞点踩、购买等行为体现用户的偏好。
- 用户生成的内容。用户的聊天、邮件、评论等自己写的内容。
- 个性化用户模拟。使用大模型和Agent等工具进行的人物模拟。
这些都是用户偏好的关键来源,是我们做个性化的基础,对这些信息进行整合加工,能得到我们所需的个性化信息。
引入个性化信息
在一个完整的RAG系统里,根据个性化的引入思路,可以分为这3个部分。
- Pre-retrieval:预检索阶段,可以通过query改写等模式进行一定的信息拓展,此处可以引入用户信息,实现个性化。
- Retrieval:查询阶段,在检索过程中直接检索出最适合用户的内容。
- Generation:生成阶段,结果生成时,通过prompt等方式引入个性化信息,让大模型的内容生成带有个性化性质。
此处,我会引用一些论文提到的相关论文来解释具体是怎么做的。
预检索阶段
预检索阶段,主要是在改写和拓展阶段,通过注入个性化信息,来实现对query的更新,从而实现个性化。
预检索阶段主要就是改写和拓展,改写是指通过对原始query的更新,提升检索效果,常见的就是纠错消歧、加入上下文之类的,拓展则是通过提供额外的信息对搜索query进行信息的扩充,其实某种程度上和改写也有些概念上的交集。
- 直接使用大模型来做改写,例如CLE-QR( Query rewriting in taobao search)训练一个生成模型,将商品、行为等信息加入后直接进行训练。
- 借助检索、推理、记忆模块的辅助来间接实现个性化改写。如CoPS(Cognitive Personalized Search Integrating Large Language Models with an Efficient Memory Mechanism)就是通过记忆模块的引入了个性化信息。
- 论文(Personalized query expansion with contextual word embeddings)识别出用户感兴趣的关键词后,和现有query进行结合形成新的query,从而实现对query的拓展。
查询阶段
在检索阶段,结合预检索构造的query进行个性化的检索。这里包括索引、检索算法和后检索优化这3个方面。
索引层面,可以将用户历史行为进行编码,生成共同的索引(Pearl: Personalizing large language model writing assistants with generation-calibrated retrievers),也可以通过图谱的模式,来进行链接引入(PGraphRAG: Personalized Graph-Based Retrieval for Large Language Models)。
检索算法上,此部分主要关心的还是表征。
- 稠密检索作为主流,可以考虑把本地设备存储、时间事件等因素融入到模型中。
- 稀疏检索中,可以把一些相关的词汇增加权重,这些相关词汇可以来源于用户的历史搜索。(OPPU:Democratizing large language models via personalized parameter-efficient fine-tuning)
- 还有通过prompt进行优化的,例如LAPS( Doing personal laps: Llm-augmented dialogue construction for personalized multi-session conversational search)在多轮对话搜索中存储用户偏好,用提示召回相关信息
- 另外还有一些方案,如借助强化学习的方式来融合稠密和稀疏结果(Optimization methods for personalizing large language models through retrieval augmentation)。注意,融合的方式不止有强化,简单的合并重排其实也能够实现
检索完,还有后检索优化,即对内容进行进一步优化和整合,主要是重排、摘要、压缩3个步骤。
- 重排里,PersonaRAG(PersonaRAG: Enhancing Retrieval-Augmented Generation Systems with User-Centric Agents)引入 Live Session Agent 与 Document Ranking Agent,来优化排序,本质就是一种Agentic思路。
- 摘要,除了简单的总结,还可以借助角色扮演智能体系统对检索历史做摘要,形成带有个性化观点的总结(Rehearse With User: Personalized Opinion Summarization via Role-Playing based on Large Language Models)。
- 压缩主要是对内容进行精炼,有些工作已经和摘要融合在一起了,这部分作者虽然有举论文的例子,但似乎和个性化的关系不大,此处我也就不加入额外的信息了,大家知道这一步即可。
在本节的最后,作者还进行了有缺点的总结,简单的说基本是简单的方案效率高,但是最终的效果有限,复杂的方案收益较明显,但是成本也会随之提高。
生成阶段
生成阶段是指基于前文处理好的query、检索得到的Doc,配合prompt和个性化信息,形成个性化的内容生成。
最直接的方式,就是直接把显式的信息放到prompt里,和query、doc一起扔进大模型。
- 类似Character Profiling(Evaluating character understanding of large language models via character profiling from fictional works.)就是在角色扮演等任务重加入画像信息,让生成内容复合”人设“。
- 也有把交互历史通过提示注入,这种方式能让模型根据历史信息进行推理而完成个性化任务。(Do llms understand user preferences? evaluating llms on user rating prediction.)
- ONCE(Once: Boosting content-based recommendation with both open-and closed-source large language models)、 LLMTreeRec(LLMTreeRec: Unleashing the Power of Large Language Models for Cold-Start Recommendations)等是利用用户和物料的历史行为关系构造摘要,然后用于推荐系统中。
- RecGPT( Recgpt: Generative personalized prompts for sequential recommendation via chatgpt training paradigm)、PFCL(Personalized federated continual learning via multi-granularity prompt)通过微调的方式来完成自适应,逐步抛弃原有调整prompt的模式。
另外,还有一些隐式的方式,通过参数化的方式,实现信息的注入。目前的思路还是比较直接,基本就是微调和强化学习两条路。
- 首先是微调的方式,例如PLoRA(Personalized LoRA for human-centered text understanding)通过和lora类似的方式,加入一个额外的模块来记录个性化的信息。
- 然后是强化学习的对齐。如P-RLHF(Personalized language modeling from personalized human feedback)联合学习用户专属奖励模型,使生成对齐个人风格。
智能体的个性化
论文的标题是“From RAG to Agent”,因此除了RAG自然还要把Agent给放进来。在这里,个性化的智能体定义如下。
A personalized LLM-based agent is a system designed to dynamically incorporate user context, memory, and external tools or APIs to support highly personalized and goal-oriented interactions, and solve problems in a goal-oriented manner.
个性化 LLM 智能体是一种动态融合用户上下文、记忆及外部工具/API 的系统,支持高度个性化、目标导向交互和问题解决。
对比RAG,可以发现其实处理流程也非常接近,其实就是个性化理解、个性化规划与执行以及个性化生成,此时就可以看成是一个个性化RAG++,在原有的RAG基础上增加持久记忆、工具/API、以及更为复杂的长期交互。(这点我也非常支持,Agent本质就是更为灵活的RAG了)。
个性化理解重在能对用户进行更精准地表征和理解,从而确保交互既有意义又符合语境。这里包括用户理解、角色理解、用户-角色的联合理解。
- 用户理解是指要对用户偏好、上下文、意图进行建模。例如在医疗健康智能体中( Conversational health agents: A personalized llm-powered agent framework),用户画像直接影响智能体的行为和决策。
- 角色理解,即要让模型知道,自己具体是一个什么角色来帮助用户解决问题,并要持续维持好这个角色。
- 进一步研究两者的配合度,增强大模型的社交能力和性格特征。
个性化规划与执行指根据个体用户的独特情境与目标,设计并实施策略或行动,该过程要求智能体动态整合长期记忆、实时推理与外部工具调用。
- 记忆部分在我之前的文章有聊过挺多的,以MemoryOS为代表(前沿重器[67] | 北邮腾讯MemoryOS:分层记忆模式解决大模型长记忆问题(上)、前沿重器[68] | 北邮腾讯MemoryOS:分层记忆模式解决大模型长记忆问题(下)),论文提到的论文也基本是类似的模式。
- 外部工具能让Agent系统解决的问题变得更多,也更可靠。PUMA( Large Language Models Empowered Personalized Web Agents)利用自适应的API进行个性化的任务编排,在电商场景中提供助力。
最后是个性化生成,这里既要求事实正确(完成任务),又要契合用户的爱好偏好。
- 事实正确强调个性化响应的准确性、一致性与事实可靠性,确保跨交互的可信度。
- 对齐偏好则确保输出反映个体性格、价值观与交互风格,要求智能体动态解读隐含用户线索并自适应调整。
读后感
说说自己的读后感吧。
- 论文内提到大量技术手段,尝试把各种个性化信息加入到RAG、Agent系统中,让大模型系统的回复更加能体现个性化,这点还是非常不错的,里面的论文提供了很多有意思的点子,很多都在现实场景有尝试的价值,储备起来非常好。
- 然而,感觉对个性化的剖析和应用还是比较粗,举几个例子吧,个性化的前提是画像,画像信息的不同类型,如数值、个人信息、行为等,直接联系任务和非直接联系任务(举例,类似性别、年龄就是距离目标很远的画像信息,喜欢电脑、喜欢看动漫就是距离任务很近的画像信息),不同信息的利用价值和使用方法都有很大差异。
- 熟悉我的朋友应该知道,早年推荐系统在个性化就已经有大量的研究经验,在这篇论文并非没有提但是感觉还是比较少的。这个可能是受领域、信息之类原因的限制吧,还是有很多可以进一步挖掘的。
总的来说,个性化这个事感觉还有很多可以聊的,要不最近安排一期说一下吧,敬请期待。