2020-04-07 17:34:47

2019年8月,基于深度学习的语音和自然语言理解模型训练平台DELTA正式开源。一经开源,DELTA登上GitHub 热榜,获得 1k+的Star数,受到深度学习框架Keras的作者François Chollet的关注。DELTA可助力AI开发者创建、部署自然语言处理和语音模型,构建高效的解决方案,让NLP应用更好落地。

在滴滴里,NLP和语音技术有重要的应用:通过智能客服系统来辅助人工客服,通过语音识别和自然语言理解技术来研发驾驶员语音助手,让日本、澳洲等地的滴滴司机通过语音“免接触”接单。这些业务的背后,均使用到DELTA作为后台模型。

DELTA的原理是什么?为何要做这样一款AI开源项目?对此,本期「AI技术生态论」栏目专访滴滴AI Labs研究员、DELTA项目负责人,韩堃,来一探究竟。

模型算法很多?为何不统一起来?

韩堃在机器学习领域已有10余年研究经验:自2008年起,他来到美国俄亥俄州立大学攻读博士,研究方向是基于机器学习的语音处理。2014年毕业后加入Facebook,从事语音识别、自然语言理解、推荐系统方面的工作。

自2018年起韩堃加入了滴滴AI Labs,目前带领一支十多人的团队做自然语言理解和语音处理方面的研究和产品开发工作。

谈及DELTA的研究初衷,是在韩堃加入滴滴之际,发现团队里用到各种深度学习和自然语言理解的模型算法很多。

特别在代码层面,有从开源项目拿来的,也有内部开发的,其中很多东西在功能上是可以复用的。

在这种情况下,韩堃和团队开始思考:如果能把各种模型算法纳入统一的框架下,将会加速算法开发迭代,也能促进团队更好的合作。

于是技术团队对自然语言理解的代码进行整体重构,把各种模型算法用一套系统统一起来,使代码易用易读易开发。在开发过程中,他们发现这套系统对于滴滴外部也是很有价值的,于是开始考虑把代码开源,并朝这一方面努力。

底层框架升级,掉入兼容大坑

在DELTA快速迭代的过程中,团队为了想使用到底层框架新版本的新功能,也曾掉入兼容的坑里:

一开始DELTA是基于TensorFlow 1.12系统来构建的,在技术迭代的过程中发现TensorFlow升级到1.14,引入很多新功能。团队为了使用新功能,迅速将DELTA的核心模块升级到1.14。

结果导致参与研发DELTA的其他开发者的代码不兼容,出现了一些Bug。大伙立即停下手上的工作来抓紧时间修复DELTA,影响了整体的研发节奏。

经此一役,韩堃表示:在项目合作的过程中,涉及到升级版本是很常见的事。但是我们开发者需谨慎推进,毕竟涉及到很多其他人的工作和稳定性。

吸取经验总结,在TensorFlow升级到2.0时,DELTA以兼容的方式同时支持2.0和1.14的代码后,再逐步优化代码来升级到2.0。

实现技术架构详解

由于自然语言处理模型和语音模型是众多AI系统与用户交互的接口,DELTA旨在进一步降低开发者创建、部署自然语言处理系统和语音模型的难度。

DELTA的实现细节:

DELTA主要基于TensorFlow构建,能同时支持NLP和语音任务及数值型特征的训练。整合了包括文本分类、命名实体识别、自然语言推理、问答、序列到序列文本生成、语音识别、说话人验证、语音情感识别等重要算法模型,形成一致的代码组织架构,整体包装统一接口。

当用户准备好模型训练数据,并指定好配置Configuration,模型训练pipeline可以根据配置进行数据处理,并选择相应的任务和模型,进行模型训练。

在训练结束之后,自动生成模型文件保存。该模型文件形成统一接口,可以直接上线使用,快速产品化,能让从研究到生产变得更容易。

值得注意的是,除可支持多种模型的训练,DELTA还支持灵活配置,开发者可基于DELTA搭建成多达几十种的复杂的模型。

此外,DELTA在多种常用任务上提供了稳定高效的基准,用户可以简单快速地复现论文中的模型的结果,同时可在此基础上扩展新的模型。在模型构建完成后,用户可以使用DELTA的部署流程工具,迅速完成模型上线。从论文到产品部署无缝衔接。

总体来说,DELTA具有三大特点:

1、便捷使用

支持常用的语音和文本处理的任务模型,用户开箱即用,直接训练常用模型;

针对工业界常用的多模态场景,支持语音、文本、外部特征的多模态联合学习;优化并行数据处理前段和高速的模型实现,快速训练海量数据;

可定制的配置文件,用户可以深度配置模型结构和参数。

2、简洁上线

训练和上线无缝衔接。各种特征提取和预处理模块均以TensorFlow Op形式实现,整体统一封装成TF Graph,打通数据-模型-上线流程;

所有模型对接统一输入输出,模型对外部透明,对任何新模型部署,无需改动上线代码。

3、快捷开发

内部模型和任务组件高度模块化,比如CNN、RNN、attention等,开发者可以方便调用;

基本模块均经过完整测试,性能高效稳定,适合重用。

自然语言模型算法太杂乱?国产统一 AI 开源框架来了相关推荐

  1. 自然语言模型算法太杂乱?国产统一 AI 开源框架来了!

    2019年8月,基于深度学习的语音和自然语言理解模型训练平台DELTA正式开源.一经开源,DELTA登上GitHub 热榜,获得 1k+的Star数,受到深度学习框架Keras的作者François ...

  2. 国产最大AI开源框架再升级:一口气发布9大新产品,顺便送出亿元GPU算力

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 时局如此,国产AI框架雄心更盛. 气势更足.功能更新力度更大.开发者羊毛更丰厚--而且新发布还不是全部,已获得的成绩也相当亮眼: 先 ...

  3. 2020,国产AI开源框架“亮剑”TensorFlow、PyTorch

    「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分.通过对AI生态专家.创业者.行业KOL的访谈,反映其对于行业的思考.未来趋势的判断.技术的实践,以及成长的经历. 20 ...

  4. 2020,国产 AI 开源框架“剑指”TensorFlow、PyTorch

    「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分.通过对AI生态专家.创业者.行业KOL的访谈,反映其对于行业的思考.未来趋势的判断.技术的实践,以及成长的经历. 20 ...

  5. 中国下一代AI开源框架:国际、创新、实用和长期主义

    中国下一代AI开源框架:国际.创新.实用和长期主义 道翰天琼认知智能机器人平台API接口大脑为您揭秘.目前国内外的AI开源框架领域,以TensorFlow.PyTorch.MindSpore等为代表, ...

  6. 华为计算黄之鹏:AI开源框架已经到“汽车替代马车”的阶段 | MEET2021

    编辑部 整理自 MEET 2021  量子位 报道 | 公众号 QbitAI AI的发展,除了要有应用的落地.芯片等技术的支撑,还离不开一个非常重要的基础--AI算法的框架. 然而在TensorFlo ...

  7. CoBOT检测出AI开源框架TensorFlow中的缺陷

    建立在库博大数据安全分析平台之上的库博软件成分和安全分析工具可以对AI开源框架进行成分分析,根据框架中引用的组件,形成一个组件依赖的知识图谱.任何一个依赖的组件发现问题,能够根据知识图谱快速判断是否收 ...

  8. 腾讯AI开源框架Angel 3.0重磅发布:超50万行代码,支持3种算法,打造全栈机器学习平台...

    出品 | AI科技大本营(ID:rgznai100) [导语]2019年8月22日,腾讯首个AI开源项目Angel正式发布3.0版本.Angel 3.0尝试打造一个全栈的机器学习平台,功能特性涵盖了机 ...

  9. CSDN创始人蒋涛:“重应用轻生态”的AI开源模式非长久之计

    作者 | 彭慧中       责编 | 屠敏.何苗 出品 | <新程序员>编辑部 6 月 2 日,2022 北京智源大会正于云端相聚,密切关注中国开源发展的 CSDN 创始人&董事 ...

最新文章

  1. SAP MM Purchasing Report中Selection Parameter WE101 WE103
  2. springboot springmvc 抛出全局异常解决方法
  3. sqlmap os shell解析
  4. boost::integer::mod_inverse用法的测试程序
  5. c语言预处理器指令的简单例子
  6. java 计算协方差_Java的深度:通过协方差暴露的API泄漏
  7. 论坛高级签名_首届中国定制白酒高峰论坛在天津盘山举行
  8. ITIL V3 服务转换篇 之 服务转换阶段的组织形式
  9. ecshop /goods.php SQL Injection Vul
  10. (译)响应式图片— srcset 和 sizes 属性
  11. 计算机wind10切换桌面wind7系统,win10多桌面切换的方法以及开启步骤是怎样的
  12. 头条限流是什么原因_教训:千万不要用百家号去绑定头条号,后果你想象不到...
  13. 【Thinking In Java】笔记之一 一切都是对象
  14. nodejs后台系列--第四篇--koa(二)
  15. android xml 注释快捷键,xml注释(xml注释掉一段代码)
  16. 2018年深圳杯论文_2018.5.21/建模日记/深圳杯
  17. 天正暖通2013版安装包附带注册机下载
  18. C# 网上收集的一些所谓的开源项目
  19. 360浏览器兼容性问题
  20. 网站分析-网站流量分析

热门文章

  1. gensim models.word2vec – Word2vec embeddings API
  2. Java Synchronized获得类的锁和获得对象的锁有什么区别呢?
  3. Jenkins部署SpringBoot应用到远程服务器
  4. 为什么 Linux 需要虚拟内存
  5. 掌握这 7 个编程设计原则,想做菜鸟都难
  6. Masking GAN pytorch
  7. 基于TensorFlow理解三大降维技术:PCA、t-SNE 和自编码器
  8. python常见错误集合
  9. Master 横扫围棋各路高手,是时候全面研究通用人工智能了!
  10. 独家 | 如何创建用于离线估算业务指标的测试集?(附代码链接)