自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

度小滿自動(dòng)機(jī)器學(xué)習(xí)平臺(tái)實(shí)踐

人工智能 機(jī)器學(xué)習(xí)
今天會(huì)和大家分享下度小滿在搭建自動(dòng)機(jī)器學(xué)習(xí)平臺(tái) ATLAS 的實(shí)踐經(jīng)驗(yàn)。

隨著 AI 技術(shù)的發(fā)展,不同業(yè)務(wù)涉及的 AI 技術(shù)越來(lái)越多樣,同時(shí) AI 模型參數(shù)量逐年爆發(fā)式增長(zhǎng),如何克服 AI 算法落地面臨的開發(fā)成本高、對(duì)人工依賴強(qiáng)、算法不穩(wěn)定及落地周期長(zhǎng)等問題,成為困擾人工智能從業(yè)者的難題。而“自動(dòng)機(jī)器學(xué)習(xí)平臺(tái)”是解決 AI 落地壓力的關(guān)鍵方法。今天會(huì)和大家分享下度小滿在搭建自動(dòng)機(jī)器學(xué)習(xí)平臺(tái) ATLAS 的實(shí)踐經(jīng)驗(yàn)。

一、機(jī)器學(xué)習(xí)平臺(tái)

首先介紹一下度小滿機(jī)器學(xué)習(xí)平臺(tái)的背景、發(fā)展過程以及現(xiàn)狀。

1、業(yè)務(wù)場(chǎng)景

圖片

度小滿是一家金融科技公司,公司內(nèi)部的業(yè)務(wù)場(chǎng)景主要分為三個(gè)方面:

  • 智能風(fēng)控:涉及關(guān)系數(shù)據(jù)挖掘、文本數(shù)據(jù)挖掘、情感分析等 NLP 技術(shù),及人臉識(shí)別等 CV 技術(shù)。
  • 智能獲客:涉及常見的廣告獲客技術(shù),如個(gè)性化定價(jià)、個(gè)性化推薦、創(chuàng)意廣告以及用戶畫像。
  • 智能經(jīng)營(yíng):涉及圖神經(jīng)網(wǎng)絡(luò)、因果推斷及 OCR 等 AI 算法技術(shù)。

由于業(yè)務(wù)涉及的 AI 技術(shù)非常多樣,給 AI 算法落地帶來(lái)了很大的挑戰(zhàn)。

2、AI 算法落地難題

圖片

AI 算法落地存在一個(gè)不可能三角:很難同時(shí)實(shí)現(xiàn)算法開發(fā)的高效率、低成本和高質(zhì)量。

  • AI 算法成本高昂:首先 AI 算法開發(fā)的門檻很高。如金融風(fēng)控當(dāng)中使用的 OCR 技術(shù)、人臉識(shí)別技術(shù)準(zhǔn)入門檻很高,并不是所有公司都能掌握,且只有少部分公司能做到頂尖水平。其次 AI 算法硬件資源消耗大。如訓(xùn)練一個(gè)人臉識(shí)別模型,或者一個(gè)大規(guī)模的 NLP 模型,需要投入大量的計(jì)算資源,這是一個(gè)無(wú)形的門檻。
  • AI 算法效果不穩(wěn)定:AI 算法效果依賴于專家經(jīng)驗(yàn),不同的人會(huì)產(chǎn)出不同的結(jié)果,存在不穩(wěn)定因素。
  • AI 算法交付周期長(zhǎng):一個(gè)成熟的算法從開發(fā)到部署上線開發(fā)周期動(dòng)輒長(zhǎng)達(dá)數(shù)月以上,并且很多時(shí)候需要根據(jù)豐富的業(yè)務(wù)場(chǎng)景做定制化開發(fā),最后模型的產(chǎn)出與算法落地之間存在鴻溝。

面對(duì)這些AI落地的難題,我認(rèn)為唯一的解決方案是使用機(jī)器學(xué)習(xí)平臺(tái)。

3、AI 算法生產(chǎn)流程

下面從 AI 算法的生產(chǎn)流程來(lái)理解 AI 算法落地過程中遇到的具體困難。

圖片

AI 算法落地主要分為數(shù)據(jù)管理、模型訓(xùn)練、算法優(yōu)化及部署發(fā)布四個(gè)部分,其中模型訓(xùn)練和算法優(yōu)化之間是一個(gè)反復(fù)迭代的過程。

在算法開發(fā)的每一個(gè)步驟里面,對(duì)參與該步驟的人員的技術(shù)要求的差異很大:

  • 數(shù)據(jù)管理:要求技術(shù)人員理解業(yè)務(wù),并且理解數(shù)據(jù)治理,及大數(shù)據(jù)相關(guān)技術(shù)。
  • 模型訓(xùn)練和算法優(yōu)化:要求理解算法模型的基本原理、擁有算法優(yōu)化的經(jīng)驗(yàn)。
  • 部署發(fā)布:要求熟悉后端開發(fā)和 web server 相關(guān)技術(shù)。

從各個(gè)步驟需要的技術(shù)??梢钥闯?,很難有一個(gè)或者兩三個(gè)技術(shù)人員完全掌握所有的技術(shù),并且每一個(gè)涉及人工的步驟,都是造成生產(chǎn)不穩(wěn)定的生產(chǎn)瓶頸。而使用機(jī)器學(xué)習(xí)平臺(tái)可以解決這兩個(gè)問題。

4、機(jī)器學(xué)習(xí)平臺(tái)ATLAS

我們的機(jī)器學(xué)習(xí)平臺(tái) ATLAS 貫穿 AI 生產(chǎn)的全流程,旨在替代 AI 算法落地過程中的人工參與,達(dá)到高效產(chǎn)出、給 AI 算法研發(fā)提能增效的目標(biāo)。

圖片

ATLAS 涉及以下四個(gè)平臺(tái):

  • 標(biāo)注平臺(tái):負(fù)責(zé)生產(chǎn)訓(xùn)練可用的標(biāo)注數(shù)據(jù);
  • 數(shù)據(jù)平臺(tái):負(fù)責(zé)大規(guī)模數(shù)據(jù)治理;
  • 訓(xùn)練平臺(tái):負(fù)責(zé)模型的訓(xùn)練優(yōu)化;
  • 部署平臺(tái):提供高效、低成本、高可用的部署方案。

這四個(gè)平臺(tái)之間也是循環(huán)迭代的關(guān)系。下面分別介紹這幾個(gè)平臺(tái)的設(shè)計(jì)細(xì)節(jié)及運(yùn)轉(zhuǎn)過程。

5、ATLAS:數(shù)據(jù)與訓(xùn)練

圖片

數(shù)據(jù)與訓(xùn)練部分涵蓋了標(biāo)注平臺(tái)、數(shù)據(jù)平臺(tái)和訓(xùn)練平臺(tái)。

(1) 標(biāo)注平臺(tái)

標(biāo)注平臺(tái)主要為 AI 算法的訓(xùn)練提供標(biāo)注數(shù)據(jù),自從深度學(xué)習(xí)誕生以來(lái),模型已經(jīng)具有了很高的復(fù)雜度,AI 算法效果的瓶頸從模型設(shè)計(jì)上轉(zhuǎn)移到了數(shù)據(jù)質(zhì)量和數(shù)量上,所以數(shù)據(jù)的高效生產(chǎn)是在 AI 算法落地中至關(guān)重要的環(huán)節(jié)。

ATLAS 的數(shù)據(jù)標(biāo)注平臺(tái)主要有兩方面的能力特性:多場(chǎng)景覆蓋和智能標(biāo)注。

  • 多場(chǎng)景覆蓋:ALTAS 標(biāo)注平臺(tái)覆蓋了公司內(nèi)部業(yè)務(wù)涉及的所有算法場(chǎng)景。包括 OCR 當(dāng)中文本檢測(cè)、文本識(shí)別、人臉檢測(cè)及人臉比對(duì),CV 領(lǐng)域的圖像分類,NLP 領(lǐng)域的實(shí)體關(guān)系、文本標(biāo)簽等任務(wù)的數(shù)據(jù)標(biāo)注。
  • 智能標(biāo)注:為了提高數(shù)據(jù)標(biāo)注的效率,ATLAS 標(biāo)注平臺(tái)也提供智能標(biāo)注。包括智能預(yù)標(biāo)注和智能糾錯(cuò)。智能預(yù)標(biāo)注是指利用已經(jīng)訓(xùn)練好的模型預(yù)先給數(shù)據(jù)進(jìn)行標(biāo)注,然后再人工審核,提高標(biāo)注效率。智能糾錯(cuò)是指參考預(yù)標(biāo)注結(jié)果,對(duì)置信度低的標(biāo)注結(jié)果啟動(dòng)重標(biāo)流程。

(2) 數(shù)據(jù)平臺(tái)

數(shù)據(jù)平臺(tái)主要實(shí)現(xiàn)大規(guī)模數(shù)據(jù)治理,在治理的過程中能夠兼顧靈活性,動(dòng)態(tài)地匹配樣本。在保存了上億用戶的5000維度以上的特征的基礎(chǔ)上,可以做到一個(gè)在線的實(shí)時(shí)查詢。動(dòng)態(tài)匹配樣本可以滿足不同場(chǎng)景的樣本選擇和數(shù)據(jù)的選擇要求。

(3) 訓(xùn)練平臺(tái)

訓(xùn)練平臺(tái)是一個(gè)很重要的設(shè)施,分為五個(gè)層:

  • 調(diào)度層:訓(xùn)練平臺(tái)涉及硬件資源的管理,最底層的調(diào)度層就負(fù)責(zé)這些資源的調(diào)度。
  • 控制層:在調(diào)度層之上是控制層,通過把機(jī)器學(xué)習(xí)的任務(wù)變成一些工作流來(lái)實(shí)現(xiàn)異步和分布式工作流控制。
  • 功能層:實(shí)現(xiàn)了一些機(jī)器學(xué)習(xí)平臺(tái)的基礎(chǔ)功能,包括 AutoML、并行計(jì)算、圖計(jì)算。
  • 應(yīng)用層:基于底層的一些技術(shù)能力,把 AI 算法開發(fā)的技術(shù)和能力包封裝成各種不同的特定功能流水線。
  • 用戶層:在應(yīng)用層之上,用戶可以使用這些預(yù)先設(shè)定好的基礎(chǔ)功能來(lái)完成工作目標(biāo)。

6、ATLAS:部署上線

圖片

我們的部署采用類 Serverless 的架構(gòu),之所以說(shuō)它是類 Serverless 是因?yàn)樗⒉皇峭耆?Serverless 的服務(wù)。因?yàn)槲覀兊姆?wù)面向的并不是廣泛通用的應(yīng)用場(chǎng)景,只面向模型的在線服務(wù),所以不需要考慮更多的場(chǎng)景兼容。

在 API 接口這一層提供了模型會(huì)接觸到的三個(gè)部分:

  • 基本的特征加工
  • 模型本身的預(yù)測(cè)
  • 對(duì)于外部數(shù)據(jù)訪問的能力

對(duì)于用戶來(lái)說(shuō),只有圖中橙色部分是用戶需要關(guān)注的,平臺(tái)提供的 API 可以減少開發(fā)成本,并且可以兼容幾乎市面上所有的算法。借助 API 開發(fā)一個(gè)模型,從開發(fā)完成到落地上線可以在一天之內(nèi)甚至半天之內(nèi)完成。在此之上我們通過集群管理,可以為平臺(tái)提供很好的穩(wěn)定性保障、流量管理和容量管理。

7、ATLAS:優(yōu)化迭代

下面演示在 ATLAS 上的兩個(gè)優(yōu)化迭代的場(chǎng)景。

圖片

  • 場(chǎng)景一:在線模型持續(xù)迭代

例如在一個(gè) OCR 模型的落地過程中,舊模型部署之后會(huì)產(chǎn)生一些 bad case,這些 bad case 和已有的標(biāo)注數(shù)據(jù)融合之后成為新的數(shù)據(jù)集,再通過 AutoML 優(yōu)化流水線優(yōu)化舊模型產(chǎn)生新模型,新模型部署之后再循環(huán)往復(fù)。通過這樣的循環(huán)可以讓模型保持額外的1%的準(zhǔn)確率的提升,由于 OCR 的模型精度很高,一般會(huì)在95%以上,所以1%也是很大的提升。

  • 場(chǎng)景二:AutoML 指導(dǎo)優(yōu)化

對(duì)于簡(jiǎn)單重復(fù)的優(yōu)化流程使用全流程 AutoML 替代,對(duì)需要專家經(jīng)驗(yàn)參與的場(chǎng)景使用AutoML 作為輔助優(yōu)化,并且使用全流程 AutoML 的結(jié)果作為 Baseline,選擇最優(yōu)的模型部署上線。在我們公司內(nèi)部有60%以上的場(chǎng)景通過這樣的優(yōu)化方式獲得性能提升,提升效果從1%到5%不等。

二、自動(dòng)機(jī)器學(xué)習(xí)

下面介紹一下我們運(yùn)用了哪些 AutoML 的技術(shù),以及我們所做的改進(jìn)。

1、專家建模與 AutoML

首先介紹一下 AutoML 相比傳統(tǒng)的專家建模有哪些優(yōu)勢(shì)。

圖片

AutoML 的優(yōu)勢(shì)分為三個(gè)方面:

  • 效率方面:AutoML 可以大大縮短 AI 算法研發(fā)周期,一天之內(nèi)可以產(chǎn)出傳統(tǒng)專家建模數(shù)月才能產(chǎn)出的模型;
  • 門檻方面:AutoML 可以減少或者完全不需要專家的參與,降低了研發(fā)門檻;
  • 穩(wěn)定性方面:專家建模依賴人工經(jīng)驗(yàn),優(yōu)化效果不穩(wěn)定,而 AutoML 可以排除經(jīng)驗(yàn)的影響,充分挖掘算法潛力。

2、AutoML簡(jiǎn)介

下面來(lái)介紹一下 AutoML 中常用的技術(shù)。

圖片

AutoML 常用的技術(shù)包括三個(gè)方面:

  • 超參優(yōu)化:最常用的是黑盒優(yōu)化和多保真優(yōu)化;
  • 元學(xué)習(xí):從任務(wù)性質(zhì)或者先驗(yàn)?zāi)P蛠?lái)進(jìn)行學(xué)習(xí);
  • 網(wǎng)絡(luò)結(jié)構(gòu)搜索:專門針對(duì)神經(jīng)網(wǎng)絡(luò)的場(chǎng)景,涉及不同的搜索空間和搜索算法。

在實(shí)際工作過程中,會(huì)根據(jù)不同的任務(wù)場(chǎng)景選擇不同的技術(shù),且這些技術(shù)可以聯(lián)合使用。

下面幾個(gè)部分分別介紹這三方面的技術(shù)。

3、自動(dòng)機(jī)器學(xué)習(xí)平臺(tái):自動(dòng)優(yōu)化流水線

圖片

?首先是超參優(yōu)化部分。實(shí)際上在我們的自動(dòng)優(yōu)化流水線當(dāng)中,是將整個(gè)機(jī)器學(xué)習(xí)流水線作為自動(dòng)優(yōu)化的目標(biāo),而不僅僅是針對(duì)超參優(yōu)化。包括自動(dòng)化的特征工程、模型選擇、模型訓(xùn)練和自動(dòng)集成等,這樣相比單獨(dú)的超參優(yōu)化,降低了過擬合的可能性。

除此之外,我們自己實(shí)現(xiàn)了一個(gè) AutoML 的框架 Genesis,來(lái)兼容主流的 AI 算法和AutoML 工具,且對(duì)擴(kuò)展友好,能夠把平臺(tái)中不同的能力模塊相互正交,使得他們之間可以自由組合,實(shí)現(xiàn)更加靈活的自動(dòng)優(yōu)化流水線。?

4、自動(dòng)機(jī)器學(xué)習(xí)平臺(tái):元學(xué)習(xí)系統(tǒng)

圖片

我們的系統(tǒng)中也使用了元學(xué)習(xí)方法,下面介紹一下元學(xué)習(xí)方法的必要性和應(yīng)用的重點(diǎn)場(chǎng)景。

(1) 元學(xué)習(xí)的必要性

在積累了大量實(shí)驗(yàn)數(shù)據(jù)之后,我們發(fā)現(xiàn)數(shù)據(jù)集在元特征空間呈現(xiàn)明顯的聚集性,所以我們假設(shè)在元特征空間分布接近的數(shù)據(jù)集的最優(yōu)解也會(huì)接近。基于這個(gè)假設(shè),我們使用歷史任務(wù)的超參指導(dǎo)新任務(wù)的參數(shù)優(yōu)化,發(fā)現(xiàn)超參搜索收斂速度會(huì)更快,且在有限的預(yù)算下,算法效果可以額外提升1%。

(2) 應(yīng)用場(chǎng)景

  • 場(chǎng)景一:已有數(shù)據(jù)集衍生

在大數(shù)據(jù)的應(yīng)用場(chǎng)景中,有時(shí)會(huì)需要對(duì)已有數(shù)據(jù)集進(jìn)行合并,例如將數(shù)據(jù)集 A 和數(shù)據(jù)集 B 合并產(chǎn)生新的數(shù)據(jù)集 C,如果用數(shù)據(jù)集 A 和數(shù)據(jù)集 B 的超參作為數(shù)據(jù)集 C 的冷啟動(dòng)來(lái)指導(dǎo)數(shù)據(jù)集 C 的超參優(yōu)化,一方面可以鎖定搜索空間,另一方面可以達(dá)到最優(yōu)的參數(shù)優(yōu)化結(jié)果。

  • 場(chǎng)景二:數(shù)據(jù)集重復(fù)采樣

在實(shí)際開發(fā)過程中有時(shí)會(huì)需要對(duì)數(shù)據(jù)集進(jìn)行采樣,再對(duì)采樣后的數(shù)據(jù)集進(jìn)行超參優(yōu)化,因?yàn)椴蓸雍蟮臄?shù)據(jù)的元特征空間分布與原始數(shù)據(jù)是接近的,所以用原始數(shù)據(jù)集的超參去指導(dǎo)采樣數(shù)據(jù)的超參優(yōu)化,就可以提高優(yōu)化效率。

5、自動(dòng)機(jī)器學(xué)習(xí)平臺(tái):深度學(xué)習(xí)優(yōu)化

圖片

最后是我們針對(duì)深度學(xué)習(xí)場(chǎng)景所做的自動(dòng)優(yōu)化。分為超參優(yōu)化和對(duì) NAS 的探索兩個(gè)方面:

  • 深度學(xué)習(xí)超參優(yōu)化

深度學(xué)習(xí)的開發(fā)瓶頸在于訓(xùn)練時(shí)間,一次迭代時(shí)間需要數(shù)小時(shí)到數(shù)天,那么使用傳統(tǒng)貝葉斯優(yōu)化需要迭代二、三十次,訓(xùn)練時(shí)長(zhǎng)長(zhǎng)達(dá)一個(gè)月到幾個(gè)月。所以我們會(huì)在深度學(xué)習(xí)超參優(yōu)化的部分使用 Hyperband 方法為貝葉斯優(yōu)化提供種子,加速超參搜索進(jìn)程。在此基礎(chǔ)之上,我們還會(huì)運(yùn)用歷史數(shù)據(jù)的信息來(lái)優(yōu)化冷啟動(dòng),以及用歷史的替代模型做集成,都會(huì)比隨機(jī)初始化以更快收斂速度達(dá)到全局最優(yōu)解。

  • NAS探索

實(shí)際開發(fā)場(chǎng)景中,不同的部署場(chǎng)景對(duì)模型的規(guī)模和時(shí)間性能要求不同,其次神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化是模型優(yōu)化的重要部分,我們需要排除這個(gè)步驟里的人工干擾。所以我們提出了這個(gè)基于權(quán)重糾纏的 One-shot NAS 的方法,搜索效率可以達(dá)到經(jīng)典的 DARTS 方法的3倍以上的,并且搜索到的子網(wǎng)模型的參數(shù)量和計(jì)算成本都是可控的,我們可以在目標(biāo)之內(nèi)選擇合適的模型。除此之外,我們還支持 MobileNet、ResNet 等多樣空間來(lái)滿足不同的 CV 任務(wù)需求。

三、規(guī)模與效率

最后來(lái)討論一下我們?cè)跈C(jī)器學(xué)習(xí)平臺(tái)建設(shè)過程中碰到的規(guī)模和效率的問題。

1、深度學(xué)習(xí)困境

我們之所以會(huì)關(guān)注規(guī)模和效率問題,是因?yàn)樯疃葘W(xué)習(xí)面臨著模型規(guī)模和計(jì)算需求之間的沖突。

圖片

更多的模型參數(shù)意味著更好的模型表現(xiàn)是行業(yè)的共識(shí)。而深度學(xué)習(xí)存在如下的摩爾定律:

  • 模型參數(shù)規(guī)模一年翻十倍
  • 硬件性能18個(gè)月翻一倍

所以高速增長(zhǎng)的計(jì)算需求與硬件性能之間的鴻溝必須通過優(yōu)化來(lái)解決。

2、數(shù)據(jù)并行

最常用的優(yōu)化方法就是并行,包括數(shù)據(jù)并行、模型并行等。其中最常用的是數(shù)據(jù)并行的技術(shù)。

圖片

ATLAS 平臺(tái)的數(shù)據(jù)并行技術(shù)有以下特征:

  • 作為 ATLAS 基礎(chǔ)功能,可以實(shí)現(xiàn)無(wú)感使用;
  • 不僅能支持人工神經(jīng)網(wǎng)絡(luò)模型,也支持 Boosting 模型,如 XGB、LGBM 等;
  • 支持多種通信架構(gòu)的優(yōu)化并行效率;
  • 就優(yōu)化效果來(lái)說(shuō),對(duì)于神經(jīng)網(wǎng)絡(luò)模型和 Boosting 模型,吞吐都有線性的提升,而且對(duì)于神經(jīng)網(wǎng)絡(luò)模型來(lái)說(shuō),并行訓(xùn)練提高了可訓(xùn)練規(guī)模,可以加快收斂速度,最終能夠提高模型精度。

3、模型并行

還有一些模型不能只靠數(shù)據(jù)并行解決訓(xùn)練效率問題,還需要引入模型并行技術(shù)。

圖片

ATLAS 的模型并行主要分為兩個(gè)方面:

  • 場(chǎng)景一:層內(nèi)并行

一些網(wǎng)絡(luò)模型的全連接層參數(shù)規(guī)模非常大,如 arcFace 的分類規(guī)模高達(dá)幾十、上百萬(wàn)甚至上千萬(wàn),這樣的一個(gè)全連接層不可能通過一張 GPU 卡覆蓋。這時(shí)需要引入層內(nèi)并行技術(shù),不同節(jié)點(diǎn)計(jì)算同一張量的不同部分。

  • 場(chǎng)景二:層間并行(流水并行)

同時(shí)也會(huì)用到層間并行技術(shù),即在不同的節(jié)點(diǎn)上面計(jì)算網(wǎng)絡(luò)的不同層的數(shù)據(jù),將沒有依賴的計(jì)算前置來(lái)減少計(jì)算過程中的 IDLE(GPU 等待時(shí)間)。

4、圖并行

除了可以用張量描述的線性數(shù)據(jù)以外,我們做了一些圖數(shù)據(jù)并行訓(xùn)練的探索。

圖片

對(duì)圖數(shù)據(jù)來(lái)說(shuō),不管是采樣還是其他操作都需要?jiǎng)討B(tài)跨節(jié)點(diǎn),而且圖數(shù)據(jù)一般規(guī)模都很大,我們內(nèi)部的圖數(shù)據(jù)達(dá)到了百億的規(guī)模,這樣的圖數(shù)據(jù)的計(jì)算很難在單機(jī)上完成。

圖數(shù)據(jù)分布式計(jì)算的瓶頸在于映射表,傳統(tǒng)的映射表的空間復(fù)雜度為 O(n),如10億個(gè)點(diǎn)10億條邊的圖數(shù)據(jù)占內(nèi)存160GB,形成分布式訓(xùn)練的規(guī)模天花板。我們提出了一個(gè)空間復(fù)雜度為 O(1)的方法,通過重排節(jié)點(diǎn)和邊的 ID,只保留映射邊界,達(dá)到圖并行訓(xùn)練規(guī)??扇我鈹U(kuò)展的效果。

5、訓(xùn)練效率

同時(shí)我們也做了一些訓(xùn)練效率方面的優(yōu)化。

圖片

  • GPU 利用率優(yōu)化

GPU 的很多時(shí)間都消耗在讀取數(shù)據(jù),GPU 空等,通過事前培訓(xùn)、事中監(jiān)控預(yù)警、事后分析可以使 GPU 平均使用率提升一倍。

  • 反向傳播重計(jì)算

我們還使用了反向傳播重計(jì)算技術(shù)。對(duì)于一些參數(shù)非常多的模型,在正向傳播的過程中,我們并不保存所有的層的計(jì)算結(jié)果,僅保留部分節(jié)點(diǎn)的 checkpoint,在反向傳播時(shí)空白參數(shù)節(jié)點(diǎn)從 checkpoint 開始重新計(jì)算。通過這種方式可以減少50%以上的內(nèi)存資源,訓(xùn)練效率提高35%以上。

四、總結(jié)與思考

圖片

最后談?wù)勗跈C(jī)器學(xué)習(xí)平臺(tái)的建設(shè)中的經(jīng)驗(yàn)和思考。

們總結(jié)了如下一些經(jīng)驗(yàn):

  • 首先,機(jī)器學(xué)習(xí)平臺(tái)是解決我們AI算法落地的一個(gè)最有效的方案

因?yàn)槲覀?AI 算法落地涉及到的,技術(shù)和內(nèi)容是方方面面的,我不可能要求任意任一個(gè)環(huán)節(jié)上的同學(xué)都會(huì)了解整個(gè)全局,那我們一定要有一個(gè)平臺(tái)能提供這些基礎(chǔ)的能力來(lái)幫助大家去解決這些問題。

  • 其次,我們認(rèn)為 AutoML 的應(yīng)用是機(jī)器學(xué)習(xí)平臺(tái)的核心建設(shè)能力;

因?yàn)橹挥邪炎詣?dòng)化或者 AutoML 的應(yīng)用做得好了,才能夠更有效的去解放算法專家的生產(chǎn)力,讓算法專家可以去做一些更深入的算法,或者能力的建設(shè)來(lái)提高機(jī)器學(xué)習(xí)的上限。

  • 最后,就是在這個(gè)設(shè)計(jì)過程中,因?yàn)槭歉嗟氖强紤]一個(gè)內(nèi)部應(yīng)用的場(chǎng)景,我們的功能和能力的設(shè)計(jì),會(huì)針對(duì)我們的業(yè)務(wù)實(shí)際,優(yōu)先滿足業(yè)務(wù)的要求。

展望未來(lái):

  • 首先,會(huì)將 ATLAS 的能力適配更多的場(chǎng)景,做到更高的效率。
  • 其次,我們會(huì)探索 3D 并行等訓(xùn)練優(yōu)化技術(shù)在超大規(guī)模語(yǔ)言模型上面的應(yīng)用,使我們的算法效果和行業(yè)前沿 AI 算法的水平接近。

五、問答環(huán)節(jié)

Q1:開源的AutoML框架,我們嘗試過哪些推薦哪些?

A1:開源的 AutoML 框架現(xiàn)在用的比較多的就是 Optuna,還嘗試過 Auto-Sklearn 和 AutoWeka,然后給大家推薦一個(gè)網(wǎng)站是 automl.org,因?yàn)槠鋵?shí)現(xiàn)在做這個(gè)領(lǐng)域的人還是比較少的,這個(gè)網(wǎng)站是幾個(gè)在 AutoML 領(lǐng)域的專家教授建的一個(gè)網(wǎng)站,上面有很多的 AutoML 的開源學(xué)習(xí)資料,大家都可以去參考。開源框架我們比較推薦的是我們用的 Optuna 去做調(diào)參,因?yàn)樗乃惴ǖ膩?lái)說(shuō)的話就不是就這種最基礎(chǔ)的貝葉斯優(yōu)化,它是一個(gè) TPE 的算法,比較適合參數(shù)量非常大的一些場(chǎng)景,貝葉斯優(yōu)化還是更適合參數(shù)比較少的一些場(chǎng)景,不過我的建議是說(shuō)大家可能針對(duì)不同的場(chǎng)景嘗試一些不同的方法,因?yàn)榫妥龈鄧L試之后,大家可能會(huì)對(duì)什么場(chǎng)景適合什么方法更有經(jīng)驗(yàn)。

Q2:機(jī)器學(xué)習(xí)平臺(tái)的開發(fā)周期是多久?

A2:我們的機(jī)器學(xué)習(xí)平臺(tái)從建設(shè)開始到現(xiàn)在已經(jīng)經(jīng)過3、4年的時(shí)間。最開始我們先解決部署應(yīng)用的問題,然后后面是開始建設(shè)我們的生產(chǎn)能力,比如計(jì)算和訓(xùn)練。如果從零開始搭建的話,我建議大家可以參考一些開源的框架先搭建起來(lái),然后看看在使用過程中,針對(duì)自己的業(yè)務(wù)場(chǎng)景會(huì)遇到什么樣的問題,好明確后面的開發(fā)方向。

Q3:交叉驗(yàn)證的時(shí)候怎么消除過擬合?

A3:這可能是一個(gè)更具體的算法優(yōu)化的問題,但在我們的優(yōu)化流水線里面,我們是通過采樣的方法來(lái)訓(xùn)練的,通過這樣的方式讓我們的任務(wù)能夠見到數(shù)據(jù)集的更多的角度,或者說(shuō)方面,然后再通過把這些采樣之后訓(xùn)練得到的 top 模型集成起來(lái),來(lái)讓我們的模型有更強(qiáng)的泛化能力,這在我們的場(chǎng)景里面也是非常重要的一個(gè)方法。

Q4:我們構(gòu)建整個(gè)機(jī)器學(xué)習(xí)學(xué)習(xí)平臺(tái),開發(fā)周期和人員投入大概是多少啊?

A4:這個(gè)開發(fā)周期剛才講過,大概是三到四年的時(shí)間。然后人員投入的話,目前是有六七個(gè)同學(xué),在早期的話比這個(gè)人數(shù)還要少。

Q5:虛擬化GPU會(huì)不會(huì)對(duì)機(jī)器學(xué)習(xí)平臺(tái)有提升?

A5:首先這個(gè)同學(xué)提到的虛擬化 GPU,應(yīng)該是指資源的分割和隔離吧。我們做機(jī)器學(xué)習(xí)平臺(tái)的話,虛擬化 GPU 應(yīng)該是一個(gè)必須的能力,就是說(shuō)我們一定要把資源做到虛擬化,才能做更好的資源調(diào)度和分配。然后在這個(gè)基礎(chǔ)之上的話,我們可能還會(huì)把我們的 GPU 的顯存和它的計(jì)算資源去做分割,然后把不同大小的資源塊去分給不同任務(wù)使用,但這一點(diǎn)實(shí)際上我們沒有在訓(xùn)練里面去用,因?yàn)橛?xùn)練的任務(wù)通常會(huì)對(duì)計(jì)算的能力有更高的要求,不會(huì)是一個(gè)更小的資源消耗的應(yīng)用場(chǎng)景,我們?cè)谕评淼膱?chǎng)景里面是會(huì)用到的。我們?cè)趯?shí)際應(yīng)用過程當(dāng)中發(fā)現(xiàn)虛擬化技術(shù)沒有很好的開源免費(fèi)的方案,有部分的云服務(wù)廠商會(huì)提供一些收費(fèi)的方案,所以說(shuō)我們自己在部署上使用的是分時(shí)復(fù)用的方案,就是把一些計(jì)算要求高的任務(wù)和一些計(jì)算要求低的任務(wù)去做混布,來(lái)做到分時(shí)的復(fù)用,在一定程度上能達(dá)到提高容量的效果。

Q6: 多節(jié)點(diǎn)分布式并行訓(xùn)練加速比怎么樣?能接近線性嗎?

A6:我們是可以接近一個(gè)線性的加速比的,就是我們自己測(cè)的話,比較好的時(shí)候大概可以達(dá)到一個(gè)80到90的程度。當(dāng)然,如果節(jié)點(diǎn)數(shù)量非常多,可能還會(huì)需要做進(jìn)一步的優(yōu)化,現(xiàn)在可能大家發(fā)論文或者看到論文里面會(huì)提到說(shuō)32個(gè)或者64個(gè)節(jié)點(diǎn)可以達(dá)到80、90的加速比,那可能是要有一些更專門的優(yōu)化。但我們?cè)跈C(jī)器學(xué)習(xí)平臺(tái)里面的話,有可能會(huì)要針對(duì)更廣泛的場(chǎng)景,在實(shí)際的場(chǎng)景里面,大多數(shù)的訓(xùn)練可能是4個(gè) GPU 卡、8個(gè) GPU 卡,最多16個(gè) GPU 卡就能夠滿足要求。

Q7:使用 AutoML 時(shí),用戶需要配置哪些參數(shù)?整個(gè)計(jì)算大概需要多少算力和時(shí)間?

A7:我們的 AutoML 最理想的情況,用戶是不需要配置任何參數(shù)的。當(dāng)然我們會(huì)根據(jù)用戶的需求,允許用戶自己去調(diào)整,或者確定一些參數(shù)。時(shí)間消耗的話,就是我們所有的 AutoML 場(chǎng)景,我們的目標(biāo)都是希望能在一天之內(nèi)去完成優(yōu)化。然后算力的話,如果是一般的大數(shù)據(jù)建模,比如樹模型 XGB、LGBM 這些的話,就是一臺(tái)機(jī)器都可以搞定;如果是 GPU 的任務(wù)的話,要看這個(gè) GPU 任務(wù)本身的一個(gè)規(guī)模,基本上就是原有的訓(xùn)練規(guī)模的2到3倍的算力,就可以完成 AutoML 的訓(xùn)練。

Q8:有哪些開源的機(jī)器學(xué)習(xí)框架可以參考?

A8:這個(gè)問題剛才提到過,就是像 Optuna,Auto-Sklearn 還有 AutoWeka 這些都是可以參考的。然后剛才有說(shuō)到那個(gè) automl.org 的這個(gè)網(wǎng)站,上面有很多資料,大家可以去學(xué)習(xí)一下。

Q9:與 EasyDL 的關(guān)系是什么?

A9:EasyDL 是百度的,我們這個(gè)框架是完全自研的。

今天的分享就到這里,謝謝大家。

責(zé)任編輯:姜華 來(lái)源: DataFunTalk
相關(guān)推薦

2023-10-23 07:13:04

2023-02-22 07:04:05

自動(dòng)機(jī)原理優(yōu)化實(shí)踐

2017-07-27 10:46:44

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)強(qiáng)化學(xué)習(xí)

2020-12-18 07:42:30

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)

2023-10-23 09:29:24

AI工具

2018-09-20 08:53:56

AI平臺(tái)工具

2022-12-09 14:57:53

戴爾

2020-11-26 18:30:33

機(jī)器學(xué)習(xí)Kubernetes開發(fā)

2018-11-12 13:01:45

機(jī)器學(xué)習(xí)模型元學(xué)習(xí)

2015-05-27 09:51:45

百度深度學(xué)習(xí)人工智能

2020-12-21 15:11:33

機(jī)器學(xué)習(xí)工具開源

2018-07-19 10:35:12

機(jī)器學(xué)習(xí)數(shù)據(jù)平臺(tái)

2022-10-09 08:08:02

人工智能機(jī)器學(xué)習(xí)平臺(tái)

2021-01-08 13:42:28

愛奇藝機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2022-04-01 09:30:00

開源AutoXGBAPI

2020-07-09 18:35:34

AWS機(jī)器學(xué)習(xí)

2017-03-21 09:17:37

2021-04-12 09:00:00

機(jī)器學(xué)習(xí)深度學(xué)習(xí)技術(shù)

2020-09-17 20:25:00

人工智能

2018-10-26 14:57:16

開源微軟
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)