「靠ML協(xié)作平臺加速AI落地」Line如何用MLOps重構(gòu)AI開發(fā)流程

來源: 百家號
作者:科技社techpub
時間:2021-04-07
17641
近年來,Line積極轉(zhuǎn)型為一家AI企業(yè),從自然語言處理、語音辨識、電腦視覺、OCR、臉部識別、聲像處理、數(shù)據(jù)分析到語音合成,各種AI技術(shù)都要涉獵。打開Line應(yīng)用程序,無論瀏覽Line Today、Line TV、Line Music或是Line購物的頁面,各種內(nèi)容的個人化推薦,甚至是聊天訊息的事實查核機制,背後都是靠ML模型來支持運作。

1b4c510fd9f9d72ab7e64789137b673c359bbb7a.png

Line將數(shù)據(jù)工程團隊分為4大角色、將ML工作流程分為6大環(huán)節(jié),更定義出各自階段的關(guān)鍵開發(fā)任務(wù),讓不同開發(fā)角色能根據(jù)自己的專業(yè)技能,在不同階段任務(wù)中協(xié)作開發(fā)AI。(圖片來源/Line臺灣)

近年來,Line積極轉(zhuǎn)型為一家AI企業(yè),從自然語言處理、語音辨識、電腦視覺、OCR、臉部識別、聲像處理、數(shù)據(jù)分析到語音合成,各種AI技術(shù)都要涉獵。打開Line應(yīng)用程序,無論瀏覽Line Today、Line TV、Line Music或是Line購物的頁面,各種內(nèi)容的個人化推薦,甚至是聊天訊息的事實查核機制,背後都是靠ML模型來支持運作。

隨著Line運用AI更深、更廣,更加依賴AI來提供各項服務(wù),Line也摸索出一套更快落地AI的方法,循序漸進的實踐MLOps,從剛開始逐一導(dǎo)入輔助開發(fā)的工具,到進一步整合多項工具打造了ML平臺,Line一步步重構(gòu)過去的AI開發(fā)流程,就是要讓Line集團的所有AI團隊成員,透過一套更緊密分工協(xié)作的開發(fā)流程,加速AI規(guī)?;涞?。

Line如何設(shè)計ML平臺加強人員分工協(xié)作?

一開始實踐MLOps時,Line韓國總部發(fā)起了一個名為Jutopia的ML平臺開發(fā)專案,催生了Line當(dāng)前AI開發(fā)的關(guān)鍵基礎(chǔ)機構(gòu)──ML Universe(簡稱MLU)。Line臺灣AI團隊也跨國參與了這個專案,Line臺灣數(shù)據(jù)工程部資深經(jīng)理蔡景祥直言,這套系統(tǒng)性AI開發(fā)與維運方法就是MLOps。

Line中國的一位負責(zé)Jutopia專案的團隊成員Changqin He,在去年底的Line開發(fā)者大會上首度公開了這項專案。他一開始就先提問:「數(shù)據(jù)科學(xué)家要透過什麼方式,向企業(yè)說明數(shù)據(jù)分析的結(jié)果?數(shù)據(jù)工程師要如何確保程序的可靠性,維持每小時運行不中斷?ML工程師又該如何保留ML開發(fā)過程的迭代,讓其他專案重復(fù)使用?」

810a19d8bc3eb135d7772da96a4fe7dbfc1f44ce.png

Line中國負責(zé)Jutopia專案的團隊成員Changqin He表示,Line發(fā)起一項ML協(xié)作平臺專案命名為Jutopia,目標(biāo)要建立起一套標(biāo)準(zhǔn)化的ML開發(fā)工作流,透過系統(tǒng)性的AI協(xié)同開發(fā)方法,讓AI各階段的開發(fā)更順暢。(圖片來源/Youtube)

這三個問題,正是Netflix在思考未來的數(shù)據(jù)分析工具應(yīng)具備哪些功能時,默認涵蓋的三個面向,Netflix更以Jupyter Notebook,作為最可能實現(xiàn)上述三個場景的開發(fā)工具,決定在企業(yè)內(nèi)深度導(dǎo)入使用。

Changqin He則是引用了這三個問題,點出AI協(xié)作的重要性,同樣以Jupyter Notebook為核心發(fā)起一項ML協(xié)作平臺專案,更取其前綴命名為Jutopia,目標(biāo)要建立起一套標(biāo)準(zhǔn)化的ML開發(fā)工作流,透過系統(tǒng)性的AI協(xié)同開發(fā)方法,拉近開發(fā)團隊成員間的距離,讓AI各階段的開發(fā)更順暢。

比如說,Line的數(shù)據(jù)科學(xué)家過去在實例化一個ML專案時,需要花費許多時間在工程端的程序開發(fā)上,身為過來人的蔡景祥形容,開發(fā)AI得從頭到尾「手刻」一個ML開發(fā)流程,比如設(shè)置數(shù)據(jù)或模型的匯入導(dǎo)出位置、系統(tǒng)間的串接,甚至是將模型打包成服務(wù)、部署上線等工作,全部都要包辦。雖然也能將這些工作交由工程端人員執(zhí)行,但兩個角色之間也需要頻繁溝通,才能確保開發(fā)流程不出錯。

為了克服這個挑戰(zhàn),Line打造了一個ML平臺(後來稱為MLU)。這個平臺最核心的功能,就將工程師各自打造的ML開發(fā)流程,轉(zhuǎn)變?yōu)楦菀字貜?fù)使用的標(biāo)準(zhǔn)化流程,讓工程師實例化不同ML專案時,不用再花時間重新打造輪子。甚至,直接透過MLU平臺的編輯器功能,就能快速設(shè)置不同專案各自需要的ML流程配置,再由系統(tǒng)自動執(zhí)行指令,來完成開發(fā)環(huán)境的配置。

不只如此,MLU平臺還整合了多項開發(fā)工具,讓用戶能在平臺上直接調(diào)用開發(fā)工具來使用,而不用擔(dān)心個別軟件的開發(fā)環(huán)境設(shè)置,透過各種開發(fā)工具在不同環(huán)節(jié)的應(yīng)用,不僅能進一步提升AI開發(fā)效率,也能同時作為溝通憑藉,讓不同角色成員能更容易介入?yún)f(xié)作。

「我們希望讓寫模型的人專心寫模型,應(yīng)用開發(fā)的人專心開發(fā)應(yīng)用,不用再費心處理繁瑣的系統(tǒng)串接與維護工作。」蔡景祥表示,讓每個角色都能專注於自己的專業(yè)技能,來更有效率地進行AI開發(fā),就是MLU平臺建立的初衷。

Line如何角色分工參與AI關(guān)鍵任務(wù)開發(fā)?

「在AI開發(fā)流程中,沒有人可以從頭到尾做完所有事情?!共叹跋樘寡?,隨著AI團隊逐漸擴大,會逐漸分化出不同的開發(fā)角色,這些角色可能包括了負責(zé)特徵處理的數(shù)據(jù)工程師、負責(zé)模型開發(fā)的ML工程師、部署模型的IT維運人員,甚至不只是開發(fā)與維運端的人員,連商業(yè)面的數(shù)據(jù)分析師或產(chǎn)品經(jīng)理,都需要在不同的開發(fā)階段,運用各自的專業(yè)來優(yōu)化AI。

像是在Line數(shù)據(jù)工程團隊中,也分化出多維的角色來共同開發(fā)AI,分別是數(shù)據(jù)工程師、ML工程師、ML服務(wù)工程師,以及數(shù)據(jù)分析師4大角色。

若以打造游樂園來比喻,蔡景祥指出,數(shù)據(jù)工程師的任務(wù),就是打造游樂園的基礎(chǔ)建設(shè),透過建立起一個穩(wěn)固的數(shù)據(jù)收集設(shè)施,來根據(jù)需求蒐集數(shù)據(jù),需擅長如大數(shù)據(jù)機構(gòu)、SQL、ETL、訊息隊列(Message queuing)等技術(shù)。

ML工程師,則像是游樂園的設(shè)計師,負責(zé)選出適當(dāng)?shù)臄?shù)據(jù)集與演算法,來建立起合適的ML模型,需具備的技能包括機器學(xué)習(xí)、深度學(xué)習(xí)、電腦視覺、NLP等。

ML服務(wù)工程師,則像是游樂園基礎(chǔ)建設(shè)的實際施工與維護者,主要負責(zé)建立并維運一個ML平臺,需熟悉的技術(shù)包括系統(tǒng)基礎(chǔ)建設(shè)設(shè)計、DevOps。

數(shù)據(jù)分析師,則需比工程師具備更多的商業(yè)思維,要能夠利用統(tǒng)計的方法,來分析模型上線後的實際成效,類似於在游樂園中觀察哪些設(shè)施需要改善的角色,因此需具備商業(yè)知識、熟悉統(tǒng)計及數(shù)據(jù)視覺化等技能。

除了分化出4大不同專業(yè)的AI開發(fā)角色,Line也將ML工作流程分為6大環(huán)節(jié),分別是準(zhǔn)備數(shù)據(jù)、探索數(shù)據(jù)、開發(fā)模型、訓(xùn)練模型、測試模型與部署上線,蔡景祥也以Line臺灣實例化AI的經(jīng)驗,來說明不同角色如何在各個開發(fā)環(huán)節(jié)中進行協(xié)作。

首先,在準(zhǔn)備數(shù)據(jù)的階段,由於領(lǐng)域知識扮演了重要角色,在數(shù)據(jù)標(biāo)注的過程中,需要產(chǎn)品端、數(shù)據(jù)分析與數(shù)據(jù)工程專家相互協(xié)作,來篩選出有效的數(shù)據(jù)提供後續(xù)使用。

接著,進入探索數(shù)據(jù)階段,則會交由ML工程師,根據(jù)數(shù)據(jù)特性來發(fā)掘數(shù)據(jù)潛在的價值,并透過特徵工程萃取所需的數(shù)據(jù)特徵。

有了數(shù)據(jù),就能進入模型開發(fā)的階段,此時,會需透過ML工程師、數(shù)據(jù)工程師及數(shù)據(jù)分析師的協(xié)作,選擇適當(dāng)?shù)难菟惴▉黹_發(fā)模型,在這個階段中,演算法的挑選與模型的版本控制,成為協(xié)作過程中的重要的課題。

而後進入模型訓(xùn)練的階段,則會交由ML工程師,負責(zé)進行超參數(shù)的調(diào)整與硬件運算資源的調(diào)度。

模型訓(xùn)練完成後,將進入測試模型的環(huán)節(jié),同樣交由ML工程師負責(zé),來驗證模型是否確實有效、是否達到預(yù)期的效益。

若沒問題,就會進入最後的部署上線階段,需要ML工程師、ML服務(wù)工程師共同協(xié)作,來確保模型在實驗環(huán)境與線上環(huán)境中的表現(xiàn)并不會產(chǎn)生太大偏差,也不會隨著時間衰退,實際部署後也要能應(yīng)付大流量的預(yù)測需求,才能有效擴大提供服務(wù)。

「MLOps是一個在ML全生命周期中,涉及到的所有人員共同協(xié)作的方法?!共叹跋楸硎?,該如何讓不同角色在ML開發(fā)各階段相互協(xié)作,就是Line的AI團隊,想用MLOps做到的事。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于百家號,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多