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

Soft thinking和MixtureofInputs——大模型隐空间推理——本周论文速读

本周再次碰到卧龙凤雏
有两篇工作都是在【穿decoding的鞋走reasoning的路】,方法也非常相似。这里也放到一起
文章1 是:Text Generation Beyond Discrete Token Sampling,他提出的方法名叫 MOI 后面就称文章1 为MOI
文章2 是: Soft Thinking: Unlocking the Reasoning Potential of
LLMs in Continuous Concept Space 后面称Softthinking

两篇文章用一句话总结

一个分四部分的长句🙄:

  1. Coconut 是直接用 last hidden state 作为输入 embedding,但这两个空间天然是不适配的,必须要调整;
  2. MOISoftthinking两个方法则使用的是同一个思路:用模型输出的 next-token distribution(也就是每个词对应的概率)作为权重,给对应词的原始 embedding 做加权平均,作为新的输入 embedding;
  3. 这个新的embedding,MOI 叫他 mixture of inputs,Softthinking叫他concept token;
  4. 这样做不需要额外训练,推理效果略好。

从我的角度看,这两篇文章都是套着latent space推理外衣的decoding方法。因为如果直接不用模型的last hidden,模型前面信息传递的时候积累的隐空间知识也被丢弃了。同时,这两篇文章的生产长度仅比实体COT少20%-30%,在效率上也不能算出众。

关键细节

两篇文章的关键区别在怎么加权

Soft thinking的加权法直白得令人发指

在这里插入图片描述
如上图:
step1: Transformer 最后一层的 hidden state–>经过一个 词汇表映射层(线性层 + softmax)得到 p ( x t ∣ x < t ) ∈ R 1 × V p(x_t|x_{<t}) \in \mathbb{R}^{1 \times V} p(xtx<t)R1×V, V V V是词表大小
Step 2: 选取 p p p向量中前 top-n 的值,并对它们重新归一化到 [0, 1] 之间,作为权重。
Step 3: 在词表的 embedding 中找到对应的 top-n 个词,分别乘以相应权重后求和,得到最终的加权 embedding。

MOI的加权法就比较复杂

而且原文图画的比较差
这个方法需要超参数 β \beta β
Step1: 同softthinking一样,先算next-token distribution p t p_t pt, 并采样出token y t y_t yt
** 这里 t t t就是第t个token的意思在下面的计算过程中并没有用,但为了和原文的符号保持一致,挂着了。
Step2:MOI的权重——计算要绕几个弯子:

  1. 计算归一化熵 H = − 1 log ⁡ V ∑ i p t , i log ⁡ p t , i H = -\frac{1}{\log V} \sum_i p_{t,i} \log p_{t,i} H=logV1ipt,ilogpt,i,这里是第t个token,词表中第i个词的
  2. 计算混合权重 w t , i = { H ⋅ p t , i + ( β + 1 − H ) β + 1 , if  i = y t H ⋅ p t , i β + 1 , otherwise w_{t,i} = \begin{cases} \frac{H \cdot p_{t,i} + (\beta + 1 - H)}{\beta + 1}, & \text{if } i = y_t \\ \frac{H \cdot p_{t,i}}{\beta + 1}, & \text{otherwise} \end{cases} wt,i={β+1Hpt,i+(β+1H),β+1Hpt,i,if i=ytotherwise
  3. 生成下一步的输入: h t = ∑ i = 1 V w t , i ⋅ E [ i ] h_t = \sum_{i=1}^V w_{t,i} \cdot E[i] ht=i=1Vwt,iE[i] E E E是词表embedding
核心区别
  1. Softthinking不需要再sample一个token出来,而MOI 需要
  2. Softthinking 是 “把概率最高的几个token的embedding按概率比例混合”;​​MOI “则是从采样到的token身上切下一部分概率,分给其他可能的token,按比例混合”

Soft thinking 的特别之处

前面讲RecurrentLLM的时候提到他一个比较有趣的停止循环的方法,就是比较两层hidden之间的KL散度,如果低于5e-4,就停止循环。 Softthinking其实仍然使用的是LLM体外循环,而非体内循环,但是他停止推理的思路是:

next-token distribution p p p的熵 H H H连续低于阈值 τ \tau τ 第n次的时候,停止生成 think

相当于是【再想也想不出别的来】的情况下,就停下。
而​​MOI 则是采样猜到<\think>的时候停止COT。

效果怎么样?

推理数据集上都有提升

下图是Softthinking的结果
在这里插入图片描述
总而言之就是【有提升,但不大】。注意上表的右侧,是生成长度的比较,我认为这两个方法是【披着reasoning的外衣的decoding】的原因就在这儿,这两个方法实际生成的token数较COT而言都没有显著下降。
下图是MOI 的实验结果:同样的,提升有但是不太显著。
在这里插入图片描述
比较有趣的是,这两个方法用的测试集虽然有重合,也都算了QwQ-32B在各个集上的结果,但结果不可比:

  • 两个paper用的是不同年份的AIME和LiveCodeBench;
  • 两个方法的基线实验的采样方法和结果采纳方法不一样(一次准确率和pass@1)
    跟上一对卧龙凤雏能拼出一个完整结果不同,这俩是完美错过。

实验分析中的亮点呢?

在这里插入图片描述
Softthinking为了理解这种合成表征到底保留了什么信息,选取了一个样本进行分析。从上图可以看到几个点:

  1. 确实在分句层面,模型存在着多路径选择的问题,这样的混合表征法也保留了两个的分叉;
  2. 大部分token的可选择空间并不多,而且在措辞上的可选对推理来说并不关键,比如最上面一行,是说 ‘To solve something’还是说’First calculate something’在功能上并没什么差异。这也是我认为这篇文章提出的方法提升有限的原因,他既没有涉及到“认知”相关的token,也没有像Coconut那样保留真的分叉路径。更像是穿了时髦衣服的decoding方法,而且也没有真的省下多少token,效率也没提升什么。

评价和感想

  1. 大家是不是适当的卷一下系统2到系统1的优化啊,自适应推理长度的上周看到几篇,这个thinking token方向上雷同方法又看到两篇。何必呢?我实际生产中仍然头疼的是我模型在需要直接输出结果的场景下,表现提升不上去。既然大家现在都开始卷推理长度了,是不是推理能力上都卷不上去了?卷不上去就回头看看实际生产中需要啥呀!
  2. Softthinking这个工作对Coconut的价值有严重误解,他在比较实验中,直接用last_hidden 作为下一个token的embedding输入,完全没有经过推理压缩训练就和自己的方法比较,这样完全没有意义,因为Coconut的价值就在于1-带着模型内部推理的中间状态继续进行推理;2-大大缩减推理需要的token数。 Softthinking在这两方面都没有更有价值的贡献,就不要拿起来一起比了好吧。
  3. 方法设计上​​MOI深谙【化简为繁】🙄之道,1是仍然保留了sampling这个做法,2是引入了一个很不好平衡的超参数 β \beta β。在理念上也存在瑕疵,从一个distribution上直接sample出的东西,能直接当做evidence吗?
http://www.xdnf.cn/news/9395.html

相关文章:

  • apk- 反编译apktools操作方法——请勿乱用-东方仙盟
  • Opigno LMS 3.2.7 安装操作记录
  • 32通道采集收发平台18G带宽直采
  • lcd-framebuffer驱动开发参考文章
  • 更新时间相差8个小时
  • Word 目录自动换行后错位与页码对齐问题解决教程
  • 某验4无感探针-js逆向
  • fabric 是一个开源框架,用于使用 AI 增强人类能力。它提供了一个模块化框架,用于使用一组可在任何地方使用的众包人工智能提示来解决特定问题
  • 仿真环境中机器人抓取与操作——感知与抓取
  • 通过实例来讲解MySQL锁机制
  • 智能的结构化觉醒:GraphRAG引领AI进入关系世界
  • JDK21深度解密 Day 6:ZGC与内存管理进化
  • Flink Table API 编程入门实践
  • 使用子查询在 SQL Server 中进行数据操作
  • 触觉智能RK3506星闪开发板规格书 型号IDO-EVB3506-V1
  • 如何在sublime text中批量为每一行开头或者结尾添加删除指定内容
  • 计算机系统结构-第4章-数据级并行
  • 五大要素协同效益的量化模型与实战策略
  • 企业宣传网站系统项目
  • Unity3D仿星露谷物语开发54之退出菜单及创建可执行文件
  • 视频监控联网系统GB28181协议中历史视音频的回放流程详解以及查询失败常见原因
  • Python PyMySQL
  • 为什么共现矩阵是高维稀疏的
  • 【笔记】解决ImportError: cannot import name ‘interp‘ from ‘scipy‘报错
  • Jenkins实践(7):Publish over SSH功能
  • 大模型的多显卡训练实现涉及分布式计算框架。实现方式附代码
  • 二叉树part03(二)
  • 计算机组成原理——指令格式
  • Silvaco TCAD 2020 Windows版本安装教程
  • 60、【OS】【Nuttx】编码规范解读(八)