【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Microsoft Icecaps:一个用于会话建模的开源工具包

  • 2019-09-10
  • 本文字数:1798 字

    阅读完需:约 6 分钟

Microsoft Icecaps:一个用于会话建模的开源工具包

我们的行为,包括如何说话,往往取决于我们所处的环境。我们在晚上和朋友打保龄球时,不必像在办公室开会时那样说话,包括语气和语言。我们会调整对话方法,使其符合对话的场景。如果要使经过训练的会话代理继续演变,成为人们可以求助的可靠资源,就需要训练它们也这样做。

8 月 29 日,我们正式发布了智能会话引擎:编码和预训练系统,或者微软Icecaps,这是一个新的开源工具包,它不仅允许研究人员和开发人员赋予聊天机器人不同的角色,而且还集成了强调会话建模的其他自然语言处理功能。


Icecaps 提供了来自最新会话建模文献的一系列功能。其中一些工具是由微软研究院最近的工作推动的,包括个性嵌入、基于最大互信息的解码、知识基础,以及一种强化共享特征表示结构的方法,从而实现更多样化更相关的响应。我们的库在一个模块化框架中利用了 TensorFlow,该框架旨在使用户能够轻松地使用多任务学习构建复杂的训练配置。在接下来的几个月里,我们将为 Icecaps 配备经过预训练的会话模型,研究人员和开发人员可以直接拿来用,也可以通过引导自己的系统快速适应新的场景。

多任务学习和 SpaceFusion

Icecaps 的核心是灵活的多任务学习模式。在多任务学习中,多个任务之间共享一个参数子集,因此这些任务可以使用共享的特征表示。例如,该技术已被用于会话建模,将一般会话数据与非成对的话语组合起来;通过将会话模型与共享其解码器的自动编码器配对,就可以使用非成对数据来个性化会话模型。Icecaps 通过将大多数模型表示为组件链,并允许研究人员和开发人员使用共享组件构建任意复杂的模型配置,从而支持多任务学习。它还支持灵活的多任务训练调度,允许用户更改任务在训练过程中的权重。



在多任务学习环境中,成对和非成对的数据可以在训练过程中进行组合。


此外,Icecaps 还实现了SpaceFusion,这是一种专门的多任务学习范式,其初衷是联合优化生成的响应的多样性和相关性。SpaceFusion 增加了正则化项,形成了可在任务间共享的潜在空间。这些项可以更好地调整每个任务在这个潜在空间中习得的分布。



SpaceFusion 为多任务学习环境增加正则化项,结构化共享潜在空间,提高学习效率。

个性化

为了在会话场景中实现个性化,人工智能可能需要充当具有自己特定风格和属性的某个角色,Icecaps 允许研究人员和开发人员使用个性嵌入在多对话者数据上训练多角色会话系统。个性嵌入与词嵌入的工作原理相似;正如我们学习每个单词的嵌入来描述单词在潜在单词空间中的相互关系一样,我们也可以从多对话者数据集中学习每个说话者的嵌入来描述潜在个性空间。多角色编解码器模型为解码器提供词嵌入的同时提供个性嵌入,在选定的个性上解码响应。



通过将单嵌入空间与角色嵌入空间相结合,个性化的序列到序列模型可以生成个性化的响应。

基于 MMI 的解码

使用嘈杂的真实数据训练的会话系统往往会产生泛泛且乏味的回答,比如“我不知道你在说什么”。这些系统将这种行为作为一种安全的学习方式,从而始终产生与上下文相关的响应。付出的代价是响应的多样性和内容。解决这一问题的一种方法是基于最大互信息(MMI)的假设重排。这种方法训练了第二个模型来预测给定潜在响应的上下文。这个模型为基本解码器生成的每个假设额外赋一个分数,这个额外的分数用于对假设集进行重新排序。MMI 获取对于给定上下文而言最有针对性的潜在响应,并将它们推到列表的顶部。除了其他一些解码功能外,作为其自定义定向搜索解码器的一部分,Icecaps 包含基于 MMI 的重新排序。

知识基础

训练会话系统的主要瓶颈之一是缺少能够捕捉到世界上大量非会话数据中所包含的丰富信息的会话数据。因此,我们需要能够利用后者的好工具。例如,为了训练拥有维基百科或其他百科全书资源中包含的所有知识的智能代理,Icecaps 实现了一种以知识为基础的对话方法,该方法结合了机器阅读理解和响应生成模块。该模型使用注意力将内容从与上下文相关的知识源中分离出来,从而使模型产生更明智的响应。



交叉注意力(Cross-attention)可用于从外部知识库中提取相关信息以生成响应。


开源项目链接:https://github.com/microsoft/icecaps


智能个性化聊天机器人只是会话建模的开始;内容过滤、多语言建模、混合会话和面向任务的功能都是有前景的新研究领域。微软将继续关注会话建模领域的发展,并利用 Icecaps 使研究人员和开发人员能够推动前沿科技的发展。


原文链接:


Microsoft Icecaps: An open-source toolkit for conversation modeling


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-09-10 08:003141
用户头像

发布了 693 篇内容, 共 402.2 次阅读, 收获喜欢 1503 次。

关注

评论

发布
暂无评论
发现更多内容

盲盒开发盲盒app开发

怎么自学Python,大概要多久?

老表

Python 11月日更 编程入门 思路 如何解决问题

Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)

不脱发的程序猿

Python qt PyQt GUI设计 多线程中信号与槽的使用

从消息到数据湖:看 Apache RocketMQ、Hudi、Kyuubi 最新进展

阿里巴巴云原生

数据湖 Meetup Apache RocketMQ Apache Hudi Apache Kyuubi

盲盒开发小程序app开发源码搭建

盲盒开发源码搭建小程序app

盲盒h5小程序app系统开发

公司应该监控员工的上网行为吗?

石云升

职场经验 11月日更

【强势推出】专家带你玩,秒懂数据库!官方证书、万元奖品带回家!

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

盲盒小程序开发盲盒源码搭建

进击的Java(九)

ES_her0

11月日更

盲盒app开发

盲盒开发盲盒小程序开发

盲盒开发

大数据训练营一期1017作业

朱磊

自定义View:多点触摸画笔的实现

Changing Lin

11月日更

盲盒小程序开发源码搭建

盲盒开发一番赏盲芒趣蛋趣小程序app开发

选择 Pulsar 而不是 Kafka 的 7 大理由

Apache Pulsar

kafka 架构 云原生 中间件 Apache Pulsar

Android C++系列:Linux文件IO操作(一)

轻口味

c++ android jni 11月日更

飞桨中国行——企业服务专场

百度大脑

人工智能

盲盒开发盲盒小程序系统开发

以用户体验为抓手,助力券商数字化转型

博睿数据

.NET6 内置IOC容器

面向对象的猫

.net core .net6

社科院专家认为元宇宙是双刃剑,将带来五大巨变

CECBC

ARP欺骗与防范

喀拉峻

网络安全 安全 信息安全

Kafka 已落伍,转角遇见 Pulsar!

Apache Pulsar

kafka 架构 分布式 Apache Pulsar 消息系统

初识 .NET6

面向对象的猫

.net core .net6

Flink CDC 2.1 正式发布,稳定性大幅提升,新增 Oracle,MongoDB 支持

Apache Flink

大数据 flink 后端 实时计算 CDC

如何用Camtasia为“微课”视频添加光标效果?

淋雨

Camtasia

支撑长安链运行,区块链算力平台是什么?

CECBC

Microsoft Icecaps:一个用于会话建模的开源工具包_AI&大模型_Vighnesh Leonardo Shiv_InfoQ精选文章