个性化与定制化
目录
1. 概述
通用 LLM 对所有用户一视同仁,但用户的知识水平、表达风格、偏好和需求各不相同。个性化(Personalization)旨在让模型根据用户特征和历史行为调整输出,提供更贴合个体的体验。
个性化的核心挑战:
- 冷启动:新用户无历史数据,如何快速建立个性化。
- 隐私:用户数据敏感,个性化不能以泄露隐私为代价。
- 时效性:用户偏好随时间变化,模型需持续更新。
- 多用户冲突:同一模型服务多用户,参数级修改会相互干扰。
2. 个性化的层次
| 层次 | 方法 | 个性化强度 | 成本 |
|---|---|---|---|
| 提示层 | 系统提示中加入用户画像 | 低 | 极低 |
| 上下文层 | 在对话中注入用户历史和偏好 | 中 | 低 |
| 检索层 | RAG 检索用户私有数据 | 中 | 中 |
| 适配器层 | 用户专属 LoRA/Adapter | 高 | 中 |
| 参数层 | 用户级模型微调 | 最高 | 高 |
3. 用户画像与记忆
3.1 显式画像
- 用户注册时提供的偏好(语言、专业领域、沟通风格)。
- 系统提示中明确指定角色和规则。
- 用户可直接编辑和修正画像。
3.2 隐式画像
从交互历史中自动提取:
- 写作风格偏好(简洁 vs 详细、正式 vs 口语化)。
- 专业水平(通过问题难度和使用术语推断)。
- 兴趣领域和常用工具。
- 价值观和沟通偏好。
3.3 长期记忆系统
- 实体记忆:提取并存储用户提到的关键事实(职业、项目、偏好)。
- 摘要记忆:定期将长对话历史压缩为摘要。
- 向量记忆:将历史交互存入向量数据库,按相关性检索。
- 笔记式记忆:如 Letta(MemGPT)用自然语言笔记持久化用户信息。
记忆系统的设计参考 agents/memory.md。
4. 参数高效个性化
4.1 LoRA 个性化
为每个用户(或用户群)训练独立的 LoRA 适配器:
- 基座模型共享,用户 LoRA 按需加载/卸载。
- 个性化表达为低秩偏移:$\Delta W = BA$。
- 存储开销小(每个用户数 MB),支持百万级用户。
4.2 Adapter 组合
不同维度的个性化可由独立 Adapter 组合:
- 风格 Adapter(正式/简洁)。
- 领域 Adapter(医疗/法律/代码)。
- 个人偏好 Adapter。
推理时通过门控或加权组合多个 Adapter:
\[W_{\text{eff}} = W_0 + \alpha_1 \Delta W_{\text{style}} + \alpha_2 \Delta W_{\text{domain}} + \alpha_3 \Delta W_{\text{user}}\]4.3 Prompt + 小模型路由
- 用轻量模型预测用户偏好,动态组装系统提示和 Adapter。
- 按用户群(cohort)聚合,减少 Adapter 数量。
5. 个性化对齐
5.1 个性化 RLHF
标准 RLHF 优化对所有用户相同的”有用性”。个性化 RLHF 引入用户条件:
-
奖励模型以用户特征为条件:$r(y x, u)$。 - 偏好数据来自具体用户,反映个体偏好。
- 训练时对用户 ID 或画像 Embedding 做条件化。
5.2 个性化 DPO
DPO 可直接扩展为用户条件版本:
\[L = -\mathbb{E}\left[\log \sigma\left(\beta \left(\log \frac{\pi(y_w|x,u)}{\pi_{\text{ref}}(y_w|x,u)} - \log \frac{\pi(y_l|x,u)}{\pi_{\text{ref}}(y_l|x,u)}\right)\right)\right]\]其中 $u$ 为用户标识或画像。
5.3 个性化 SFT
- 用用户历史对话数据做 SFT,让模型模仿用户期望的交互风格。
- 需数据量小(数十至数百条),配合 LoRA 实现快速适配。
- 注意通用能力回归——个性化训练后需做通用 benchmark 测试。
6. 检索增强个性化
6.1 用户私有数据 RAG
将用户的笔记、邮件、文档、代码库、聊天记录索引到个人知识库:
- 模型回答时检索用户私有数据,提供个性化、准确的回答。
- 数据存储在用户账户下,权限隔离。
- 这是目前最安全、最实用的个性化方式——不改模型权重,不泄露用户数据。
6.2 个性化查询改写
- 用用户画像改写查询:”我最近的项目进度如何” → 检索相关用户文档。
- 基于历史会话补充查询上下文,消除歧义。
6.3 混合个性化
RAG(事实和上下文)+ Adapter(风格和习惯)+ 系统提示(规则和偏好)的组合是最完整的方案。
7. 隐私与安全
- 数据最小化:只收集个性化必需的数据,明确告知用途。
- 本地处理:端侧个性化让敏感数据不出设备。
- 联邦学习:多个用户在本地训练,仅共享梯度(需配合差分隐私)。
- 差分隐私:在个性化更新中加入噪声,防止从参数反推用户数据。
- 记忆管控:用户可查看、编辑和删除模型对自己的记忆。
- 安全隔离:多用户系统中确保用户 A 的个性化不影响用户 B 的输出。
8. 端侧个性化
8.1 On-Device Adaptation
端侧模型(见 deployment/edge-on-device.md)天然适合个性化:
- 用户数据保留在设备上,无隐私顾虑。
- 可在设备上用用户数据进行 LoRA 微调或 P-tuning。
- 端侧 + 云端协同:端侧做个人化,云端做通用推理。
8.2 个性化推理
- 设备上的小模型学习用户偏好,作为云端大模型的路由/过滤器。
- 用户 Embedding 存储在本地,请求时附加。
9. 实践建议
- 从提示层和上下文层个性化起步,成本最低且效果明显。
- RAG 个性化是最安全的企业级方案——优先接入用户文档和知识库。
- 参数级个性化(LoRA)适合消费级应用,但需设计用户聚合和冷启动策略。
- 个性化必须配合可解释和可控制:用户应能看到模型”了解”自己什么,并能修改或删除。
- A/B 测试个性化效果时,注意新颖性效应——长期留存比短期点击更重要。
- 防止个性化过拟合(filter bubble):保持一定的探索和多样性,不将用户困在信息茧房中。
10. 参考文献
[1] E. B. Khalil, R. Jia, et al., Personalized Federated Learning: A Survey, arXiv preprint, 2023.
[2] H. Wang, S. Zhao, X. He, et al., Personalized Dialogue Generation with Persona-Aware Models, ACL, 2023.
[3] M. Chen, J. Gao, Y. Li, et al., Personalization of Large Language Models: A Survey, arXiv preprint, 2024.
[4] C. Packer, V. Fang, S. G. Patil, et al., MemGPT: Towards LLMs as Operating Systems, arXiv preprint, 2023.
[5] Y. Choi, K. Lee, et al., Personalized Language Models via Retrieval-Augmented Generation, arXiv preprint, 2024.
[6] J. Huang, K. Cao, et al., LoRA-FA: Memory-Efficient Low-Rank Adaptation for Large Language Models, arXiv preprint, 2023.
[7] D. Salemi, A. Jaech, et al., Personalizing Large Language Models, arXiv preprint, 2024.
留下评论