第十五课 推理和代理(第十四课脑机接口没有学)

news/2025/3/17 14:45:12/文章来源:https://www.cnblogs.com/dingxingdi/p/18774430

image
image
那么LLM是否也可以进行推理呢?之前我们学过,LLM可以通过提示词或者few-shot,zero-shot-Cot等进行推理。下面介绍一个新方法:自我一致性(Self-Consistency)
image
下面来看一下效果
image
还有一种策略:将一个问题分解成多个小问题逐个解决
image
image
这种方法的泛化性甚至很好,也就是说我们举出的例子是两个推理步骤,模型可以不止推理两步,如下
image
但是这种方法的必要性也存在争议,如下
image
上面讨论的都是LLM,那么如果我们想要让LM进行推理,应该怎么做呢?
一个方法就是知识蒸馏,这就是Orca

  • Collect a wide variety of instructions from the FLAN-v2 collection
    FLAN-v2是一个混合数据集,包含了多种类型的数据,如下
    image
  • Prompt GPT4 or ChatGPT with these instructions along with a system message
    系统消息的目的是让LLM给出详细的推理过程,如下
    image
  • Finetune Llama-13b on outputs generated via ChatGPT + GPT4

之前都是小学数学题,现在我们换一种形式的推理问题,使用BigBench-hard.BigBench-hard涵盖了多种类型的推理任务,示例如下
image
image
image
来看下这种训练的效果如下
image

我们还有一种思路,就是语言模型基于自己生成的好答案进行微调,这个叫ReST(Reinforced Self-Training)
image
这个Improve阶段的重新训练就是把最开始的问题当做特征,模型自己的优质输出当做标签,重新放到模型里面,进行训练就好了

那么模型的推理是否可信呢?也就是说模型得到其答案到底是因为推理呢还是因为其他东西?我们做个实验来进行检查,让模型在数据集上进行回答,并且在若干步推理后直接中断模型的推理让其直接输出答案,去看答案是否与有推理的过程是一样的,结果如下
image
可以看到,在数据量比较大的时候,模型经过几步推理的答案都差不多,所以可能模型并不依靠其思维链。我们可以猜想,也许思维链是对模型答案的事后解释
我们还可以做另一个实验,在模型推理的某一步中对其当前的推理步骤进行干扰,然后再让其结束剩下的推理,如果答案都差不多就印证了我们的结论。结果如下
image
可以看到此时不一定了。但是也有数据集支撑我们的结论

那么模型在推理的时候,到底是记住了数据还是真的在进行推理呢?我们创建一个在数据集中不常见的数据即可(下面的图片把这种数据叫做反事实,其实叫做分布外更好),比如模型会做十进制加法,我们就创建一个九进制加法image
结果如下
image
可以发现在利用分布外数据的时候,性能显著下降,所以模型更多地是记住了数据
我们还可以利用字符串变换来构造分布外数据进行测试。下图中,上面的是分布内数据,下面的是分布外数据
image
甚至还可以直接修改字母表顺序
image
结果如下
image

接下来介绍代理(Agent)
首先要明白,环境,代理,动作和观察。如下
image
代理接收指令\(g\),对环境发出动作,并在环境中进行观察
环境的例子如下
image
代理的例子如下
image
image
image

在没有LM之前,Agent是怎么工作的呢?
第一种方法比较简单,利用类似机器翻译的过程,将自然语言映射到概率最大的形式语言上,如下
image
第二种方法比较复杂,从(指令,轨迹)对中推断可执行的、结构化的计划(推断过程也类似于机器翻译),并训练一个模型将指令转换为计划
image
第三种思路是直接强化学习
image
现在就是使用离线强化学习去做(视频00:38:49开始)
image

下面介绍几个评估Agent的环境
第一个是miniWob,就是评估Agent与浏览器的简单交互
image
第二个是更加接近现实的WebArena
image
第三个是WebLINX
image

那么如何训练Agent呢?标准方法就是人工标注数据集
image
显然有缺陷,因为与环境交互的方法太多了,人类不可能标注完
还有一种方法就是前面提到的让Agent利用自己的输出轨迹进行微调。具体步骤是:让我们要训练的Agent对环境作出一系列行为形成多个轨迹(比如让Agent在MiniWoB中进行随机的点击,滑动等,最后生成很多个轨迹);用另一个Agent将生成的轨迹转换成自然语言指令,如果能转换明白就将转换的指令记录下来
image
然后将转换的指令输入我们要训练的Agent,现在不再随机探索,而是让Agent生成与这个指令最匹配的操作序列,然后去看这个操作序列是否可以完成指令,如果可以直接将这一组数据加入微调数据中
那么如果Agent对某一条微调数据做错了怎么办?此时不要丢弃这个数据(因为成本很大),而是利用另一个Agent重新将训练Agent生成的轨迹进行标注(也就是将这个轨迹干的事正确标注),然后重新训练
总结如下
image

上面我们介绍只基于文本的Agent,但是由于HEML文本在现实中可能非常长,所以这种做法不一定OK,接下来介绍视觉模型,如下
image
还有一种方法如下
image

对今天的总结如下
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/900391.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java的基础之标识符

标识符的注意点:关键字:数据类型:

智能增长引擎:纷享销客ShareAI产品白皮书(2025版)正式发布!

作为中国SaaS CRM领域连续五年稳居增速市场第一的国产CRM领先品牌,纷享销客一直在探索AI+CRM领域的数字化变革。 2024年7月,纷享AI正式发布,开启智能CRM新纪元。同年,纷享销客《AI+CRM,赋能企业高质量增长橙皮书》重磅推出,首次站在全行业视角,阐述了AI+CRM的建设策略、…

phos 的 checkpoint

我们继续追踪 pos_cli --dump --dir /root/ckpt --pid [your program pid] 的checkpoint阶段 phos的checkpoint在handle_dump函数(pos/cli/src/dump.cpp)中实现 函数开始阶段定义各种变量和初始化我们先来看--pid 在识别到clio.action_type == kPOS_CliMeta_Pid后,我们来到规则…

数据库原理复习

自用数据库原理复习数据库复习 第一章 数据库发展史 1、数据管理技术的发展(特点) 人工管理阶段,文件系统阶段,数据库技术,文件系统的缺陷(数据冗余性,数据不一致性、数据联系弱) 2、数据库技术的产生 进入数据库阶段的标志是20世纪60年代末的三件大事 1968年IBM公司研…

碰撞检测

碰撞产生的必要条件是两个物体都有碰撞器(Collider),至少一个物体有刚体(rigidbody) 有了刚体才会模拟受到力的作用 Mass - 质量 默认为千克 Drag - 阻力 0表示没有阻力 Angular Drag - 扭矩阻力 阻碍旋转的阻力 0表示没有阻力 Is Kinematic - 如果启动此选项,则对象将不会被…

未通过针对firfox的验证,现已被禁用

相信大家很多都碰到过这种问题,我也是网上找了很多方法,都不是很好用,最后破罐子破摔结果就解决了怎么解决呢,直接更新好吧,直接更新最新版本更新完了之后你就会发现解决了,一切都解决了 当然这里只是给大家提供一种思路,虽然网上很多都是复制粘贴,但是特定情况下肯定也…

PCB不同层级的功能和作用

PCB不同层级的功能和作用 示意图:以AltiumDesign为例,各层用途Gerber文件和Altium Design PCB 层级对应关系嘉立创生成geber文件对应功能 生成后的Gerber文件是一个压缩包,解压后文件如下:文件名 类型 备注/说明Gerber_BoardOutline.GKO 边框文件 PCB板厂根据该文件进行切割…

nginx 简单实践:负载均衡【nginx 实践系列之四】

本文为 nginx 简单实践系列文章之三,主要简单实践了负载均衡,仅供参考。〇、前言 本文为 nginx 简单实践系列文章之三,主要简单实践了负载均衡,仅供参考。 关于 Nginx 基础,以及安装和配置详解,可以参考博主过往文章: https://www.cnblogs.com/hnzhengfy/p/Nginx.html …

EFcore 实现带UI的自定义日志记录提供程序

基于 EFcore 实现了一个 .net core 日志记录程序,支持使用 .net 原生的日志框架 Microsoft.Extensions.Logging 将应用程序日志写入关系型数据库,目前支持三种关系型数据库(MS SQL Server、MySQL、PostgreSQL)。日志查看面板 UI 使用 vue3 开发,以嵌入的方式集成到程序集中…

ASE50N30-ASEMI智能家居专用ASE50N30

ASE50N30-ASEMI智能家居专用ASE50N30编辑:ll ASE50N30-ASEMI智能家居专用ASE50N30 型号:ASE50N30 品牌:ASEMI 封装:TO-247 批号:最新 最大漏源电流:50A 漏源击穿电压:300V RDS(ON)Max:68mΩ 引脚数量:3 沟道类型:N沟道MOS管、中低压MOS管 漏电流:ua 特性:N沟道MO…

wr30u 救砖

变砖了 给 wr30u 刷成了 at3000 的uboot,进而导致我的wr30u路由器成了转,进不去uboot了! 准备硬件 usb转串口设备 购买 usb转串口(ttl)设备,在淘宝随便买就行 没啥差别,几块钱一个:目前流行ch340系列的,推荐 ch340g 即可, 功能更强大也贵杜邦线 一般 你在购买 usb转串口…