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

2024-02-02 12:08

本文主要是介绍自然语言模型算法太杂乱?国产统一 AI 开源框架来了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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的部署流程工具,迅速完成模型上线。从论文到产品部署无缝衔接。

 

三大优势

与其他自然语言处理和语音处理的开源项目相比,像Google的Tensor2tensor和Facebook的PyText等项目较侧重研究,主要用于快速的模型搭建和实验。而团队花很多时间针对模型的产品化做开发,力求DELTA在工业级应用的支持上,能帮助快速上线和产品化。

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

1、便捷使用

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

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

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

2、简洁上线

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

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

3、快捷开发

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

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

滴滴夸、车载语音交互系统都在用DELTA!

在滴滴内部,DELTA应用在很多语音和自然语言处理的项目上,例如前阵子网友热议对司机发送“彩虹屁”的滴滴夸,其背后便是DELTA支持的自然语言理解模块:

另外,在滴滴与外部合作伙伴研发的车载语音交互系统中,整套对话交互系统是基于DELTA研发的。

谈及未来,韩堃表示在技术上,准备将DELTA的使用门槛进一步降低,让使用者更容易上手。开发Auto ML的功能,把参数调优进一步简化。在生态上,一是继续推广DELTA,二是考虑加入顶级开源项目的孵化计划,以更高的标准去推动项目。

关于开源的建议

滴滴开源是滴滴出行高级副总裁章文嵩推动起来,目前滴滴已对外开源了39个项目,涵盖AI、小程序、智慧交通、中间件、前端框架、研发工具等,Star数已超过5.6W。

技术团队一开始是奔着内部项目来开发DELTA,在内部开源后,得到一些积极反馈后,于是往外部开源,并在2019年的ACL会议上,配合滴滴的活动正式开源。

谈及开源,在CSDN 《2019-2020 中国开发者调查报告》中,77%的开发者每周在开源上投入时间不超过5小时,其中1小时以内的占31%。对此,据韩堃观察,国内互联网行业工作压力较大,在工作之余去做一个开源项目确实不容易。

另外,在国内的IT环境里,一些开发者对于技术本身长期深入追求不是特别大,更多的是看中短期的收益。但韩堃认为,好的开源项目往往是经过前期相当长的开发和积累之后再发力的,这可能会使得国内开源开发者的动力不足。

韩堃表示,开源本身是有乐趣的,热爱开源的开发者会继续下去的。以其相识的国外开源开发者为例,他们非常积极地参加各种Meetup和讲座,并与非开源圈子内的人做交流,让更多的人认识开源、并参与进来,这些都是非常有帮助的。

那么如何改善国内的开源生态?

韩堃表示,一方面需要业界领头人主动认识到开源的重要性,从顶层设计上去推动开源活动,另一方面也需要开发者们多和外界交流,让更多的人认识到开源不仅仅是开发者的自娱自乐,而是有巨大价值的。

传送门:https://github.com/didi/delta
 

这篇关于自然语言模型算法太杂乱?国产统一 AI 开源框架来了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670660

相关文章

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系