日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

干货!华为AutoML助力AI开发效率提升攻略

發(fā)布時間:2025/3/8 ChatGpt 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 干货!华为AutoML助力AI开发效率提升攻略 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

你是不是還在為掌握的AI算法少而煩惱?

你是不是還在為選擇某個處理方法而猶豫不決?

你是不是還在為調(diào)參四處尋求幫助?

你是不是因為超參優(yōu)化的龜速而憤慨?

你是不是還在為持續(xù)優(yōu)化某個模型而感到寸步難行?

從現(xiàn)在開始,有了華為NAIE AutoML?,這些都不是事啦!

為解決AI工程師在開發(fā)AI應(yīng)用場景所遇到的問題,NAIE平臺落地AutoML框架(工具)來輔助大家更高效、更迅速解決AI開發(fā)問題。

Follow me,看我們?nèi)绾斡肗AIE AutoML逐個擊破開發(fā)難題!

1.AI開發(fā)中常見的問題和挑戰(zhàn)


1.1 選擇什么樣的Pipeline?


一個完整的機器學(xué)習(xí)應(yīng)用開發(fā)主要包括數(shù)據(jù)預(yù)處理、特征工程、模型選擇和超參優(yōu)化這些關(guān)鍵模塊,每個關(guān)鍵模塊里面又有很多子模塊,如下圖所示。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

而每個模塊中又有很多不同的方法。針對特定的數(shù)據(jù)集,選取每個子模塊的方法并按照一定的邏輯拼接起來,就構(gòu)成了一個pipeLine,運行整個pipeline即可得到一個模型。但是這樣的 pipeline 的量級大多在百萬級以上,我們該如何從這些pipeline中選擇最優(yōu)的呢?

1.2 如何快速驗證AI算法的可行性?


在AI場景的預(yù)研階段,算法工程師會有很多的想法。針對每個想法,需要快速驗證可行性。你是不是因為不了解某個算法而不斷光顧各大論壇,去了解算法的調(diào)用和調(diào)參技巧?你是不是經(jīng)歷過“剛學(xué)懂某個算法,其他團隊都已經(jīng)落地了”這種尷尬局面。你是不是經(jīng)歷過“1000次的超參迭代需要3天才能知道結(jié)果”?我們無法忍受算法入門的高門檻、調(diào)參的煉金術(shù)和迭代的漫長等待。對于一個剛?cè)腴T的AI算法工程師,如何進行快速驗證AI算法的可行性是一個非常迫切的問題。

?????????????????????????????????????

1.3 如何進行持續(xù)的調(diào)優(yōu)學(xué)習(xí)?


在AI的調(diào)優(yōu)中,由于有限的時間和算力,我們是無法遍歷所有可能的調(diào)優(yōu)方式。AI工程師通常會根據(jù)經(jīng)驗設(shè)定少數(shù)幾個pipeline,根據(jù)pipeline的運行結(jié)果,再根據(jù)經(jīng)驗來調(diào)整pipeline中各個模塊的方法或超參。這樣的人工調(diào)整操作費時費力,通常一天只能進行十幾次的嘗試。對于海量的搜索空間來說,基本是大海撈針。再加上專家的精力和時間有限,因此,對一個特定任務(wù)進行持續(xù)的調(diào)優(yōu)學(xué)習(xí)是非常大的挑戰(zhàn)。

1.4 如何做到結(jié)果復(fù)現(xiàn)


在AI應(yīng)用開發(fā)的過程中,你是不是偶爾調(diào)到一個很好的模型沾沾自喜,但是給領(lǐng)導(dǎo)演示時結(jié)果卻不能復(fù)現(xiàn)而尷尬萬分。為了避免這種尷尬的局面,我們需要在每次的試驗中做到結(jié)果的可重復(fù)。一般情況下,我們會設(shè)定隨機種子來確定。設(shè)定了隨機種子后,結(jié)果一定是可以復(fù)現(xiàn)的嗎?不是的,有些算法是多線程的,如lightgbm,同時線程的個數(shù)也會影響算法的結(jié)果。另外,交叉驗證數(shù)據(jù)的劃分、基于模型的超參選擇等均具有隨機性。如何做到結(jié)果的可復(fù)現(xiàn),對AI工程師也是一個比較大的挑戰(zhàn)。

那么面對這些困難和挑戰(zhàn),華為NAIE AutoML是如何逐個攻破的呢?

2.NAIE 平臺AutoML介紹

AutoML(Automatic Machine Learning)是一個自動化機器學(xué)習(xí)分析系統(tǒng),可以讓普通的開發(fā)人員、業(yè)務(wù)人員參與機器學(xué)習(xí)建模,同時能把數(shù)據(jù)科學(xué)家從繁瑣、反復(fù)的算法調(diào)優(yōu)中解放出來,降低機器學(xué)習(xí)的使用門檻,提升工作效率。究其根本AutoML能有如此功效,主要是它把機器學(xué)習(xí)中的數(shù)據(jù)預(yù)處理、特征工程、算法模型、集成學(xué)習(xí)等經(jīng)驗性工作自動化,達到提升開發(fā)效率的結(jié)果。

下面我們將介紹NAIE平臺AutoML技術(shù)。

2.1?NAIE AutoML 架構(gòu)

NAIE平臺AutoML采用業(yè)界經(jīng)典的AutoML框架,主要包括數(shù)據(jù)預(yù)處理、特征工程、算法模型、超參優(yōu)化、集成學(xué)習(xí)五個模塊,其中,超參優(yōu)化模塊是對數(shù)據(jù)預(yù)處理、特征工程、算法模型構(gòu)成的pipeline進行超參尋優(yōu)。主要框架圖如下:

華為NAIE AutoML的設(shè)計主要考慮到以下兩個方面:

1.??? 對于普通AI開發(fā)者,可以調(diào)用NAIE AutoML來處理大部分業(yè)務(wù)場景問題;

2.??? 對于專業(yè)AI開發(fā)者,NAIE AutoML提供高可擴展的接口供用戶針對業(yè)務(wù)場景自定義相關(guān)模塊來解決相應(yīng)的業(yè)務(wù)問題。

在AI應(yīng)用的實戰(zhàn)中,需要不斷地嘗試各種策略,如增加優(yōu)化的迭代次數(shù)、更換評估指標等。NAIE平臺AutoML框架提供基于Pipeline的超參優(yōu)化、持續(xù)的超參優(yōu)化、分布式超參優(yōu)化加速、可擴展、可復(fù)現(xiàn)等特性,使得用戶能夠快速試驗超大的超參迭代次數(shù)、自定義針對業(yè)務(wù)問題的算法模塊、復(fù)現(xiàn)已有的探索結(jié)果,顯著提高用戶的開發(fā)效率。

2.1.1?? 強大的超參優(yōu)化引擎

1)支持pipeline 的超參尋優(yōu)

NAIE AutoML不僅支持由數(shù)據(jù)預(yù)處理、特征工程和模型所構(gòu)成pipeline的超參優(yōu)化,同時也支持針對模型的超參優(yōu)化,僅需要把數(shù)據(jù)預(yù)處理和特征工程部分關(guān)閉即可。

2)支持分布式并行加速

業(yè)界在使用AutoML技術(shù)的過程中,由于參數(shù)空間非常大,一般地,需要將迭代次數(shù)設(shè)置為2000次或更多。單個節(jié)點,運行2000次超參,非常耗時。NAIE 平臺AutoML可以采用多節(jié)點并行技術(shù),通過Master-Worker機制大大縮短了時間。

圖:分布式實現(xiàn)示意圖

3)支持超參的持續(xù)學(xué)習(xí)

在實際的場景中,我們并不清楚終止的條件對不對,因此,我們只能在測試數(shù)據(jù)上不斷的驗證。當(dāng)驗證的效果隨著迭代次數(shù)顯著提升時,用戶仍然想迭代更多的次數(shù)。為了節(jié)省資源和時間,NAIE AutoML實現(xiàn)了增量的超參優(yōu)化,且能夠做到100+50=150,即第一次運行迭代100次,基于第一次任務(wù)再增量迭代50次,最終得到的結(jié)果與單次運行迭代150次的結(jié)果保持一致。

2.1.2??? 集成學(xué)習(xí)

不同數(shù)據(jù)挖掘算法都有對應(yīng)的適用條件,并非都能適用所有場景及數(shù)據(jù),NAIE AutoML通過集成學(xué)習(xí)技術(shù)實現(xiàn)對多個算法進行融合得到最佳的模型,讓最終模型更加魯棒 (robust)。具體實現(xiàn)流程如下:

2.1.3??? 可擴展

1. 自定義算法模型

一般AutoML會針對不同的任務(wù)提供了內(nèi)置的算法模型,內(nèi)置算法支持指定某幾種算法來參與建模。然而幾種內(nèi)置算法無法覆蓋所有的應(yīng)用場景需求,因此NAIE AutoML提供了自定義算法模型能力,用戶可以根據(jù)框架規(guī)范開發(fā)相應(yīng)的接口來實現(xiàn)自定義算法模型。

2.?自定義評估指標

AutoML針對不同的任務(wù),提供了內(nèi)置的評估指標,如對于分類問題,提供precision、recall、f1等評估指標。但是很多業(yè)務(wù)場景問題,往往這些評估指標是不夠的,如設(shè)備故障檢測場景中,業(yè)務(wù)指標是滿足誤報率(False Alarm Rate) <= 0.1%情況下, 查全率(Fault Detection Rate) 要盡量高。類似設(shè)備故障檢測這樣的場景,需要根據(jù)業(yè)務(wù)問題來設(shè)自定義置評估指標,NAIE AutoML提供自定義評估指標接口。

3. 自定義交叉驗證

AutoML中內(nèi)置了交叉驗證,但內(nèi)置交叉驗證無法覆蓋所有用戶的需求。因此,NAIE AutoML也提供了自定義交叉驗證接口。

2.1.4??? 可復(fù)現(xiàn)

在AutoML中,超參的選取、代理模型的生成、模型的訓(xùn)練等均受到隨機種子的影響。NAIE AutoML將所有涉及隨機的模塊,采用統(tǒng)一的隨機種子參數(shù)來控制。除此之外,當(dāng)設(shè)定隨機種子時,我們會自動把影響算法運行結(jié)果的線程數(shù)設(shè)置為1。這樣便使得NAIE AutoML試驗具備可重復(fù)性,即相同的AutoML配置,在不同的時間點運行,結(jié)果是相同的。

下面我們以“設(shè)備故障檢測場景”為案例給大家介紹NAIE AutoML的具體應(yīng)用效果。

3.NAIE AutoML在設(shè)備故障檢測場景中的應(yīng)用

3.1 業(yè)務(wù)場景

網(wǎng)絡(luò)設(shè)備故障經(jīng)常發(fā)生,且在故障發(fā)生后才感知,極大影響運維效率和成本。傳統(tǒng)的方法是當(dāng)故障出現(xiàn)后,需要投入大量人力和物力去定位故障、恢復(fù)業(yè)務(wù)。

如何使用AI技術(shù)來提前預(yù)測故障發(fā)生的時間點,提前采取措施?針對這一業(yè)務(wù)問題,業(yè)務(wù)部門提出以下業(yè)務(wù)目標:在FAR<=0.1% 下,FDR盡量大,其中,

  • FDR=False Detection Rate,查全率,即故障實際發(fā)生,模型預(yù)測為故障發(fā)生;

  • FAR=Fault Alarm Rate,誤報率,即故障實際未發(fā)生,而模型預(yù)測為故障發(fā)生。

簡而言之就是,在保證低誤報率的情形下,盡量不要漏掉故障。

3.2 業(yè)務(wù)目標轉(zhuǎn)化

對于設(shè)備故障檢測應(yīng)用,AI算法里面是一個二分類問題,把故障情況看作是正樣本,把其他情況看作是負樣本,則業(yè)務(wù)指標FDR與FAR對應(yīng)為二分類中ROC曲線中的 True Positive Rate與False Positive Rate,見下圖。

圖:業(yè)務(wù)目標FDR與FAR與ROC曲線的對應(yīng)關(guān)系

根據(jù)上圖可以得到業(yè)務(wù)目標的表達式,代碼如下:

from sklearn.metrics import roc_curve

def fdr_score(y_true, y_proba):

??? ? ? """

??? ? ? 對模型預(yù)測概率與真實的標簽進行評分

??? ? ? FAR、FDR分別為ROC圖中的fpr、tpr

??? ? ? Parameters

??? ? ? __________

??? ? ? y_true : numpy.array

??????? ? ? 測試數(shù)據(jù)的真實標簽,值為1或0

??? ? ? y_proba : numpy.array

??????? ? ? 模型對類別1的預(yù)測概率,值為0-1之間的浮點數(shù)

??? ? ? Return

??? ? ? _______

??? ? ? max_tpr: float

??????? ? ? 當(dāng)誤報率FAR<0.1%時,檢出率FDR的最大值???????

??? ? ? """

??? ? ? fpr, tpr, _ = roc_curve(y_true, y_proba)

??? ? ? max_tpr = tpr[np.where(fpr < 0.001)][-1]

??? ? ? return max_tpr

3.3 基于NAIE AutoML的具體應(yīng)用

3.3.1??? 設(shè)備故障檢測場景的特殊性

設(shè)備故障檢測場景的業(yè)務(wù)目標跟分類問題中的 precision、recall、f1等分類評估指標不同,是根據(jù)業(yè)務(wù)問題得到的。為了保證超參優(yōu)化的目標與業(yè)務(wù)目標是一致的,可以使用NAIE AutoML提供的注冊自定義評估指標來實現(xiàn)。

3.3.2??? 極簡代碼調(diào)用

調(diào)用步驟:

Step1:初始化NAIE AutoML類

Step2:注冊自定義評估指標 fdr_score

Step3:? 進行訓(xùn)練

代碼如下:

from naie.automl import VegaAutoML

# Step1:初始化VegaAutoML

automl = ? ? VegaAutoML(model_type="classifier",

???????????????????? ? ? target_column="failure",

???????????????????? ? ? ignored_columns=["disk_sn"],

???????????????????? ? ? train_data_reference=get_data_reference(dataset="data", ? ? dataset_entity="train"),

???????????????????? ? ? optimization_method="SMAC",

???????????????????? ? ? included_models=['lightgbm'],

???????????????????? n_folds=5,

???????????????????? ? ? metrics="fdr",

???????????????????? workers=5,

???????????????????? max_trial_number=1000,

???????????????????? random_state=1)

# Step2:注冊自定義評估指標(fdr_score)

automl.register_metric_evaluator("fdr", ? ? fdr_score)

# Step3: 開始訓(xùn)練

automl.train()

參數(shù)簡要說明:

1.??? optimization_method:超參優(yōu)化方法,當(dāng)前支持網(wǎng)格搜索、隨機搜索和SMAC優(yōu)化算法

2.??? included_models:默認為None, 表示搜索所有內(nèi)置的模型。通過該配置參數(shù),實現(xiàn)只對部分模型進行搜索。

3.??? metrics:評估指標,可以是內(nèi)置的評估指標,也可以是自定義的評估指標;

4.??? workers: 并行數(shù),通過該配置參數(shù),實現(xiàn)分布式加速;

5.??? random_state: 隨機種子,指定該配置,可以實現(xiàn)AutoML過程的可重復(fù)性。

3.3.3??? 效果

經(jīng)過簡單的幾行代碼即可實現(xiàn)在設(shè)備故障檢測場景上的建模。試驗展示,經(jīng)過1000次的迭代即可達到專家經(jīng)驗的水平。

工欲善其事,必先利其器。AutoML是AI初學(xué)者和專業(yè)開發(fā)人員的必備武器。NAIE平臺已將AutoML為大家備好,歡迎大家來NAIE官網(wǎng)體驗!

https://www.huaweicloud.com/HDC.Cloud.html

往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復(fù)“加群”獲取一折本站知識星球優(yōu)惠券,請回復(fù)“知識星球”喜歡文章,點個在看

總結(jié)

以上是生活随笔為你收集整理的干货!华为AutoML助力AI开发效率提升攻略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。