大语言模型(LLM)与推荐系统(RecSys)
大模型现状
Large Language Model
核心 组件/思想
- generative
- pre-trained
- transformer
- decoder-only
国外
- 以 OpenAI 的 ChatGPT 为代表
- 图像相关的有 DALL·E
- Meta 开源的 LLaMA
- 包含图文能力的 LLaVA
- 辅助在单机运行的 Ollama
国内
- ChatGLM-6B
- 文心大模型
- 通义大模型
- ...
大模型能力
能做什么
- Text Generation(文本生成)
- Chat(问答)
- JSON Mode(接口模式)
- Reproducible output(可复现输出)
- 包含通用能力,需撰写合适的Prompt
- Function calling(函数调用)
- 可以理解为扩展模型使用工具的能力
- 主要思想是模型从用户输入中抽取出调用外部函数的参数(通常以JSON结构返回),然后在外部调用后将结果返回进一步处理
- Embedding(获取文本的嵌入表征)
- 可以用于检索、推荐、异常检测、多样性分析等等
- 算是表征得到向量后很常见的一些运用了
- Fine-Fine-tuning(自定义数据集微调)
- 在一些特殊场景下就不用再次输入较多的样例,所谓一劳永逸
- Image generation(图像生成)
- 基于文本的生成
- inpainting 图片基于文本调整局部
- image / mask / prompt
- 基于现有图片生成更多
- 调用GPT的能力优化了文本的书写
- Vision(视觉能力)
- 图片内容的理解,类似caption生成
- 能识别出有哪些内容,对于空间感知暂时不强
- Text to speech(文本转语音)
- 相对以往的TTS,说得更自然
- 支持多语言以及streaming模式
- 输出模式:mp3以及Opus、AAC、FLAC等格式
- Speech to text (语音识别)
- 含转写(输出目标语言的文本)和翻译(当前均以英文输出)
- Assistants(助手模式)
- 基于设定,使角色有特定的个性和能力
- 能访问上传的文件
- 可调用代码解释器等工具以及自定义 Function calling
推荐系统概览
- 流程
- 定义目标和指标
- 明确业务需求是推荐系统设计的关键第一步
- 数据收集与处理
- 用户、商品、上下文等多维度信息获取
- 数据清洗和预处理
- 特征工程
- 推荐算法的选择与实现
- 基于协同过滤的推荐(目前基于Embedding & X2Y可得到较好运用)
- 基于预测点击、转化的推荐(基于深度学习的推荐)
- 基于搭配组合的推荐(使用Graph的模式以及融合传统的模式识别可以较好解决)
- 基于序列模型的推荐(通常转化为下一个点击的预测问题)
- 基于内容的推荐
- 基于社交网络的推荐
- 业务驱动的推荐(热度、新鲜度等)
- 因果推荐(推荐系统对用户的推荐是否会引起用户的实际行为?这可能需要采用因果推断方法)
- 模型训练和评估
- 离线指标评估 / 线上ABT对比
- 推荐策略和策略调整
- 推荐策略包括排序算法、推荐模型的组合方式、推荐结果的展示方式等
- 推荐系统中很多策略层的问题需要我们去关注
- 服务部署
- 模型部署的效率和稳定性对于保证用户体验至关重要
- 用户界面与交互
- 合理设计的界面能够提升用户体验,并增加用户与推荐系统互动的可能性。
- 例如经典的提供推荐理由等模式迭代
- 监控和迭代优化
- 持续监控业务指
- 商业指标:点击率、转化率等
- 多样性指标:覆盖率、多样性等
- 基于收集到的新数据和用户反馈进行迭代优化
- 持续监控业务指
- 定义目标和指标
- 常见挑战
- 内容理解通常不是太到位
- 新商品和新用户的冷启动问题(物、人理解的准确性角度)
- 长尾商品问题
- 新品培育、应季品扶持等问题(流量问题)
- 引导用户探索和发现
- 多模态数据整合和利用(文本、图像、行为数据等)
- 多目标优化的权衡问题
- 点击率与多样性的权衡
- 点击率与转化率的权衡
- 可解释性与推荐效果的权衡
- 长尾商品与热门商品的权衡
- 准确性与新颖性的权衡
- 推荐系统与业务策略的协同
- 基于多步骤推理的推荐较弱
- 例如旅行先确定目的地,然后周边的吃喝玩乐,然后旅行计划等
可以从以上流程出发,思考LMM如何能在推荐中使用
在推荐系统中使用
LLM可以在推荐系统中发挥一定的作用,尤其是在涉及自然语言理解、用户交互和解释性方面
LLM可以给推荐系统引入更多外部知识,对于冷启动和长尾问题很有效
LLM在RecSys使用的一些方式
- 内容理解而后用于推荐模型(可以认为是特征工程角度的)
- 用户资料、用户对物品的评论、物品标题或描述等
- 基于域内信息的Embeeding 融合外部GPT的Embedding
- 能较好得解决冷启动问题
- 针对节假日、应季等场景做商品的针对性选取(许多商品标签不足或过度)
- 用户画像扩增,喜欢品类A、或者物品X的用户还有可能喜欢什么
- 转化为搜索词去扩展,比如Q2I
- 特别适合一些新品场景、以及用户行为不充足的数据上
- 商品属性库优化(结合图文内容自动结构化推断)
- 内容生成后用于推荐场景
- 生成商品描述、推荐语等文本
- 商品展示、场景呈现等图片的生成
- 新的交互模式
- 用户使用对话模式来获取满足需求的商品(Chat-Rec)
- 一定程度上可以归类为搜索模式了
- 虚拟购物助手
- 提问回答是一种模式
- 叙述性引导是另一种模式,例如为顾客准备一次徒步之旅,看看需要置办些什么
落地
- 在推荐任务中使用 LLM 通常有三种方式,预训练、微调和提示
- 在推荐系统中,PEFT 可以大大降低针对推荐任务微调 LLM 的计算成本,它只需较少更新,并能保持模型的大部分功能
- 基于提示工程,可以完成推荐场景下很多子任务
- 可能的问题
- 工业场景直接运用延时大,线上需要做缓存处理,或者先在离线场景使用
- 大模型上下文窗口有限且部署推断或者调用接口的成本均不低,需要权衡
- 传统场景下大量使用ID特征,这些信息LLM很难利用,所以LLM现阶段只能打个辅助
可供参考的新范式