当前位置: 首页 > news >正文

LLM建模了什么,为什么需要RAG

LLM近期研究是井喷式产出,如此多的文章该处何处下手,他们到底又在介绍些什么、解决什么问题呢?“为学日增,为道日损”,我们该如何从如此多的论文中找到可以“损之又损以至于无”的更本质道或者说是这个方向的核心模型。只有有了这样的更核心根本的模型,我们才能更容易的把控LLM的发展方向,不至于“乱花渐欲迷人眼”,把自己丢失在论文的海洋。

LLM建模

LLM是对什么的建模

从点击率预估说起

熟悉广告营销的朋友应会很熟悉 ctrcvrcpm 这个公式,其实互联网的一大半的员工也是围绕这个公司生存。所谓的黑客增长、用户生命周期、活动运营、内容运营…基本都绕不开这个公式。
那么这个公式到底是怎么来的呢,为何有如此魔力可以养活成千上万的员工呢。其实这个公式就是对营销的3阶段的一个建模:
**促达用户:**通过什么手段可以把东西促达用户,促达用户后您能吸引到多少用户看你表演
**用户转化:**吸引到的用户经过你的一些列表演,有多少用户为之买单
**成本收益:**为了这次在用户面前露脸表演的机会你付出多少成本,你能得到多少收入,收益比是否正向
对营销业务过程建模完后,接下来要做的事就是如何完善和提高每个模块的性能;让商业活动可以正向循环。也就是说互联网的员工基本都在围绕这个大的业务建模,在每个模块下构建更牛逼高效系统来去的竞争也优势。举例来讲:
促达用户转化率提升:
1.找到人数更多的流量路口,提高覆盖的人口基数——内容吸引搞流量增长、权益激励吸引流量、活动营销吸引流量、服务入口吸引流量…
2.找到更符合自己业务的流量入口,提高匹配率——用户画像、look like、社区发现、点击率预估系统…
3.发现流量中人群特点迎合流量制造服务,发现制造机会——人群洞察、舆情洞察、新物种造货、事件营销、意图理解…
用户转化率提升:
1.提高服务和用户需求点匹配度——点击率预估、购买用户意图分析、购买用户相似人群发现、服务个性化呈现、粉丝经济…
2.提高有需求用户复购的机会——复购时机发现、关联推荐、沉默用户激活、会员运营、大促活动、618、1111…
3.制造需求消费机会——私域运营、种草、粉丝营销、短视频营销、场景化营销、演绎营销、新物种、根据用户需求造货…
成本收益:
1.田忌赛马,点击率广告竞价——DSP、DMP提高预测准确率获得更多下沉高价值竞争
2.高价值机会发现——品牌广告(汽车、耐用品、莆田系、牙科…)
3.提高产品价值,个性化服务——软文广告、和高热up合作定向营销、出教程普及逐步把自己产品变标准(微软各种产品、各种云厂商解决方案)…

LLM建模了什么

上面对广告点击率预估这个已经很成熟的产业做了介绍,介绍了这个产业事如果对营销业务进行建模,抽象成三个模块。然后整个产业是如何围绕折三个建模的模块在精进、精耕细作产生出一个可以养活几千万人的产业。对于现在大火的LLM模型如果要从火逐步转变成可以产业化,成为一个可以容纳几千万人就业的产业构建一个业务建模似乎也是必须的。然而现在的LLM还处在技术发展阶段,虽然已经有很多的应用但是很多使用者只是围绕LLM浅显的技术能力在开展。个人觉得这个阶段的LLM业务建模似乎是困难和非必要的,反倒是对LLM的技术建模能够更深刻的认识LLM是一个什么技术、在解决什么问题、后续可以如何改进是更有意义的。
LLM个人觉得其实就是对信息在做整理、总结、表达,它不只是具备信息整理、总结、表达的处理能力、同时具备把它见过的信息整理组织成他可以使用的数据来源,也就是说他拥有知识和知识加工的能力。当然现在的LLM还是初级阶段,处理知识、知识表示、知识表达能力还是不太完美的。
我们尝试对上面的描述做一个更结构化的表述:
1.LLM具备知识表示能力
2.LLM具备知识抽取、存储组织能力

**
这三个能力其实在LLM里面并非是可以剥离开来的,而是全部的混在LLM参数里面,也就是说LLM具备知识存储、知识整理、知识检索、联想、组织、表达的能力,并且是一体的全部存在它巨大的参数里面。
看起来这个业务建模是不是挺复杂的,比广告营销的模型复杂好多。并且感觉这个东西还没法想广告营销模型那样可以分成比较明显的阶段模块,全部都混在一起。

pretrain、sft、rlhf在讲什么

接触过LLM的同学应该对pretrain、sft、rlhf这几个词不陌生,那么为什么LLM的训练一定要经过这三个阶段?市面上能看到的解释都是从word2vec–elmo–in content这条路线来解释。但是感觉解释完好像还是没有特别让人置信。
针对这个问题我思考了很久,个人觉得其实用高中学过的齐次方程求解的方法来解释是比较合适的。齐次方程的求解包括了3种:齐次方程组通解、特解、约束解;其实pretrain过程对应的就是齐次方程的通解、sft过程对应的就是齐次方程的特解、RLHF过程对应的就是齐次方程的约束解。
那么如何去构建这个齐次方程呢,里面的未知数x、y、z…或者说求解空间的表示基是谁呢?又是用什么来构建出求解的等式的呢?这个齐次方程式对应的物理意义又是什么呢?
1.知识表示能力
每个知识点的表示对应的就是齐次方程的基,也就是是说这个方程的定义域集合中的每个元素可以认为是每个知识表示。
当然这个知识点的表示是隐式的,并非我们显示给进去的定义好的,所以实际做模型训练时候并没有输入这么一个知识表示(embbeding和token.json输入的不是显示独营这部分)。
2.如何去构建求解等式
输入训练的语料就是为了构建求解等式方程,所以也就是为什么语料构建需要多样化、语料不能够过多重复。过多重复的语料相当于很多求解方程是重复的,求解过程中会把很多知识表示维度变小导致模型过拟合。语料构建多样性其实就是为了构建更多差异化的求解方程,让齐次方程求解能够得到唯一解。
3.对应的物理意义
pretrain过程包含了对知识表示(基维度的确认)、知识抽取和存储组织能力的训练,也具备一定的知识检索、联想、组织能力训练。
sft过程更多是对LLM表达能力的训练,通过给定有监督的答案组来调教LLM具备检索、联想、组织能力。
RLHF过程其实就是让知识表述遵循人类约束(安全、道德、风格…)。

为什么要RAG+LLM

image.png
已经有了可以对知识表示、抽取、存储组织、知识检索、联想、组织表达的LLM,那为什么还需要RAG链路呢?RAG本质上又是在做什么事呢?
有了LLM之所以还需要RAG原因很简单,LLM解决不了RAG能解决的问题。那么RAG到底帮助LLM解决了什么问题,又是如何解决、为何能够解决的呢?RAG其实就是对LLM的检索、联想能力的外扩,之所以把这些部分外扩原因就在于如果完全依赖LLM的能力来解决,解决成本会很高,并且不容易控制。所以我们可以花更小的代价把有一些环节外扩出来,把信息检索、组织好想当于有一个底稿然后在让LLM做组织表达以更可控和高效的解决实际问题。
换句话讲RAG的目的就是让LLM更容易控制、更高效精准生成,通过外扩来控制单一建模的LLM,让生成更可控。对于一些知识有可能是私域或者是时事类的信息,LLM没有组织表示,如果不给输入很可能就没法给出准确答案。还有可能是LLM知识点太多,通过RAG检索到的线索来约束LLM生成边界。又或者可以通过RAG更精准可控的检索到控制条件,来约束LLM生成;或者是约束LLM生成结果的匹配度以约束下一轮持续生成。
image.png
通过retrieve回来的信息来控制LLM生成的效果。

如何做RAG+LLM

image.png
RAG+LLM看起来似乎是比较工程化的事情,这里面还有什么可以讲究的吗?确实可以把RAG做的很工程化,但是RAG+LLM能够发挥出很好的作用,更多在于个模块的相互配合,所以个人是不太建议单纯把这件事当成是一件工程化的事,否则你很快会发现这东西感觉加个RAG并不能够起到多大作用。个人觉得RAG应该是一个控制模块,如何和LLM配合好才是重点。
上图总结了最近的一些论文在做的工作,主要是围绕三个方面:
1.RAG检索回什么,是chunk、token、信息的二阶标签还是内容的语义表示;这个其实代表的定义域空间的约束
2.检索如何控制LLM生成,是作为上下文、还是作为控制权柄对生成信息做过滤、还是把检索回来信息作为控制参数嵌入LLM控制生成
3.检索的触发时间是什么时候,LLM每生成一个词就检索一次、还是生成一段话再检索约束一次、还是检索一次一直约束到生成结尾

检索如何控制LLM生成

image.png
把检索回的信息作为上下文,通过prompt方式控制LLM生成
image.png
检索回的信息作为控制参数,嵌入LLM控制生成
image.png
检索回的信息对LLM生成后的内容做控制约束

什么时候利用检索

image.png
有做过Motion plan的同学应该会很清楚,学院派的motion plan是分层前后端两部分,每个部分又是为了生成轨迹的质量做了很多的约束才能保证生成的轨迹符合实际需要。一样的如果把内容生成看成是知识点轨迹生成过程,那么什么时候对轨迹生成施加控制这件事就会变的很重要。
是在轨迹规划前输入约束(对应motion plan静态障碍物地图),还是可以在轨迹生成过程中走了一段计算一次约束(对应motion plan没有地图需要实时建图),还是需要每生成一个轨迹生成下一个轨迹点时候就需要加入约束(对应环境、机器人不确定性大的场景)。
这部分必须要有具体的例子才好说明,所以这部分会放在下一篇文章介绍。会尝试从最近提出的RAG论文角度来通过例子方式呈现约束时机的差异。

小结:

本文通过广告营销点击率预估的建模为例子介绍了如何对实际业务问题建模,提出了LLM是在对什么建模的假设。1.LLM具备知识表示能力
2.LLM具备知识抽取、存储组织能力

**
这三个能力其实在LLM里面并非是可以剥离开来的,而是全部的混在LLM参数里面,也就是说LLM具备知识存储、知识整理、知识检索、联想、组织、表达的能力,并且是一体的全部存在它巨大的参数里面。
介绍完LLM是对什么过程建模,然后介绍了现在流行的pretrain、sft、rlhf实际上是在做什么的更数学概念化介绍。齐次方程的求解包括了3种:齐次方程组通解、特解、约束解;其实pretrain过程对应的就是齐次方程的通解、sft过程对应的就是齐次方程的特解、RLHF过程对应的就是齐次方程的约束解。
介绍完LLM的训练流程,又介绍了RAG,提出了RAG其实就是在对LLM可控性生成。介绍了RAG对可控性的几个影响点:
1.RAG检索回什么,是chunk、token、信息的二阶标签还是内容的语义表示;这个其实代表的定义域空间的约束
2.检索如何控制LLM生成,是作为上下文、还是作为控制权柄对生成信息做过滤、还是把检索回来信息作为控制参数嵌入LLM控制生成
3.检索的触发时间是什么时候,LLM每生成一个词就检索一次、还是生成一段话再检索约束一次、还是检索一次一直约束到生成结尾

相关文章:

LLM建模了什么,为什么需要RAG

LLM近期研究是井喷式产出,如此多的文章该处何处下手,他们到底又在介绍些什么、解决什么问题呢?“为学日增,为道日损”,我们该如何从如此多的论文中找到可以“损之又损以至于无”的更本质道或者说是这个方向的核心模型。…...

为开发GPT-5,OpenAI向微软寻求新融资

11月14日,金融时报消息,OpenAI正在向微软寻求新一轮融资,用于开发超级智能向AGI(通用人工智能)迈进,包括最新模型GPT-5。 最近,OpenAI召开了首届开发者大会,推出了GPT-4 Turbo、自定…...

创邻科技亮相ISWC 2023,国际舞台见证知识图谱领域研究突破

近日,第22届国际语义网大会 ISWC 2023 在雅典希腊召开,通过线上线下的形式,聚集了全球的顶级研究人员、从业人员和行业专家,讨论、发展和塑造语义网和知识图谱技术的未来。创邻科技CEO张晨博士作为知识图谱行业专家受邀参会&#…...

开源博客项目Blog .NET Core源码学习(6:雪花算法)

Blog .NET项目中有多种数据类生成对象实例时需要唯一标识,一般做法要么使用GUID,也可以保存到数据库时使用数据库表的自增长ID,也可以自定义规则以确保产生不重复的唯一标识,而在Blog .NET项目中使用雪花算法生成唯一标识。   关…...

【Python】集合与字典

按照输入顺序输出 将输入的名字去重,同时按照输入顺序输出 sinput().split(,) blist(set(s)) bsorted(b,keys.index) print(b) 删除集合元素、更新集合 根据操作删除更新集合 update括号里可以是一个集合,add只能是一个元素 discard用于删除元素&#x…...

【LeetCode】88. 合并两个有序数组

88. 合并两个有序数组 难度:简单 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 …...

Linux文件权限

R 代表可读 W 代表可写 X 代表可执行 文档类型有如下表示方法:   d - 目录,例如上表档名为『.gconf』的那一行; - - 文档,例如上表档名为『install.log』那一行; l - 链接档(link file); b …...

〖大前端 - 基础入门三大核心之JS篇㉟〗- JavaScript 的DOM简介

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…...

CentOS中安装常用环境

一、CentOS安装 redis ①:更新yum sudo yum update②:安装 EPEL 存储库 Redis 通常位于 EPEL 存储库中。运行以下命令安装 EPEL 存储库 sudo yum install epel-release③:安装 Redis sudo yum install redis④:启动 Redis 服…...

python时间变化与字符串替换技术及读JSON文件等实践笔记

1. 需求描述 根据预测出结果发出指令的秒级时间,使用时间戳,也就是设定时间(字符串)转为数字时间戳。时间计算转换过程中,出现单个整数(例如8点),按字符串格式补齐两位“08”。字符…...

leetcode刷题日记:141. Linked List Cycle(环形链表)

这一题是给我们一个链表让我们判断这是否是一个环形链表,我们知道如果一个链表中有环的话这一个链表是没有办法访问到尾的, 假若有如图所示的带环链表: 我们从图示中很容易看出来这一个链表在访问的时候会在里面转圈,我们再来看看…...

html书本翻页效果,浪漫表白日记本(附源码)

文章目录 1.设计来源1.1 书本正面1.2 界面1-21.3 界面3-41.4 界面5-61.5 界面7-81.6 界面9-101.7 界面11-121.8 书本结尾 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/1…...

【Mysql】学习笔记

目录 基本操作登录指令:启动、关闭、重启mysql指令(适用于centos7):查看mysql运行状态:删除和创建表 修改密码(ubuntu18.04可行,其余版本行不行不知道)3 使用MYSQL了解数据库和表 4 …...

工作记录-------java文件的JVM之旅(学习篇)---好理解

一个java文件,如何实现功能呢?需要去JVM这个地方。 java文件高高兴兴的来到JVM,想要开始JVM之旅,它确说:“现在的我还不能进去,需要做一次转换,生成class文件才行”。为什么这样呢?…...

城市内涝对策,万宾科技内涝积水监测仪使用效果

随着城市化进程的加速,城市道路积水问题明显越来越多,给人们的出行和生活带来更多的不便。内涝积水监测仪作为高科技产品能够实时监测道路积水情况,为城市排水系统的管理和维护提供重要的帮助。 在城市生命线的基础设施规划之中,地…...

android的通知使用

在 Android 中,通知(Notification)是一种在状态栏显示消息的方式,通常用于向用户展示应用程序的重要信息、事件或更新。以下是一个简单的示例,演示如何在 Android 应用程序中使用通知: import android.app…...

001 opencv addWeighted

目录 一、环境 二、addWeighted函数 三、代码演示 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、addWeighted函数 OpenCV中的cv.addWeighted函数是一个用于图像叠加的函数,它可以将两个具有相同尺寸和类型的图像按…...

2311rust,到35版本更新

1.32.0 rustup self update rustup update stablerustup更新自己. dbg宏 打印调试,你需要: let x 5; println!("{:?}", x); //甚至可能是 println!("{:#?}", x);在Rust1.32.0中,为此添加了个新的dbg!宏: fn main() {let x 5;dbg!(x); }如果运行此…...

UniPro提高集成能力 让客户专注于交付价值

一千个哈姆莱特就有一千个读者,一千个开发团队,也会有各不相同的软件工具和工作流程。工具与工具之间,功能上的割裂亦或重叠,都会给企业和团队的协作带来阻塞,结果就会导致团队之间各自为战、信息孤岛的形成以及资源的…...

Python---函数的作用,定义,使用步骤(调用步骤)

Python实际开发中,使用函数的目的只有一个 “让我们的代码可以被重复使用” 函数的作用有两个: ① 模块化编程 ② 代码重用 在编程领域,编程可以分为两大类:① 模块化编程 ② 面向对象编程 函数就是一个 被命名的、独立的…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...

【R语言编程——数据调用】

这里写自定义目录标题 可用库及数据集外部数据导入方法查看数据集信息 在R语言中,有多个库支持调用内置数据集或外部数据,包括studentdata等教学或示例数据集。以下是常见的库和方法: 可用库及数据集 openintro库 该库包含多个教学数据集&a…...

【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南

文章目录 📌 前言🧰 一、前期准备✅ 安装 Kali Linux✅ 获取支持监听模式的无线网卡 🛠 二、使用 Kali Linux 进行 WiFi 安全测试步骤 1:插入无线网卡并确认识别步骤 2:开启监听模式步骤 3:扫描附近的 WiFi…...

Linux实现线程同步的方式有哪些?

什么是线程同步? 想象一下超市收银台:如果所有顾客(线程)同时挤向同一个收银台(共享资源),场面会一片混乱。线程同步就是给顾客们发"排队号码牌",确保: 有序访…...

【Elasticsearch基础】Elasticsearch批量操作(Bulk API)深度解析与实践指南

目录 1 Bulk API概述 1.1 什么是批量操作 1.2 Bulk API的优势 2 Bulk API的工作原理 2.1 请求处理流程 2.2 底层机制 3 Bulk API的使用方法 3.1 基本请求格式 3.2 操作类型示例 3.3 响应格式 4 Bulk API的最佳实践 4.1 批量大小优化 4.2 错误处理策略 4.3 性能调…...