「AI技術生態(tài)論」 人物訪談欄目是CSDN發(fā)起的百萬人學AI倡議下的重要組成部分。通過對AI生態(tài)頂級大咖、創(chuàng)業(yè)者、行業(yè)KOL的訪談,反映其對于行業(yè)的思考、未來趨勢的判斷、技術的實踐,以及成長的經(jīng)歷。
2020年,CSDN將對1000+人物進行訪談,形成系列,從而勾勒出AI生態(tài)最具影響力人物圖譜及AI產(chǎn)業(yè)全景圖!
本文為 「AI技術生態(tài)論」系列訪談的第五期,詳解滴滴AI開源平臺DELTA背后的技術框架與演進。
百萬人學AI你也有份!參與文章評論,評論區(qū)留言入選,可獲得價值299元的「2020 AI開發(fā)者萬人大會」在線直播門票一張。
在滴滴里,NLP和語音技術有重要的應用:通過智能客服系統(tǒng)來輔助人工客服,通過語音識別和自然語言理解技術來研發(fā)駕駛員語音助手,讓日本、澳洲等地的滴滴司機通過語音“免接觸”接單。這些業(yè)務的背后,均使用到DELTA作為后臺模型。
DELTA的原理是什么?為何要做這樣一款AI開源項目?對此,本期「AI技術生態(tài)論」欄目專訪滴滴AI Labs研究員、DELTA項目負責人,韓堃,來一探究竟。
模型算法很多?為何不統(tǒng)一起來?
談及DELTA的研究初衷,是在韓堃加入滴滴之際,發(fā)現(xiàn)團隊里用到各種深度學習和自然語言理解的模型算法很多。
特別在代碼層面,有從開源項目拿來的,也有內(nèi)部開發(fā)的,其中很多東西在功能上是可以復用的。
在這種情況下,韓堃和團隊開始思考:如果能把各種模型算法納入統(tǒng)一的框架下,將會加速算法開發(fā)迭代,也能促進團隊更好的合作。
于是技術團隊對自然語言理解的代碼進行整體重構,把各種模型算法用一套系統(tǒng)統(tǒng)一起來,使代碼易用易讀易開發(fā)。在開發(fā)過程中,他們發(fā)現(xiàn)這套系統(tǒng)對于滴滴外部也是很有價值的,于是開始考慮把代碼開源,并朝這一方面努力。
在DELTA快速迭代的過程中,團隊為了想使用到底層框架新版本的新功能,也曾掉入兼容的坑里:
一開始DELTA是基于TensorFlow 1.12系統(tǒng)來構建的,在技術迭代的過程中發(fā)現(xiàn)TensorFlow升級到1.14,引入很多新功能。團隊為了使用新功能,迅速將DELTA的核心模塊升級到1.14。
結果導致參與研發(fā)DELTA的其他開發(fā)者的代碼不兼容,出現(xiàn)了一些Bug。大伙立即停下手上的工作來抓緊時間修復DELTA,影響了整體的研發(fā)節(jié)奏。
經(jīng)此一役,韓堃表示:在項目合作的過程中,涉及到升級版本是很常見的事。但是我們開發(fā)者需謹慎推進,畢竟涉及到很多其他人的工作和穩(wěn)定性。
吸取經(jīng)驗總結,在TensorFlow升級到2.0時,DELTA以兼容的方式同時支持2.0和1.14的代碼后,再逐步優(yōu)化代碼來升級到2.0。
由于自然語言處理模型和語音模型是眾多AI系統(tǒng)與用戶交互的接口,DELTA旨在進一步降低開發(fā)者創(chuàng)建、部署自然語言處理系統(tǒng)和語音模型的難度。
DELTA的實現(xiàn)細節(jié):
DELTA主要基于TensorFlow構建,能同時支持NLP和語音任務及數(shù)值型特征的訓練。整合了包括文本分類、命名實體識別、自然語言推理、問答、序列到序列文本生成、語音識別、說話人驗證、語音情感識別等重要算法模型,形成一致的代碼組織架構,整體包裝統(tǒng)一接口。
當用戶準備好模型訓練數(shù)據(jù),并指定好配置Configuration,模型訓練pipeline可以根據(jù)配置進行數(shù)據(jù)處理,并選擇相應的任務和模型,進行模型訓練。
在訓練結束之后,自動生成模型文件保存。該模型文件形成統(tǒng)一接口,可以直接上線使用,快速產(chǎn)品化,能讓從研究到生產(chǎn)變得更容易。
值得注意的是,除可支持多種模型的訓練,DELTA還支持靈活配置,開發(fā)者可基于DELTA搭建成多達幾十種的復雜的模型。
此外,DELTA在多種常用任務上提供了穩(wěn)定高效的基準,用戶可以簡單快速地復現(xiàn)論文中的模型的結果,同時可在此基礎上擴展新的模型。在模型構建完成后,用戶可以使用DELTA的部署流程工具,迅速完成模型上線。從論文到產(chǎn)品部署無縫銜接。
三大優(yōu)勢
與其他自然語言處理和語音處理的開源項目相比,像Google的Tensor2tensor和Facebook的PyText等項目較側重研究,主要用于快速的模型搭建和實驗。而團隊花很多時間針對模型的產(chǎn)品化做開發(fā),力求DELTA在工業(yè)級應用的支持上,能幫助快速上線和產(chǎn)品化。
總體來說,DELTA具有三大特點:
1、便捷使用
支持常用的語音和文本處理的任務模型,用戶開箱即用,直接訓練常用模型;
針對工業(yè)界常用的多模態(tài)場景,支持語音、文本、外部特征的多模態(tài)聯(lián)合學習;優(yōu)化并行數(shù)據(jù)處理前段和高速的模型實現(xiàn),快速訓練海量數(shù)據(jù);
可定制的配置文件,用戶可以深度配置模型結構和參數(shù)。
2、簡潔上線
訓練和上線無縫銜接。各種特征提取和預處理模塊均以TensorFlow Op形式實現(xiàn),整體統(tǒng)一封裝成TF Graph,打通數(shù)據(jù)-模型-上線流程;
所有模型對接統(tǒng)一輸入輸出,模型對外部透明,對任何新模型部署,無需改動上線代碼。
3、快捷開發(fā)
內(nèi)部模型和任務組件高度模塊化,比如CNN、RNN、attention等,開發(fā)者可以方便調(diào)用;
基本模塊均經(jīng)過完整測試,性能高效穩(wěn)定,適合重用。
滴滴夸、車載語音交互系統(tǒng)都在用DELTA!
在滴滴內(nèi)部,DELTA應用在很多語音和自然語言處理的項目上,例如前陣子網(wǎng)友熱議對司機發(fā)送“彩虹屁”的滴滴夸,其背后便是DELTA支持的自然語言理解模塊:
另外,在滴滴與外部合作伙伴研發(fā)的車載語音交互系統(tǒng)中,整套對話交互系統(tǒng)是基于DELTA研發(fā)的。
談及未來,韓堃表示在技術上,準備將DELTA的使用門檻進一步降低,讓使用者更容易上手。開發(fā)Auto ML的功能,把參數(shù)調(diào)優(yōu)進一步簡化。在生態(tài)上,一是繼續(xù)推廣DELTA,二是考慮加入頂級開源項目的孵化計劃,以更高的標準去推動項目。