当前位置: 首页 > 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框架底…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...