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

前沿重器[37] | 大模型对任务型对话的作用研究

前沿重器

栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经是20年的事了!)

2023年文章合集发布了!在这里:又添十万字-CS的陋室2023年文章合集来袭

往期回顾

  • 前沿重器[32] | 域外意图检测——解决“没见过”的问题

  • 前沿重器[33] | 试了试简单的prompt

  • 前沿重器[34] | Prompt设计——LLMs落地的版本答案

  • 前沿重器[35] | 提示工程和提示构造技巧

  • 前沿重器[36] | ACL23-基于检索的大语言模型-报告阅读

大模型的多轮,我们一般想到的方案都是比较大胆地把历史记录都交给大模型让大模型来做生成,这个在比较自由、开放的聊天中,肯定是有效的,但是在实际场景中,我们往往希望模型能够在一定程度控制对话的流程,我是在找类似的文章的。

这篇文章应该是我最近找的比较贴切的一篇了,所以做了精读,任务型对话是各种多轮对话里最要求主动控制对话流程的一类,因此这篇文章里面的研究应该对我想研究的部分应该也有不少用的。

论文:

  • Are Large Language Models All You Need for Task-Oriented Dialogue?

  • https://arxiv.org/abs/2304.06556

懒人目录:

  • 关键贡献。

  • 流程任务架构。

  • 方案细节。

  • 实验解析和分析

  • 文章结论。

  • 个人思考。

关键贡献

文章验证了大模型在任务型对话中多个模块中起到的作用,主要有如下结果:

  • 建立了一套基于大模型的任务型对话pipline。

  • 大模型在状态跟踪(DST,dialogue state tracking)上的效果并不好。

  • 但给定对话状态,大模型的生成却具有更好的效果。

  • 在few-shot、zero-shot等场景,大模型具有很高的利用价值。

流程任务架构

首先先来看看作者设计的整个流程架构:

e7315a3804a0a1856af7cc75a11ac5ed.png

在这个架构中,模块分成了4个,分别是上下文表征、prompt构造、大模型对话状态跟踪、大模型生成这4个模块,而对于任务型对话,比较关键的应该是对话状态跟踪和生成这两个模块,即解决“目前聊到什么程度”和“应该说什么”的问题,相比单轮的对话,多轮更多就是考虑这两个问题了。

另外值得注意的是,作者重点强调了,此处是不做模型微调的,因为要考验的是模型的开箱即用能力。事实也确实需要如此,在很多场景下,我们没有条件去微调模型,无论是数据、机器还是别的问题,因此我自己也挺认可作者在这块的尝试,需要分析清楚,大模型在什么方面的能力较强,适合做什么任务,了解其边界。

0d0667c65253c85dabac1636979ccb6d.png

此后,作者又给出了更为详细的流程:

  • 首先,会编码一批训练数据,这些数据是用于进行few-shot的样本。

  • 意图/领域识别,并根据识别结果构造原始的prompt。

  • 用大模型推理出对话状态,并检索出数据库信息和另外的prompt。

  • 利用大模型再做出最终的回复话术。

有了整个架构,我们能很轻松地对论文提出的大体框架有一个了解,剩下就是每一部分的具体细节了。

方案细节

在整个流程中,其实有3次大模型的调用,即领域意图识别、对话状态跟踪以及回复话术生成3个部分,因为模型是不能微调的,所以整个流程里,我们能做的只有构造出良好的prompt来引导模型输出更好的结果,而为了更好地体现大模型的泛用性,所以在prompt构造时,也只是用简单快速的结果。

在任务型对话中,首先是需要进行query理解的,在这里作者叫做“领域识别”,领域识别是为了识别目前用户所说的话是什么状态的,只有识别出来领域,才能明确目前的对话状态以及下一步可以采取的对话策略。而做“领域识别”的方法,是通过构造合适的prompt,来让模型来了解具体的领域,这里作者在附录里给出了一个例子,我们重点关注的是,作者使用了哪些特征和例子,以及提示的话术技巧。

cc06a928e25544119d0806ea945f1183.png

然后是对话状态跟踪,结合领域识别的结果,总结出目前的对话状态,为后续的文本生成服务,这里也提供一个例子,里面会包含任务定义、领域描述、对话历史和用户画像等信息,最终返回的是需要更新的对话状态部分。

da187d5027c880f34fafc4c2e4d309a3.png

至于最后的结果生成,则是结合前面的内容,去生成返回给用户的回复,值得注意的是,待生成的内容并不是完整的,而是会在一些位置挖槽或者占位符的模板,然后用额外的信息进行填补,直接看例子吧,关注绿色那块。

7efad7e9b6ecae2ad137266d34c0d300.png

实验解析和分析

实验的设置里,多半是讲了使用的大模型以及数据集,还有评价指标(这里有自动化指标也有人工评价指标),这里就不赘述了,更多是结论和规律的挖掘。

首先是在领域识别这一块,主要有如下结论:

  • 不同的模型对领域识别的效果差异是比较大的,这块有调整和选择的空间。

  • 有时候我们会以我们的理解为模型提供一些额外的信息,但不一定每次加入额外信息都会带来提升,还可能会带来伤害。

然后是对话状态跟踪的部分,此处作者使用了有监督模型和大模型的预测进行对比。

  • 有监督模型的效果比大模型要好不少。

  • 哪怕使用了few-shot之类的in context learning的方式,仍旧有比较大的差距。

  • chatgpt的效果比别的大模型有比较大的优势。

而从整个对话的角度来看,看对话成功的指标,有如下结论:

  • 有监督模型仍然具有较大优势。

  • 添加few-shot,会有一定收益,但是这个数量好像对结果影响不大。

  • 增加对话轮数的输入,对结果的收益明显。

文章结论

首先来看看作者对LLM在任务型对话实验中的一些结论吧:

  • 状态跟踪模块,大模型的表现并不好,需要依赖更多的调整以及更强的结果解析,才能够优化。

  • 而在足够好的状态跟踪下,大模型在最终的结果生成下,能表现得很好,即使没做微调。

  • 如果能用到更强的大模型,该效果的上限会有明显提升。

个人思考

文章的这些实验其实给了不少的启示,虽然只是局限的任务型,但是现在很多多轮对话场景,其实都是任务型的复杂版罢了,毕竟很多时候是要对对话策略和流程进行理解和控制的,这些启示也能为实际使用提供宝贵的经验参考,我的想法是下面5点。

第一在系统方案设计上,首先思考的是,在系统层面,我们并不需要拘束大模型的调用次数,实际上是可以调用多次的,让他分步逐步完成一系列任务,例如本文的设计就让模型调用了3次,每次之间我们可以通过调用数据库之类的手段灵活操控后续的步骤,通过逐步引导,最终能够让大模型完成任务。

第二是对任务方案的选型,即每个步骤中的方案选择中,我们一定程度明确了大模型的优势和劣势。在缺少微调的条件下,few-shot和zero-shot配合prompt下,大模型对于一些偏传统NLP的任务,例如分类等,能有一个还行的效果,相比需要训练的小模型,在此场景下,大模型有一定的优势。然而尽管如此,但是如果能足够的数据微调,小模型还是能更容易有更好的结果。

第三,还是大模型的优势,主要是生成,即最终返回给用户的response部分,因此在系统中,我们可以比较放心地把生成的任务交给他,前提是,prompt中要有足够明确的引导,在提供足够的信息支撑下,模型基本都能够给出适合场景、信息完善的回复,这方面是值得信任的。

第四是强调,prompt的重要性,正如文章所言。作者在文中有强调两个点,模型不微调以及prompt的精调是可能存在收益的,只是在实验过程出于严谨和泛用性而没有做,侧面其实就强调了这块的调优空间是非常大的,我们在日常的工作中可以提供比较多的精力在这块,有一定的性价比。至于prompt的调优技巧,和日常模型学习类似,还是看论文和看案例,看看大家经常提到的方案和技巧,需要具有什么信息等。

第五是基于一二三这三点导出的,即一个多轮对话系统可能的一个理想形态,大模型可能是一个关键模块,但并不唯一,更多的可能可以考虑把他放在最后一步,即回复生成这方面,而上游的query理解、对话策略,可能用早先已有的一些方案,例如分类模型、数据库与规则等,可以有效对句子进行解析和理解,并且对对话策略实现了有效控制。不要把大模型仅用在最后一步当做是很low的事,其实这一步也是非常关键的,因为早先的多轮对话,一直会苦恼于最终文本怎么生成,一般的方案就只是人工编辑、历史对话挖掘和有监督的文本生成,这3个方案都对数据有很强的依赖性,大模型已经则极大地解决了这个问题。

6404b49ac74071254823683c0bb37cfd.png

相关文章:

前沿重器[37] | 大模型对任务型对话的作用研究

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…...

第三章:boundary-value analysis

文章目录 Boundary-value Analysiscomputational faults 计算错误boundary shift 边界偏移boundary value analysis 的优势Path condition, domain, and domain boundary (路径条件、域和域边界)Open and closed boundaries (闭合边界 / 开放边界)on / off pointGuidelinestr…...

Python模块psutil:系统进程管理与Selenium效率提升的完美结合

前言 在前面编写一个Selenium的自动化程序时候,发现一个问题。 因笔记本配置较为差,所以每次初始化Selenium的WebDriver都会非常慢,整个等待过程是不友好的。 所以我就想到: 在程序中初始化一个全局的WebDriver对象&#xff0c…...

glibc 里的线程 id

这里讲的是通过 pthread_create() 函数返回的线程 id,其实就是 glibc 库里维护的线程id,它跟内核维护的线程 id 不一样,pthread_create() 返回的线程 id 并不一定是唯一的。我们看 pthread_create 函数的源码,它最后返回的线程 id…...

nacos的部署与配置中心

文章目录 一、nacos部署安装的方式单机模式:集群模式:多集群模式: 二、安装的步骤1、预备环境准备2、载安装包以及安装2.1、Nacos有以下两种安装方式:2.2、更换数据源数据源切换为MySQL 2.3、开启控制台授权登录(可选) 3、配置中心的使用3.1、创建配置信…...

undefined 与 undeclared 的区别?

在 JavaScript 中,undefined 和 undeclared 是两个不同的概念,表示不同的情况: 1:undefined: undefined 是一个特殊的值,表示一个变量已经被声明,但尚未被赋予一个值。当一个变量被声明但未进…...

Leetcode周赛370补题(3 / 3)

目录 1、找到冠军 Ⅰ- 暴力 2、找到冠军 Ⅱ - 寻找入度为0的点 3、在树上执行操作以后得到的最大分数 - dfs树 逆向思考 1、找到冠军 Ⅰ- 暴力 100115. 找到冠军 I class Solution {public int findChampion(int[][] g) {int ng.length;for(int i0;i<n;i){int cnt0;for…...

PyTorch深度学习实战——图像着色

PyTorch深度学习实战——图像着色 0. 前言1. 模型与数据集分析1.1 数据集介绍1.2 模型策略 2. 实现图像着色相关链接 0. 前言 图像着色指的是将黑白或灰度图像转换为彩色图像的过程&#xff0c;传统的图像处理技术通常基于直方图匹配和颜色传递的方法或基于用户交互的方法等完…...

InfiniBand 的前世今生

今年&#xff0c;以 ChatGPT 为代表的 AI 大模型强势崛起&#xff0c;而 ChatGPT 所使用的网络&#xff0c;正是 InfiniBand&#xff0c;这也让 InfiniBand 大火了起来。那么&#xff0c;到底什么是 InfiniBand 呢&#xff1f;下面&#xff0c;我们就来带你深入了解 InfiniBand…...

分享一下微信小程序里怎么添加社区团购功能

随着互联网的快速发展&#xff0c;线上购物已经成为我们日常生活的一部分。而在这个数字化时代&#xff0c;微信小程序作为一种便捷的电商渠道&#xff0c;正逐渐成为新的趋势。其中&#xff0c;社区团购功能更是受到广大用户的热烈欢迎。本文将探讨如何在微信小程序中添加社区…...

软考高项-IT部分

信息化体系 信息化技术应用:龙头 信息资源:核心任务 信息网络:应用基础 信息技术和产业:建设基础 信息化人才:成功之本 信息化法规:保障 信息化趋势 产业信息化、产品信息化、社会生活信息化、国民经济信息化 新型基础设施建设 2018年召开的中央经济工作会议,首…...

hugetlb核心组件

1 概述 hugetlb机制是一种使用大页的方法&#xff0c;与THP(transparent huge page)是两种完全不同的机制&#xff0c;它需要&#xff1a; 管理员通过系统接口reserve一定量的大页&#xff0c;用户通过hugetlbfs申请使用大页&#xff0c; 核心组件如下图&#xff1a; 围绕着…...

vscode配置环境变量

首先点击下面这个链接。 sMinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net 然后选择Files这个选项 向下移选择下载这个文件 解压完成之后&#xff0c;找到这个文件的bin目录复制路径后&#xff0c;添加到环境变量中 依次点击后打开cmd&#xff0…...

react:封装组件

封装 /components/Pagination.tsx import React from react import { Pagination } from antdconst PaginationWarp ({ total, paramsInfo, setParamsInfo }) > {return (<Paginationtotal{total}current{paramsInfo.page}showSizeChangershowQuickJumperdefaultPageSi…...

基于深度学习的视频多目标跟踪实现 计算机竞赛

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的视频多目标跟踪实现 …...

linux中各种最新网卡2.5G网卡驱动,不同型号的网卡需要不同的驱动,整合各种网卡驱动,包括有线网卡、无线网卡、Wi-Fi热点

linux中各种最新网卡2.5G网卡驱动&#xff0c;不同型号的网卡需要不同的驱动&#xff0c;整合各种网卡驱动&#xff0c;包括有线网卡、无线网卡、自动安装Wi-Fi热点。 最近在做路由器二次开发&#xff0c;现在市面上卖的新设备&#xff0c;大多数都采用了2.5G网卡&#xff0c;…...

asp.net上传文件

第一种方法 前端&#xff1a; <div> 单文件上传 <form enctype"multipart/form-data" method"post" action"upload.aspx"> <input type"file" name"files" /> …...

JavaEE平台技术——预备知识(Web、Sevlet、Tomcat)

JavaEE平台技术——预备知识&#xff08;Web、Sevlet、Tomcat&#xff09; 1. Web基础知识2. Servlet3. Tomcat并发原理 1. Web基础知识 &#x1f192;&#x1f192;上个CSDN我们讲的是JavaEE的这个渊源&#xff0c;实际上讲了两个小时的历史课&#xff0c;给大家梳理了一下&a…...

基础课23——设计客服机器人

根据调查数据显示&#xff0c;使用纯机器人完全替代客服的情况并不常见&#xff0c;人机结合模式的使用更为普遍。在这两种模式中&#xff0c;不满意用户的占比都非常低&#xff0c;不到1%。然而&#xff0c;在满意用户方面&#xff0c;人机结合模式的用户满意度明显高于其他模…...

mybatis在springboot当中的使用

1.当使用Mybatis实现数据访问时&#xff0c;主要&#xff1a; - 编写数据访问的抽象方法 - 配置抽象方法对应的SQL语句 关于抽象方法&#xff1a; - 必须定义在某个接口中&#xff0c;这样的接口通常使用Mapper作为名称的后缀&#xff0c;例如AdminMapper - Mybatis框架底…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

ThreadLocal 源码

ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物&#xff0c;因为每个访问一个线程局部变量的线程&#xff08;通过其 get 或 set 方法&#xff09;都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段&#xff0c;这些类希望将…...