为了对该范式(论文称之为TCF范式,在过去几年涌现了大量相关论文,不过多是使用BERT,word2vec等中小型item 编码器)性能进行极限研究和评价,论文甚至对600亿LLM做微调或者重新训练,目的是为了回答基于文本的推荐范式的若干核心问题 Q2: 超大参数的LLM,如175B参数GPT-3,是否能产生通用的item表征? Q3: 装配了175B参数量的LLM的推荐系统算法能否打败基于ID的经典算法? 另一个原因是,基于序列到序列(seq2seq)训练方法的SASRec架构比DSSM架构在此结构中表现更好。 问题2:这些极大的语言模型LLM是否能为推荐任务提供通用的物品表示? 文章认为要实现推荐系统基础模型需要至少满足两个条件:(1)放弃ID特征,因为ID特征在不同业务系统无法共享,自然没办法实现迁移学习;(2)实现有效的跨域、跨平台迁移。 从以上结果可知,基于LLM的TCF模型(SASRec架构)基本上可以取替ID方法,也就是去ID是可行的。而对于(2),论文中提出TCF虽然直觉上可以迁移,但是否真的具有很好的迁移效果,仍然是不确定的。
前言 随着ChatGPT横空出世,大模型的风算是吹遍了每一个领域,推荐系统作为老牌AI领域,也得沾沾光嘛~ 大模型与推荐结合的方式有很多,我个人将其分为三种类型: LLM与传统推荐结合 Rec-to-LLM 2. 模型结构大概如下: 模型结构(2个模型都可训练): Item LLM:给prompt后,把item各种文本塞进去,完全就是一个纯LLM。用[item]的输出作为整个item的embedding。 (这个结论应该和bert [CLS] token效果好是类似的) 线上使用: 阶段一:用150长度用户序列完全训练2个LLM。 方法论:借鉴多模态技术做LLM embedding融合;LLM embedding对齐推荐任务或补充协同信息;再来就是一些特征的处理方式 而LLM emb与推荐系统结合,可以总结成2个步骤: 怎么拿embedding
<<大型语言模型LLM>> LLM入门1 | 初见LLaMA | MetaAI 附录 self-instruct self-instruct seed set AIpaca: A strong, Replicable The oatmeal banana protein shake may contain 1/2 cup oatmeal, 60 grams whey protein powder, 1/2 medium >> alphaFold2 | 解决问题及背景(一) alphaFold2 | 模型框架搭建(二) alphaFold2 | 模型细节之特征提取(三) alphaFold2 | 模型细节之Evoformer (IS) 生成专题2 | 图像生成评价指标FID 生成专题3 | StyleGAN2对AdaIN的修正 生成专题4 | StyleGAN2的其他改进 <<蛋白质分子结构相关>> NLP | 简单学习一下 eager模式与求导 扩展之Tensorflow2.0 | 19 TF2模型的存储与载入 扩展之Tensorflow2.0 | 18 TF2构建自定义模型 扩展之Tensorflow2.0 | 17
下面我们先分析下日志,最后介绍下LLM代理如何编写和配置。 Here's the structure:\n\n<tool_name>\n<parameter1_name>value1</parameter1_name>\n<parameter2_name>value2 </parameter2_name>\n... MCP 工具信息),和用户提示词,用户提示词除了包含task还包括环境详情environment_details 2,LLM返回响应 3,Cline调用MCP工具 4, MCP server返回天气查询结果 返回总结后的结果 7,由于返回的格式不符合要求,Cline请求LLM按照XML格式返回结果 8,LLM返回结果内容 至此完整的交互流程介绍完毕。
标题奥创纪元来自漫威复联2主题,Ultron是一个human-made具有自我意识的强AI; 1. LLM v.s. Rec 既然是大模型在推荐系统中的应用,那么首先要梳理对比下传统推荐模型和LLM的优缺点,推荐到底在 "馋" LLM的什么? LLM pretrain objective and RS; LLM rely more on semantics, omit collaborative information; 2. 意味着MoRec需要一个强大的推荐骨干(SASRec优于DSSM)和训练方法(seq2seq优于 <u,i> pair)才能激发基于模态的项目编码器的优势 Q2:对于推荐场景,NLP、CV的预训练模型产生的表征有足够的通用能力吗 A2:尝试两种方案,two-stage(先用预训练模型提取模态表征,然后作为特征加入推荐模型训练)和end2end(同时训练预训练编码器和推荐模型网络)。
应用于推荐领域已经有很多例子了,但是从经典推荐方法向LLM过渡很重要的一个问题是LLM很难有效利用用户和item的ID,主要是因为它们在语义空间中的表征和常规的自然语言不同,因此无法直接使用LLM。 (ICL)对不同任务的指令进行对比学习,增强LLM对不同指令的鲁棒性 2.方法 和P5一样,ControlRec也是在5个任务上预训练和验证,包括评分预测,序列推荐,解释生成,直接推荐和评论总结。 而在序列推荐和直接推荐的上下文中,它们分别表示交互历史和候选item的ID序列。 }\log p_k^{i2n}+y_k^{n2i}\log p_k^{n2i})\end{aligned} \end{gathered} 2.2.2 顺序预测 顺序预测利用交互历史来匹配用户的下一个偏好的 ICL对LLM生成的序列进行操作,它需要LLM的生成能力,这在早期训练阶段可能受到限制,。直接用ICL训练模型可能会导致学习过程的低效和不稳定。
话题一转,说说今天的主角:2个工具,一个是抓包工具Charles,一个是API调试工具Postman。
自从 Transformers 问世以来,LLM (大型语言模型)以及更广泛的生成式人工智能技术呈现出爆炸式的增长趋势。 — 01 — 什么是 LLaMa 2 ? LLaMa 2 是由 Meta 公司开发的开源大型语言模型(LLM)。 LLaMa 2 参数模型示意图 LLaMa 2 属于 LLM 系列,类似于 GPT-3 和 PaLM 2。 LLaMa 2 与其他 LLM 在任务上的表现对比 2、数据容量丰富 在扩展训练数据方面,LLaMa 2 的训练数据量几乎是 v1 的两倍,总计达到了令人惊叹的 2 万亿个 Tokens 这些模型代表了自然语言处理领域的重大发展,LLaMA 2 与 GPT-4 都是功能强大且多功能的 LLM,可以执行广泛的任务和领域。
LLM在组织内部应用的一类重要场景就是利用LLM的NL2SQL能力,简化用户对数据库的访问。本文主要介绍如何使用LLM生成SQL语句,不涉及到如何训练提升LLM的SQL生成能力。 所以,这个基础的NL2SQL的准确率问题是由选中的LLM模型保障的,而我们会通过一些设计原则优化LLM提示来提升这种SQL生成的准确率问题,从而确保用户的使用体验。 当然,当我们在最后评价这个NL2SQL应用的效果时,可以用一个预先准备好的测试集对系统进行测试,确认系统的准确率是否满足使用要求。 在网络上我们能够看到很多用来训练模型NL2SQL能力的训练数据,这些数据给出的数据结构描述往往都比较简单。这可能会误导一些希望利用LLM生成SQL的使用者的工程方案。 因此告诉LLM时间字段的格式,可以帮助LLM提高生成SQL语句的正确率。如果可以,尽量描述出数据值的格式,增强LLM对字段含义的理解。
现有的用LLM来做推荐的大多是通过构建prompt将推荐的数据文本化作为LLM的输入,然后通过生成式的方式来推荐物品,但受限于计算性能以及LLM的输入长度,所以也只能在几个玩具数据集上跑一跑,文章把这种方式称为 Rec-to-LLM, 而文章要做的工作就是LLM-to-Rec,将LLM用作特征提取器,将推荐任务作为训练目标,不仅有利于从 LLM 的开放世界领域无缝过渡到RS的协作领域,还能确保更好地满足工业在线 内容嵌入生成CEG 模块采用了预训练的LLM(文章用的Baichuan2-7B)作为物品编码器。 偏好理解PCH模块是为了将LLM生成的内容embedding与推荐任务进行对齐,弥补的开放世界知识与协作知识之间的领域差距,采用推荐任务的自监督训练目标来指导模型优化。 LLM embedding比传统的ID embedding以及bert生成的更有优势 2.
其核心优势在于并行计算和长距离依赖捕捉,成为大语言模型(LLM)的基石。而注意力机制是基石的基石。核心组件包括查询(Query)、键(Key)、值(Value)三个权重矩阵。 values return context_vec d_in = inputs.shape[1] # the input embedding size, d=3 d_out = 2 # In practice, this is not a problem since the LLM (chapters 4-7) ensures that inputs # In practice, this is not a problem since the LLM (chapters 4-7) ensures that inputs queries = queries.transpose(1, 2) values = values.transpose(1, 2) # Compute
in Reranking——利用LLM进行重排 End2End Generation 生成式推荐综述:Large Language Models for Generative Recommendation Solution:利用语言文字为纽带,通过自适应个性化 prompt 的方式,seq2seq 建模框架实现大一统各类推荐任务。 seq2seq 条件文本生成问题。 ; Quadrant-2:和 Quadrant-1 比较像,不过使用了更大的语言模型,功能也不再局限于仅提供语义特征;比如更多的世界知识、推理能力、总结能力; Quadrant-4:通过对 LLM 的推荐数据训练 将搭配类目作为 query,根据电商平台搜索 query2cate 的统计数据,使用该 query 下 top 的点击 cate 作为映射类目,实现 LLM 搭配到站内 ID 的映射。
本文提出采用大模型LLM从用户的异构行为信息中提取和融合异构知识,然后将异构知识和推荐任务相结合,在LLM上执行指令微调进行个性化推荐。 2.方法 看图说话,主要流程: 基于数据中的不同用户的各种异构行为数据,以用户为中心,筛选出该用户的异构行为 将这些行为通过prompt工程构建成文本输入到chatgpt用来将异构行为融合,得到完整的自然语言表达 基于用户行为生成的异构知识将用于LLM的微调和推荐阶段。 2.2 指令微调 微调过程旨在帮助LLM更好地理解异构知识,并进一步提高其在推荐任务中的准确性和适应性。 该指令包括用户对类别、价格和商家等偏好的推荐,而输出是用户下一个订单的真实标签。基于构建的指令数据集,对LLM进行指令调优。 作者选择开源模型ChatGLM-6B作为基础LLM,并采用Lora方法进行微调。 2.3 推荐 给定一个用户,从数据库中检索用户行为异构知识作为LLM的输入。
但对齐过程往往受到 (1) 数据收集;(2) 计算资源的限制。 字节跳动提出让 LLM 进行遗忘学习的方法来进行对齐。 本文研究如何在 LLM 上进行 “遗忘” 操作,即忘记有害行为或遗忘学习(Machine Unlearning),作者展示了遗忘学习在三种 LLM 对齐场景上取得的明显效果:(1) 删除有害输出;(2) (2) LLM 使用侵权数据训练后,在作者要求下,成功删除数据,且考虑到成本因素不能重训 LLM;(3) LLM 成功忘记 “幻觉”。 整体损失反向提升了有害样本的损失,即让 LLM “遗忘” 有害样本。 第二项损失为随机误配,强制 LLM 在有害提示上预测无关回复。类似于分类里的标签平滑(label smoothing [2])。 表二 图四显示了计算时间的比较,本方法只需 RLHF 2% 的计算时间。 图四 尽管只有负样本,遗忘学习的方法仍能达到和 RLHF 相似的无害率,而且只使用 2% 的算力。
使用LLM进行编程辅助工作不仅提高了生产力,而且正在永久性地改变数字原住民开发软件的方式,我也是它的付费用户之一。 最近BigCode与NVIDIA合作推出了StarCoder2,这是一系列专为编码而设计的开放式LLM,我认为在大小和性能方面是目前最好的开源LLM。 每个模型都是在The Stack v2上进行训练的,这是当前最广泛的用于LLM预训练的开源代码数据集。 总结 上面的几个简单的例子可以证明StarCoder2作为Copilot的本地替代应该是没有问题的,我们日常工作中也只是让LLM帮我们完成一些简单的代码,并不会让他进行具体的系统设计工作,所以StarCoder2 这里我们也可以看到在2024年这类高性能的开源编码LLM还会继续发展,我们会深入的关注它的发展。
“「 Rust 与 LLM」 是本合集的主题系列之一,本文为正文第二篇。 本合集将优先完成该主题系列文章,所以其他主题的文章优先级将降低。 传统转译工具,比如 c2rust,其实是基于 ast 的转译方式,无法保留原项目架构的抽象信息,并且转译出来都是 unsafe 代码,实际应用效果不好。 社区有人用 Rust 重新实现了 gnp/minbpe-rs[2] ,所以我们直接解读这个项目。 “阅读源码和看书其实效果一样,只是学习作者的实现思路。 pub const GPT2_SPLIT_PATTERN: &str = r"'(?:[sdmt]|ll|ve|re)| ?\p{L}+| ?\p{N}+| ? \S)|\s+"; 这部分定义了用于 GPT-2 和 GPT-4 的文本分割正则表达式,这些表达式用来分割输入文本以提取出适合处理的单元(tokens)。
说下我推荐的 2个阅读神器。 为什么说是阅读,而不是看书呢。在我朋友圈的读者们,可能已经知道了。比起看书,我平常阅读更多的是,期刊论文或者博硕毕设。偶尔,要学点新技术,看书才会成为我的选择。 所以,我要推荐的,1个神器,是微信读书,用来看书;第2个神器,是知网和谷歌学术。 微信读书,是我的年度最佳 app ,绝对可以排前三。 下图层1,是谷歌学术搜索;图层2/3,是知网的。但,他俩代表的是两个世界 如果你有好的看书,阅读神器,也欢迎留意,与大家一起分享! 不出意外,这是农历2022年前,最后一篇文章了。
other=llama-2 Llama 2相比Llama有哪些升级? Llama 2 模型接受了 2 万亿个标记的训练,上下文长度是 Llama 1 的两倍。 从人类反馈中强化学习,除了Llama 2版本,还发布了LLaMA-2-chat ,使用来自人类反馈的强化学习来确保安全性和帮助性。 训练 Llama-2-chat:Llama 2 使用公开的在线数据进行预训练。 然后通过使用监督微调创建 Llama-2-chat 的初始版本。 总数 词汇量为 32k 个token Llama 2评估结果 Llama 2 在许多外部基准测试中都优于其他开源语言模型,包括推理、编码、熟练程度和知识测试。 最后对模型进行了 2 个 epoch 的微调。
支持模型和功能对比PPL LLM只支持baichuan、chatglm、llama三个模型,Tensor-LLM支持几乎所有大模型。 TensorRT-LLM使用起来更方便模型量化TensorRT-LLM是离线量化,支持更多的量化方法,smooth quant、weight only、AWQ等PPL LLM是实时量化(i8i8),支持整个网络一起量化 模型DeployTensorRT-LLM量化结束,不需要deploy中间模型,直接进入编译器。部分模型可以支持onnx可视化PPL LLM不需要deploy以及编译,直接用onnx调算子。 /docs/llama_guide.md at master · openppl-public/ppl.llm.serving (github.com)TensorRT LLM原模型-->量化-->编译 两个框架都是tensor并行框架依赖Tensor-LLM需要依赖tensorrt,但主要是一些单算子(卷积、激活函数、gemm等),融合算子都是Tensor-LLM自带的。PPL LLM没有依赖
https://arxiv.org/pdf/2403.01744v2 简介 本文来自小红书和中科大, 首次尝试了将LLM应用到笔记推荐(Note Recommendation)中. 更具体的, 本文在推荐链路(召回->粗排->精排->重排)的召回环节, 新上(或替换了)一路现有的I2I(Item2Item, 这里item其实是Note)召回. 模型核心点是: 如何考虑用户共点击行为和属性/标签, 对LLM模型LLama2进行微调, 使之可以适配推荐场景的需求? 在线A/B测试的提升也非常显著. 相应的, prompt的结构如下: 这里[EMB]代表经过LLM生成的笔记的embedding, 用于后续的对比学习任务. 这里思路比较常见, 就是统计2个笔记被哪些用户共同点击过, 次数越多, 笔记越像. (2) 正负样本对比loss. 正样本相似度大于负样本.