大模型对任务型对话的作用

news2024/12/24 9:57:17

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

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

论文:

  • 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等场景,大模型具有很高的利用价值。

流程任务架构

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

图片

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

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

图片

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

  • 首先,会编码一批训练数据,这些数据是用于进行few-shot的样本。
  • 意图/领域识别,并根据识别结果构造原始的prompt。
  • 用大模型推理出对话状态,并检索出数据库信息和另外的prompt。
  • 利用大模型再做出最终的回复话术。

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

方案细节

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

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

图片

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

图片

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

图片

实验解析和分析

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

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

  • 不同的模型对领域识别的效果差异是比较大的,这块有调整和选择的空间。
  • 有时候我们会以我们的理解为模型提供一些额外的信息,但不一定每次加入额外信息都会带来提升,还可能会带来伤害。

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

  • 有监督模型的效果比大模型要好不少。
  • 哪怕使用了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个方案都对数据有很强的依赖性,大模型已经则极大地解决了这个问题。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习入门(三):一些需要多加复习的知识

正负样本 在机器学习和特别是在分类任务中,正样本和负样本是相对于某一分类目标而言的,通常在二分类问题(yes or no)中,分类后想要的类别就是正样本,其他均为负样本!!! …

Java学习笔记(十八):实现多线程、线程同步、阻塞队列基本使用、线程池、多线程综合练习、原子性、并发工具类

目录 一、实现多线程 1.1简单了解多线程【理解】 1.2并发和并行【理解】 1.3进程和线程【理解】 1.4实现多线程方式一:继承Thread类【应用】 1.5实现多线程方式二:实现Runnable接口【应用】 1.6实现多线程方式三: 实现Callable接口【应用】 1.7设…

选择一家正规的指挥中心控制台厂家有多重要?

在当今信息化高速发展的时代,指挥中心作为各类应急响应、调度管理、监控预警的核心枢纽,其高效运行与决策能力直接关系到社会安全、城市管理乃至国家战略的顺利实施。而指挥中心控制台作为这一体系中的关键基础设施,其设计、制造与安装显得尤…

成都跃享未来教育咨询抖音小店成为领域的新锐力量

在数字化浪潮席卷全球的今天,教育行业也迎来了前所未有的变革与机遇。成都,这座历史悠久而又充满活力的城市,正以其独特的魅力和创新的精神,孕育着教育咨询行业的新篇章。其中,成都跃享未来教育咨询凭借其敏锐的洞察力…

密码学基础 -- RSA加密、签名填充模式解析(终极图解版)

目录 1. OAEP 1.1 加密过程 1.2 解密过程 2 PSS 2.1 签名流程 2.2 验签流程 3.小结 1. OAEP 填充模式OAEP(Optimal Asymmetric Encryption Padding),仅用于加解密。 1.1 加密过程 使用该填充模式进行加密总共分为三大步骤: (1&…

21世纪中国思想家姓名学大师颜廷利:世界最具影响力的华人之一

21世纪中国思想家姓名学大师颜廷利:世界最具影响力的华人之一 在2024年的世界姓名学界,颜廷利教授无疑是一颗耀眼的星星。他的名字频繁出现在各大排行榜上,被誉为网上最靠谱的改名大师之一。这位来自山东济南的文化名人,凭借其深…

TVS管(瞬态电压抑制二极管)的了解

TVS即Transient Volatge Suppressor,中文名称:瞬态电压抑制二极管,又称雪崩击穿二极管。但在通常情况下,我们称之为TVS二极管。其在电路中的作用主要是保护敏感电路,免受高电压瞬变损坏的组件。其中,大部分…

【python】Django运行报错分析:ImproperlyConfigured 错误解决办法

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

docker安装及使用

一、docker优点及作用 优点: 基础镜像MB级别创建简单隔离性强启动速度秒级移植与分享放便 作用:资源隔离 cpu、memory资源隔离与限制访问设备隔离与限制网络隔离与限制用户、用户组隔离限制 二、docker安装 2.1.配置yum源 yum install -y yum-uti…

sheng的学习笔记-AI-k近邻学习(kNN)

AI目录:sheng的学习笔记-AI目录-CSDN博客 什么是k近邻学习 k近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,是一种基本的分类与回归方法。 分类问题:对新的样本,根据其 k 个…

aiOla推出超快 “多头 “语音识别模型,击败OpenAI Whisper

今天,以色列人工智能初创公司 aiOla 宣布推出一种新的开源语音识别模型,其速度比 OpenAI 著名的 Whisper 快 50%。 该模型被正式命名为 Whisper-Medusa,它建立在 Whisper 的基础上,但使用了一种新颖的 "多头关注 "架构…

为什么企业越来越看重懂管理的网络安全人才?

说实话,要是几年前有人跟我说网安人才还得懂管理,我可能会嗤之以鼻。网安不就是搞技术的吗?整天跟漏洞、防火墙、IDS打交道,为啥又扯到管理了? 但是仔细一想,好像时代确实变了。 由于现在的就业局势紧迫&a…

通过高德JS API 实现呼吸点

效果图: 核心代码: <script lang="ts" setup>import { onMounted, onUnmounted, ref } from vue;import AMapLoader from @amap/amap-jsapi-loader;import redImage from @/assets/images/red.png;import orangeImage from @/assets/images/orange.png;impo…

免费的剪辑软件稍微变味了!洞见满分作文:立秋,沉淀自己——早读(逆天打工人爬取热门微信文章解读)

8U&#xff1a;钓鱼调到这玩意怎么办呢&#xff1f; 引言Python 代码第一篇 洞见 立秋&#xff0c;沉淀自己第二篇 免费的剪辑软件稍微变味了结尾 引言 昨天文章的数据一般 还望觉得有用的多点点赞哈 我是觉得 既然我们有理想 那么就应该多聚集有共同理想的人&#xff01; 有主…

数据库表水平分割和垂直分割?

0.数据库表的水平分割和垂直分割是两种常见的数据库优化技术&#xff0c;‌它们分别针对不同的场景和需求进行数据表的拆分。‌ 1. 水平分割&#xff08;‌Horizontal Splitting&#xff09;‌主要是按照记录进行分割&#xff0c;‌即不同的记录被分开保存在不同的表中&#x…

Python面向对象编程之多重继承和MRO深入解析

概要 Python是一种面向对象的编程语言,其类继承机制为开发者提供了强大的工具来构建复杂的系统。多重继承允许一个类从多个基类继承属性和方法,而方法解析顺序(MRO)决定了在多重继承情况下方法的调用顺序。本文将详细介绍Python中的多重继承和方法解析顺序,涵盖基本概念、…

[MRCTF2020]Ezpop

[MRCTF2020]Ezpop 题目是pop&#xff0c;考的其实就是pop链&#xff0c;可以自己先学学&#xff0c;啥也不会QAQ php反序列化之pop链_pop3.phpwelcome-CSDN博客 POP 面向属性编程(Property-Oriented Programing) 常用于上层语言构造特定调用链的方法&#xff0c;与二进制利用…

sql注入复现(1-14关)

目录 第一关&#xff08;字符型注入&#xff09; 第二关&#xff08;数字型注入&#xff09; 第三关&#xff08;闭合方式不同&#xff09; 第四关&#xff08;用双引号闭合&#xff09; 第五关&#xff08;不会数据回显&#xff09; 第六关&#xff08;闭合方式不同双引…

Mac角色扮演游戏:仙剑奇侠传四 for Mac v1.1 中文移植版

仙剑奇侠传四游戏的背景设定在十九年前&#xff0c;琼华派利用望舒和羲和双剑网缚妖界&#xff0c;引发人妖大战。游戏的主角是云天河&#xff0c;他在青鸾峰长大&#xff0c;与韩菱纱、柳梦璃和慕容紫英一起踏上了寻仙之路。在这个过程中&#xff0c;他们遇到了各种挑战&#…

事件驱动架构-七巧低代码入门01

事件驱动架构&#xff08;Event-Driven Architecture&#xff0c; EDA&#xff09;是一种软件架构模式&#xff0c;它强调系统内各个组件之间通过事件或消息进行通信和协作。在事件驱动架构中&#xff0c;系统的各个部分&#xff08;服务、组件等&#xff09;不直接调用彼此的方…