“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

Uber 开源 Plato 平台,用于开发和测试会话 AI

  • 2019-07-17
  • 本文字数:2428 字

    阅读完需:约 8 分钟

Uber开源Plato平台,用于开发和测试会话AI

在过去的几十年里,智能会话代理经历了重大变化,从以关键字为目标的交互式语音应答(IVR)系统到跨平台智能个人助理,都成为日常生活中不可或缺的一部分。伴随着这些变革和增长,需要一个直观、灵活、全面的研发平台,(它)可以作为一个开放的测试平台帮助评估新算法、快速创建原型并可靠地部署会话代理。在这种背景下,Uber 开发并开源了 Plato 研究对话系统。

Uber Plato 平台在 GitHub 开源

据外媒 Venture Beat 报道,Uber 开源了柏拉图研究对话系统(Plato Research Dialog System)。它是一个可用于在各种环境下创建、训练和部署会话 AI 代理的平台,让数据科学家和业余爱好者能够在会话 AI 中进行最先进的研究,并快速创建原型、演示系统及促进对话数据采集​​。该系统将与谷歌的 Dialogflow、微软的 Bot 框架和亚马逊的 Lex 等产品展开竞争。


Plato 的设计“干净”、“可理解”,并与现有的深度学习和模型调优优化框架(贝叶斯优化框架)集成,可减少编写代码的需要。


Plato(版本 0.1)的第一次迭代支持通过语音、文本或对话行为进行交互,每个会话代理可以与数据,人类用户或其他会话代理进行交互(在多代理设置中)。此外,Plato 可以为每个会话代理组件合并预训练的模型,且可以在交互的过程中或从数据中对每个组件进行训练。


Plato 通过模块化设计将数据处理分解为七个步骤:语音识别、语言理解、状态跟踪、API 调用、对话策略、语言生成、语音合成。Plato 支持一系列会话式 AI 架构,每个元素都可以使用主流的机器学习库进行训练,例如 Uber 的 Ludwig,Google 的 TensorFlow 和 Facebook 的 PyTorch。


为了证明它的可扩展性,Plato 用户可以定义自己的体系结构,或通过提供 Python 类名和模块的程序包路径及模型的初始化参数来插入自己的组件。只要模块按照(它)应该执行的顺序列出来,Plato 就会处理其余的部分,包括封装输入和输出、链接和执行模块(串行或并行),以及让对话变得更容易。


在数据记录方面,Plato 会在一个名为 Dialogue Episode Recorder 的结构中跟踪事件,该结构包含,先前对话状态,所采取的操作,当前对话状态等信息,甚至还有一个自定义字段可用于跟踪不属于已定义类别的任何内容。


Uber AI 研究团队表示 :“我们相信,Plato 能够在 Ludwig、TensorFlow、PyTorch、Keras 和其他开源项目的深度学习框架中更加无缝地训练会话代理,从而提升学术和行业应用中的对话 AI 技术。“

Plato 研究对话系统如何运作?

从概念上来讲,会话代理需要经过各种步骤来处理它接收到的“输入”内容,并输出合适的答案(如“有风但不太冷”)。与标准体系结构的主要组件(参见图 1)相对应的主要步骤是:


  • 语音识别(将语音转录为文本)

  • 语言理解(从该文本中提取意义)

  • 状态跟踪(到目前为止已经说过和完成的内容的汇总信息)

  • API 调用(搜索数据库,查询 API 等)

  • 对话政策(生成代理人回应的抽象含义)

  • 语言生成(将抽象意义转换为文本)

  • 语音合成(将文本转换为语音)


Plato 被设计的尽可能地模块化和灵活性; 它支持传统和自定义的会话 AI 体系架构,而且很重要地是,它支持多参与方交互,其中有不同角色的多个代理可以相互交互、同时训练并解决分布式问题。


下面的图 1 和图 2 描述了与人类用户和模拟用户交互时的示例 Plato 对话代理体系结构。与模拟用户交互是研究团体快速启动学习的一种常见做法(即,在与人类交互之前先学习一些基本行为)。因为 Plato 是一个通用框架,所以可以使用任何机器学习库(例如 Ludwig、TensorFlow、PyTorch 等)在线或离线训练每个独立的组件,Uber 的开源深度学习工具箱 Ludwig 是一个不错的选择,因为它不需要编写代码且完全兼容 Plato。



图 1:Plato 的模块化架构意味着任何组件都可以在线或离线进行训练,可以通过自定义或预先训练的模型进行替换。(此图中的灰色组件不是 Plato 核心组件。)



图 2:使用模拟用户而不是人类用户,如图 1 所示,我们可以预先训练 Plato 各种组件的统计模型。接下来,这些可以用于创建原型会话代理,该代理可以与人类用户交互来收集更多自然数据,随后,这些数据可用来训练更好的统计模型。(此图中的灰色组件不是 Plato 核心组件。)


除了单代理交互之外,Plato 还支持多代理对话,多个 Plato 代理可以相互交互并相互学习。具体来说,Plato 将生成会话代理,确保输入和输出(每个代理听到和说出的内容)被恰当地传递给每个代理,并跟踪对话。


这种设置可以促进多代理学习的研究,代理需要学习如何生成语言以执行任务,以及研究多方交互的子领域(对话状态跟踪、轮流等)。对话原则定义了每个代理可以理解的内容(实体或含义的存在论;如价格、位置、偏好、烹饪类型等)及它可以做什么(询问更多信息、提供一些信息、调用 API 等)。代理可以通过语音,文本或结构化信息(对话行为)进行沟通,每个代理都有自己的配置。下面的图 3 描述了这种架构,概述了两个代理和各种组件之间的沟通:



图 3:Plato 的架构允许对多个代理进行同时训练,每个代理具有潜在的不同角色和目标,并且可以促进多方交互和多代理学习等领域的研究。(此图中的灰色组件不是核心的 Plato 组件。)


最后,Plato 通过下面图 4 所示的通用代理体系结构来支持自定义体系结构(如,将 NLU 分成多个独立组件)和联合训练的组件(如文本到对话状态、文本到文本或任何其他组合。此模式脱离了标准会话代理体系结构,支持任何类型的体系结构(如使用联合组件、文本到文本或语音到语音组件、或任何其他设置)并允许加载现有或预先训练有素的模型进入 Plato。



图 4:Plato 的通用代理体系结构支持广泛的自定义,包括联合组件,语音到语音组件和文本到文本组件,所有这些组件都可以串行或并行执行。


Plato 还通过组合结构(BOCS)的贝叶斯优化为会话 AI 架构或单个模块参数的贝叶斯优化提供支持。


原文链接:


https://venturebeat.com/2019/07/16/researchers-create-tiny-beyond-5g-chip-for-100ghz-data-transmission/


https://github.com/uber-research/plato-research-dialogue-system


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-07-17 16:126803
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 489.2 次阅读, 收获喜欢 1965 次。

关注

评论 1 条评论

发布
用户头像
这个神器支持中文么?
2019-07-17 16:30
回复
没有更多了
发现更多内容

预防DIP器件可焊性问题,看这篇就够了

华秋电子

2023前端二面手写面试题总结

helloworld1024fd

JavaScript 前端

LeetCode题解:89.格雷编码,归纳法,详细注释

Lee Chen

JavaScript LeetCode

React循环DOM时为什么需要添加key

beifeng1996

前端 React

最佳的18个JAVASCRIPT前端开发框架和库

2D3D前端可视化开发

web前端 Javascript框架 前端开发框架 webgl库 javascript库

如何使用 Kubernetes 实现应用程序的弹性伸缩

API7.ai 技术团队

Prometheus api 网关 APISIX Serverless Kubernetes

前端react面试题(边面边更)

beifeng1996

前端 React

每日一题之Vue的异步更新实现原理是怎样的?

bb_xiaxia1998

Vue 前端

前端常见手写面试题集锦

helloworld1024fd

JavaScript 前端

ChatGPT热潮背后,金融行业大模型应用路在何方?——金融行业大模型应用探索

易观分析

金融 科技

ChatGPT专题 | 万字长文解析!复现和使用GPT-3/ChatGPT,你所应该知道的

工赋开发者社区

阿里云云通信风控系统的架构与实践

阿里云视频云

云计算 云通信

百度前端一面高频react面试题指南

beifeng1996

前端 React

React的useLayoutEffect和useEffect执行时机有什么不同

beifeng1996

前端 React

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript 前端

高频js手写题之实现数组扁平化、深拷贝、总线模式

helloworld1024fd

JavaScript 前端

用ChatGPT优化AI绘画提示词的探索

Baihai IDP

人工智能 AI AIGC ChatGPT

有哪些做的不错的国产化企业协同办公软件?14个企业协同软件对比

PingCode

团队管理 团队协作 团队协作工具

Python 基础练习题(三)

漫步桔田

【AAAI 2023】针对视频分类的知识迁移

Zilliz

计算机视觉

社招前端二面面试题总结

loveX001

JavaScript 前端

深入理解JS作用域链与执行上下文

loveX001

JavaScript

NFTScan x TiDB丨一栈式 HTAP 数据库为 Web3 数据服务提供毫秒级多维查询

PingCAP

TiDB

每日一题之请描述Vue组件渲染流程

bb_xiaxia1998

Vue 前端

美团前端常见面试题整理

loveX001

JavaScript 前端

如何实现文件高速传输,推荐镭速高速文件传输解决方案

镭速

MegEngine 使用小技巧:使用 Netron 实现模型可视化

MegEngineBot

深度学习 开源 MegEngine Netron 模型可视化

StarRocks携手零洞科技,助力碧桂园物业企业微信数字化项目

StarRocks

数据库 开源 互联网

经常会采坑的javascript原型应试题

loveX001

JavaScript 前端

逃离同质化,OPPO折叠屏正在笃定远一点的未来

脑极体

OPPO 折叠屏

2023前端二面vue面试题

bb_xiaxia1998

Vue 前端

Uber开源Plato平台,用于开发和测试会话AI_AI&大模型_刘燕_InfoQ精选文章