如何知道AI模型訓練的成果好壞?你需要標註兼判斷系統

【若水導讀】提升AI模型表現的機制:
1. 建立標註兼判斷系統(Label System)
2. 建立AI安全機制
3. 把DevOps加入AI開發和日常營運

《AI數據處理實戰攻略》,若水邀請到前趨勢科技資深技術經理張佳彥,分享多年來每天管理AI團隊、AI專案的落地實戰經驗。

上一篇攻略提到,當AI模型的成效表現不佳,問題可能出在哪裡,以及如何建立完整的AI模型Debug流程,接著來談談AI數據標註兼判斷系統(Label System)的概念。

什麼是標註兼判斷系統?

要知道AI模型的成效好不好,有沒有出問題,最有效的方式是建立一個「協助產生數據標註和進行判斷的系統(Label System)」來幫你監測。

這個模型系統的作用有兩個,一方面是協助確認數據之間,是否像「當AI模型表現不好,該從哪裡找問題?」篇提到的,有Feature Collision,或標註品質不佳的問題,把這些問題反映給AI工程師,進而改善整體數據流的品質;另一方面,是利用這些實際的數據流,重新訓練模型(Retrain),提升成效。

先前我曾經提到,開展AI專案、決定數據量多寡之前,要先分辨你的AI命題是不會變動,還是會變動的。

如果是不會變動的命題,工程師只需要收集足夠的資料,訓練出符合商業需求的模型,就可以直接進入產出應用階段。但如果你的AI命題屬於會變動的命題,就會需要建立上述系統,自動化的幫你監測並優化AI模型成效。

(延伸閱讀:AI落地命題怎麼找?

為什麼我需要數據標註兼判斷系統?

講到這裡,不曉得會不會有人發現一個矛盾的地方。AI工程師為了知道AI模型有沒有出問題,需要另外建立一個AI數據標註系統,來告訴我正確答案。

但想想,如果今天AI工程師已經有能力建立一個更準的AI數據標註兼判斷系統,幫忙監控和優化原本的機器學習模型,那原本的機器學習模型,不就太弱、派不上用場了嗎?

乍聽之下兩個AI模型好像應該二擇一,但再仔細想想,就會發現情況不然。一個AI模型,如果沒有任何系統幫忙監控,我又該如何知道我的AI模型,到底是學對還是學錯?

在多數人的想像中,AI數據標註兼判斷系統是等到最後,AI模型實際上線後需要預測數據流,再來建立的東西。但其實,這個AI模型系統,和機器學習模型之間,不是非黑即白的關係,而是雞生蛋、蛋生雞,兩者並存的關係。

和所有商業決策一樣,AI專案的模型開發過程,本身就是一種商業取捨。標註兼判斷系統有其必要性,主要需要考量兩個點。一,是反應時間,二,是成本考量。

如果AI數據標註兼判斷系統,要花上一個小時的時間,才能給出正確結果,而實際商業情況上卻等不了那麼久,我們可以利用AI模型做到即時判斷,但是使用一個小時之後的正確結果,來監測模型的表現。

另一種情況是,AI數據標註兼判斷系統比較精準,但成本也比較貴(例如人工標註)。此時,因為它比較貴,就不建議把所有數據都拿來做標註,要挑一些比較重要、具代表性的數據來做標註,才符合監測的效益。

如何建立AI數據標註兼判斷系統?

AI數據標註兼判斷系統,除了用來監控AI模型,還有一個很重要的工作:運用實際數據流,重新訓練AI模型(Retrain)。

重新訓練AI模型,需要先準備好正確的AI數據標註。只是,如果AI數據標註兼判斷系統比較準,卻也比較貴,有一種嚴謹且更省事的做法。

具體來說,可以用非監督式學習 (Unsupervised Learning)的方式,找出重點的學習數據,以代表全體數據去做訓練。也就是針對手邊數據,針對不同類型進行分類,再從中挑選一些足以代表各種類型特徵的重點數據,來代表全部的數據即可。

延伸閱讀:AI數據特徵和演算法,怎麼選才好?

備好數據,丟進AI模型去跑的時候,這個系統就會同步標註實際的數據流(Real Trafic),並轉存至數據暫存(Data Storage)裡面,經過模型測試後更新,最後回去提升AI模型的效能。

( 來源 : 趨勢科技 )

途中,AI工程師需要做手動檢查,確認沒問題之後,就可以利用這些代表性的數據,把剛剛類推的數據流,全部都當成已標註過的數據去重新訓練模型。

當AI模型上線之後,已經建立好的AI數據標註兼判斷系統,可以幫AI工程師預測實際數據流,預測完畢,只需要放著,讓它持續監控這個AI模型在線上的建康狀況就好。

( 來源 : 若水國際 )

非常重要,卻常被忽略的AI安全機制

2018年、2019年,兩架波音737MAX客機分別在起飛數分鐘內墜毀,機上成員全數罹難。最後調查結果顯示,失事原因出自AI自動導航系統,和機師互相抗衡,襲奪飛機頭的控制權,導致失控。會發生這樣的憾事,是因為少了一個安全網(Safety Net)。

如果AI模型如果出了任何問題,必須要有一個機制,可以及時由人為介入去影響AI的判斷,可能是最原始的專家原則,用最保守的方式解除掉AI的決定權。有這樣最後一道防線,才能避免比較大的災難發生。

把DevOps放進AI開發和營運過程

如果AI模型如果出了任何問題,必須要有一個機制,可以及時由人為介入去影響AI的判斷,可能是最原始的專家原則,用最保守的方式解除掉AI的決定權。有這樣最後一道防線,才能避免比較大的災難發生。

( 來源 : Medium )

趨勢科技內部的開發團隊不只軟體開發,同時在AI開發和維運上,持續運用DevOps精神。系列文的最後,想和大家分享一些AI模型的DevOps觀念:人工智慧/機器學習服務上線,只是開始,不是結束。

機器學習的日常營運,包括效能監控、誤判修補和模型更新都是重點,而營運標準的好壞沒有絕對。三個可以持續優化的面向,給大家參考:

1. 你要什麼樣的AI數據?

根據過往經驗,在實際應用場域裡面,AI之所以表現不好,很高機率是因為演算法沒有看過實際場域的數據,所以快速上線收集實際數據是AI專案成功最重要的步驟。

機器學習,有些人在意的是數據量體,有些人追求數據多樣性,各取所需。但更好的作法,其實是透過「數據取樣」去提升時間及資源運用。

假設眼前有2億筆資料,過去我們會全部送進去訓練;現在改成取其中具有代表性的500萬筆,去訓練AI模型,結果表現差異不到1%,而現在市面上許多工具可以幫忙做數據取樣,會省時省力許多。

2.從商業價值、成本取決停損線

「訓練AI模型,需要多少數據?」篇提到,進行AI專案前,要先根據商業命題,定義AI專案指標。以AI模型為例,常用到的有TP(True Positive)、TN(True Negative)、FP(False Positive)、FN(False Negative)等指標。但是要定義FP、TP等指標,其實不容易。

以Email防毒AI為例,如果同時有勒索和廣告訊息兩種選擇,應該要擋下勒索訊息,還是擋下廣告訊息重要?實務運作上,要讓PM來決定指標,而AI模型指標,必須反應企業要追求的商業價值。

從營運成本來考量,如果AI模型表現做到60或70分,發現有助於下降成本,那就不一定要追求90分的表現。如果要做到90分,但成本太高,就不要硬做。記住,模型成效不用追求技術天花板,而是要達到關鍵效益,且符合成本效益。

3.從初始問題開始驗證

整套AI模型做完了,該怎麼知道有沒有發揮成效?此時應該回到要解的「問題」來看。

一開始不要一下子做到滿分,而是摸著數據過河,透過小型POC專案測試,驗證是否可以達到商業目標門檻?如果可以,再決定要不要投資下去。

過程如果不如預期,就用DevOps快速調整,決定下一季是否要轉換,用動態彈性的方式,回應市場和顧客的需求。

當AI上線,所謂的目標可轉為由市場、顧客滿意度來定義。上述三點都隱含著「DevOps」的開發精神和團隊共事流程。

(延伸閱讀:如何以終為始,做出精準數據標註 ? )

歡迎分享給你的朋友,或進一步閱讀系列文章。

Back to Top
Close