我在京东做研发 | 从好玩到好用,爆火ChatGPT前沿分享
| 嘉宾:吴友政,京东集团高级总监、京东科技语音语言算法部负责人。
2006年中科院自博士毕业后,先后在日本国立信息通信研究机构、英国爱丁堡大学、索尼中国研究院从事自然语言处理相关研究工作,主要聚焦自然语言处理、人机对话、语音识别、机器翻译等前沿技术研究和产品研发,取得了诸多技术突破,累计发表顶级国际会议和期刊论文30余篇,斩获得语音识别(IWSLT2012、IWSLT2013)和自然语言处理(QuAC2021,DROP2022,Multiwoz2022)领域多项国际比赛的冠军。
在京东,他与团队密切合作打造了言犀人工智能应用平台,为客户提供涵盖客户服务、营销导购、流程自动化的整体智能化解决方案,为京东超5.8亿用户提供智能服务,也为零售、政务、金融、交通等行业提供产品与解决方案,京东集团最高奖【技术金牛奖】获得者。
Q1:对话式AI技术是什么?
吴友政:人机对话系统是通过对话式AI的技术,去解决大众用户和计算机之间的交流障碍问题。我们可以从这4个维度对对话系统进行一些分类,比如说从交互方式的维度,我们的对话系统可以是基于自然语言的交互方式,也可以是基于命令行的交互方式,当然在手机上我们也可以通过触摸屏的方式实现和我们的手机之间的自然的交互。
如果从交互模态上进行分类的话,我们的交互可以是基于文本的,也可以是基于语音的。
当然多模态的交互方式也是非常重要的一种交互方式。如果从交互设备上来看的话,我们和机器之间的交互可以是在电脑上进行,也可以从手机上进行,但是车载的对话系统也是非常重要的交互方式,还包括我们在一些 AR VR的设备上,通过对话的方式实现和设备之间的对话交互。从交互的主动性来看的话,可以是系统主导对话,当然也可以是用户主导的对话,甚至是系统和用户之间轮流主导的对话。
其实对话技术的发展历史是比较久的,从1966年第一个人机对话系统ELIZA发布至今,对话技术已经经历了接近六七十年的发展历程,ELIZA是MIT人工智能实验室在1966年发布的关于心理咨询方面的人机对话系统,后面每一段时间都会推出一些有代表性的推动对话技术发展的数据集,包括1990年的atis这个数据集,后面还有 multiwoz的数据集,这些数据集的发布都大大的推动了对话技术的发展。
从应用层面我们也看到了很多里程碑式的对话系统,像2011年IBM的Watson对话系统,在益智类的比赛中击败了人类,获得了冠军,后面还包括像苹果的Siri的对话系统,以及像亚马逊的echo的音响助手,以及我们在今年的11月份看到了Open AI发布的ChatGPT这一系列的数据集的提出,方法的提出以及应用的发布,我们都可以看到对话技术整个在发展过程中非常大的一些进步。
Q2: ChatGPT****能做什么?
吴友政:22年11月份OpenAI发布的Chat GPT对话的系统,结果非常让人的惊艳,在人工智能的技术领域和产业领域都受到了广泛的关注,最重要的原因就是通过一个模型或者是通过一个系统可以实现非常多的NLP的相关的任务。
像这里展示的,我们可以将一句话解析成一个SQL的查询语言,也可以让其他ChatGPT去撰写一篇文章,比如说这里我给的一些指令是说可以在acl上发表的关于自然语言生成方面的学术论文,它就生成了包括标题、摘要、介绍、方法、结果、结论这一整篇的结果。
ChatGPT背后的技术原理OPenAI还没有发布,但是InstructGPT是ChatGPT一个基础的模型。因此InstructGPT实际上是把很多的NLP任务都看成了一个语言模型,然后通过增强语言模型的能力去实现多个NLP的任务。增强语言模型有很多方式,包括像改变语言模型结构,在这里面ChatGPT或者是InstructGPT采用的是一个解码器的模型结构。
但在这里ChatGPT或者说InstructGPT所采用的方式是从模型生成的,大量的结果中让人工去做两两比较哪个结果会更优,然后通过这种数据去学习模型,最后实现在新的无标注数据上强化学习,让模型进一步得到优化。InstructGPT大致可以分成这三个阶段——
第一个是预训练的阶段, ChatGPT整体应该是基于GPT-3实现的。
第二个阶段是fin-tuning的阶段,就是我们说的京条是基于一定数量的标注数据,这里面最左边展示的步骤1,其实就是我们如何构建京条的数据集,以及基于京条的数据集如何去调优或者是京条我们的模型。
第三个阶段是通过两两比较的数据,我们可以去训练一个奖励模型叫reward model。在第三步我们通过reward model,让模型在一些新的数据上,而且是无标注的数据上进行自我迭代,通过这三步来组成最后的训练模型。
ChatGPT可以完成哪些任务 ?
最左边的表格其实列出了ChatGPT可以完成的任务,包括我们生成的任务、开放域的问答,还包括像聊天、摘要、分类、信息抽取等十大类的任务。
但实际上在每一个大类里,其实又分很多细分的小类。比如说在生成的任务里面,其实可以写一封邮件、一封推荐信,包括生成歌词,也可以生成一些关于产品的营销文案。
简单总结ChatGPT的一些特点,第一个其实ChatGPT所带来的技术突破,我相信大家都是认可的,但ChatGPT并不是短期之内研发出来的,实际上是OpenAI近些年一系列工作的集大成者,而且ChatGPT是基于非常强大的预训练语言模型,GPT-3.5的基础上做出来的。
另外,ChatGPT是通过语言模型的方式解决众多的自然语言处理中的语言理解和生成任务,其实也让我们看到了通用人工智能的可行性。
第三个方面其实是我们可以看到通过增加模型参数,就是我们让模型变得越来越大,其实是可以提高语言模型输出的流畅度的。但如果是希望在这个模型输出的有用的方面或者是忠实度,甚至是可信度方面要有进一步的提高,简单的去提高模型参数的大小,实际上并没有显著的提升。我们还需要有一些新的策略去进一步的提升模型在这三个方面的表现。
ChatGPT提出的方案就是通过预训练京条以及基于用户反馈的强化学习,去进一步提升模型在流畅度之外的像在有用性真实性以及我们的可信性方面的一些性能,但这一种新的预训练加微调加基于用户反馈的强化学习,有可能成为新的AI的模型的方式,但我们另一方面也看到了,其实ChatGPT 中的很多技术也是借鉴了其他领域的一些相关的技术,比如说借鉴了搜索推荐领域里面的基于用户反馈的模型的迭代,其实在推荐和搜索领域及用户实时反馈的模型训练,其实引用得非常成熟了。
刚才说的Reward model实际上是借鉴了搜索里面的Learning to Ranking的一些思想,另外ChatGPT也可以看成是一个多任务学习的模型,但同时我们也可以看到ChatGPT在一些公开的NLP的数据集上,至少在Zero-shot还有Few-sho是这种设定下面,它的性能还有待进一步的提升。但非常重要的就是ChatGPT如何应用到实际业务系统中,对真实的业务系统或者是产品有帮助,这里面还有非常多的关键的技术问题需要进一步的研究。
Q3:业内还有哪些令人惊艳的对话系统?
吴友政:去年11月Meta发布了新的对话系统叫Cicero。
Cicero不仅具备像ChatGPT或者是GPT Siri这样的语言组织能力,还需要像AlphaGo这样的战略推理能力。因为Cicero所参与的游戏是一个需要策略推理的游戏,在这个游戏中,我们的机器人需要通过结盟、谈判、说服甚至威胁的方式达成自己的目标。
此外,从19年微软的 DialoGPT是8亿的参数,到今年的ChatGPT,一共有1,500亿整个参数量,但是大家的模型的结构其实没有特别大的差别,大部分采用的还是单纯的解码器模型结构。
Q4: ChatGPT****能直接应用到产品中去吗?
吴友政:我们刚才说到了 ChatGPT,像cicero还有一些其他的对话大模型,这些模型是不是可以直接应用到我们的产品,我觉得是接下来需要大家去研究的问题。
我们在这里也给出了一些数据,最左边的红色数字是现在的模型,甚至是一些比较小的模型,取得一些Sota的结果,有的达到了93%的准确率,但是我们在zero-shot和Few-shot上所取得的效果,离当前的Sota还有比较大的差距。
Q5:在对话式AI领域,京东云在开展哪些工作?
吴友政:刚才提到的实际上是关于在对话技术方面的一些最新的进展,我们在京东做的工作是怎么样把对话的技术应用到真正的产品或者是业务系统里面,而京东实际上是有提供了非常多的人机对话的场景。。
举几个例子。
京东具有庞大的自建客服团队,仅仅在零售的场景上,我们的全职客服就超过了1.4万,以及2万多分布在四大客服中心的兼职客服。因为京东品牌的要求,实际上客户其实对我们的体验要求是非常高的,这也要求我们在对话系统这个方面提供非常接近于人的对话交互的服务。
另外京东的全链路的客户服务涉及的链路也是非常长,业务也非常复杂,包括自营的店铺,也包括多主体的店铺,业务是非常复杂的,像售中、售前售后的全链路的客户服务,涉及商家非常多,涉及商品也超过了1000多万。
全链路的客户服务场景,能让京东的技术在这些场景中进一步得到打磨。基于京东场景,我们做了很多技术产品,服务于零售、金融、物流、健康、保险等行业,沉淀了很多 AI的能力,包括像语音识别合成像对话的能力,从而进一步打磨出产品,比如文本机器人、语音应答机器人偏对话生成的数字对话产品,还有培训机器人,包括智能质检,去服务于更广泛的我们的客户。
我在京东做研发 | 从好玩到好用,爆火ChatGPT前沿分享的更多相关文章
- 2019年京东Java研发岗社招面经(面试经历+真题总结+经验分享)!
本篇先以日历形式回顾秋招之路,方便各位参考某厂的处理进度:然后是总结归纳春秋招Java面试题库:最后做个总结还有展望,开始新的征程~ 面试经历京东面试真题面试经验分享1.面试经历 2018年的冬季特别 ...
- 可以用 Python 编程语言做哪些神奇好玩的事情?
作者:造数科技链接:https://www.zhihu.com/question/21395276/answer/219747752 使用Python绘图 我们先来看看,能画出哪样的图 更强大的是,每 ...
- 学JAVA第八天,今天用循环做了个好玩的东西
今天用for循环做了个打印矩形的图案 代码如下: package nf;class Kest{ public static void main(String args[]){ int a=30; in ...
- 可以用 Python 编程语言做哪些神奇好玩的事情?除了生孩子不能,其他全都行!
坦克大战 源自于一个用Python写各种小游戏的github合集,star数1k.除了坦克大战外,还包含滑雪者.皮卡丘GOGO.贪吃蛇.推箱子.拼图等游戏. 图片转铅笔画 帮助你快速生成属于自己的铅笔 ...
- 2016京东Android研发校招笔试题
一.选择题汇总,具体的记不住啦.. 1.计网:ip的网络前缀.SNMP(报文组成):http://blog.csdn.net/shanzhizi/article/details/11606767 参考 ...
- 面向亿万级用户的QQ一般做什么?——兴趣部落的Web同构直出分享
作者:李强,腾讯web开发工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/348.html 一.什么是同构 ...
- 面向亿万级用户的QQ一般做什么?——兴趣部落的 Web 同构直出分享
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:李强,腾讯web开发工程师商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处.原文链接:http://wetest.qq.co ...
- TOP100summit:【分享实录】京东1小时送达的诞生之路
本篇文章内容来自2016年TOP100summit 京东WMS产品负责人李亚曼的案例分享. 编辑:Cynthia 李亚曼:京东 WMS产品负责人.从事电商物流行业近10年,有丰富的物流行业经验,独立打 ...
- 孤陋寡闻了吧?Python 居然可以做这30件神奇好玩的事情(附教程)
知乎上有个浏览超过400万的问题:可以用 Python 编程语言做哪些神奇好玩的事情? 我先举一个很不专业的栗子...... 然后再找几个人抬一堆例子来...... 不是很稀饭<复联>嘛, ...
- 【Sharing】开发与研发
[声明]此文为转载,只为收藏. 按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至于越写越长,文章结构也变得混乱 ...
随机推荐
- CSS伪类使用详解
基本描述 CSS伪类是很常用的功能,主要应用于选择器的关键字,用来改变被选择元素的特殊状态下的样式. 伪类类似于普通CSS类的用法,是对CSS选择器的一种扩展,增强选择器的功能. 目前可用的伪类有大概 ...
- 【JVM调优】Day03:GC参数、OOM出现方式、调优实战
一.常用GC参数(20个左右即可) 1.各种垃圾回收器的参数 PS + PO 常用的只有几十个 CMS的比较多,不建议使用 G1的常用参数简单 ZGC只有三个参数 二.OOM出现的方式 1.写一个让内 ...
- 保存sklearn中模型的两种方法(pickle、joblib)
保存sklearn中模型的两种方法(pickle.joblib) from sklearn import svm from sklearn import datasets clf = svm.SVC( ...
- vue-router路由之路-极简教程
01.什么是前端路由? 前端路由的一个大背景就是当下流行的单页应用SPA,一些主流的前端框架,如vue.react.angular都属于SPA,那什么是SPA呢? 1.1.SPA SPA(single ...
- 服务器迁移遇到的bug
目前有个客户做了个下单系统,系统运行了太多的扩展了,但是又没有文档,我就想着能不能把服务器打包成镜像,然后用新服务直接使用?? 事实是完全OK的.服务器用的阿里云. 但是遇到一个bug,我目前还没解决 ...
- python 实现RSA公钥加密,私钥解密
from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 from Cryp ...
- .NET性能优化-使用RecyclableMemoryStream替代MemoryStream
提到MemoryStream大家可能都不陌生,在编写代码中或多或少有使用过:比如Json序列化反序列化.导出PDF/Excel/Word.进行图片或者文字处理等场景.但是如果使用它高频.大数据量处理这 ...
- [编程基础] C++多线程入门8-从线程返回值
原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 8 从线程返回值 8 ...
- [OpenCV实战]16 使用OpenCV实现多目标跟踪
目录 1 背景介绍 2 基于MultiTracker的多目标跟踪 2.1 创建单个对象跟踪器 2.2 读取视频的第一帧 2.3 在第一帧中确定我们跟踪的对象 2.4 初始化MultiTrackerer ...
- C语言:使用malloc申请一个二级指针,外层为3个元素,内层为5个元素。使用并释放。
//使用malloc申请一个二级指针,外层为3个元素,内层为5个元素.使用并释放. #include"head.h" int main() { int **p = (int **) ...