OfferUp主任資料科學家陳彥呈,根據自己從事資料科學相關工作的10年經驗,在一場活動中分享如何加速資料處理與AI建模,來快速驅動數據飛輪的作法。

圖片來源: 

攝影/翁芊儒

美國估值高達10億美元的行動(Mobile-First)二手電商OfferUp,其主任資料科學家陳彥呈,過去也曾是臺灣AI新創創意引晴研發副總、美國AI新創Clobotics總經理,近期在一場活動中分享,如何透過加速數據處理與模型訓練的流程,驅動數據循環來形成「數據飛輪」的效應,就像Amazon的「流量飛輪」的概念,儘管剛開始施力不見得有成效,但當飛輪開始轉動,就能產生極大的慣性加速向前。

陳彥呈口中的數據飛輪循環,是透過數據驅動AI模型做出分析,再依據這些分析結果來輔助商業決策,接著,將受決策影響產生的新數據,回饋給AI模型迭代並產生新的分析結果,藉此循環來產生商業價值。

比如Google、臉書就是靠蒐集使用者大量、多面向的資料,來進行數位廣告投放,再透過不斷更新的用戶行為數據優化AI模型,創造出數據飛輪的效益。到2017年,數位廣告投放的大餅已經被Google及臉書寡占。

陳彥呈認為,儘管先進者已經推動數據飛輪多年,但對於後進者來說,也並非完全沒有後發先至的機會,還是要看數據飛輪的推動速度。比如先進者可能每兩週更新一次AI引擎,若後進者能做到一週一次,就有機會用一半的時間來追上先進者的成效;又或是說,隨著民眾使用社群媒體的習慣,從臉書轉為Instagram,又開始走向Discord,若能快速掌握趨勢,後進者也有機會快速累積資料來創造優勢。

不過,數據獲取速度及標註速度有先天性的差異,不同AI應用場景中,能驅動的數據飛輪循環速度也不同。陳彥呈舉例,如臉書、IG的人臉辨識功能,能在一張照片上傳後自動辨識人臉身份,一旦標示錯誤,用戶能立即修正結果給AI模型重新學習,驅動數據飛輪快速循環;但若是美顏App的臉部彩妝AI應用,儘管也可能有辨識不夠精準的問題,但App使用者大多無法直接修正結果,仍要靠開發者定期測試來調整模型,數據飛輪的速度也就較慢。

除了AI應用本身驅動的數據飛輪速度不同,他也提醒,不同類型的數據價值也不同。其中,與營收獲利相關的數據、越即時產生的數據、越能驅動數據飛輪的數據,以及越能形成競爭壁壘的數據,就是更有價值的數據。相反的,稀缺、特定應用限定的數據,並非價值的保證。

根據自身10年經驗歸納出6大建議,來加速資料處理與AI建模流程

陳彥呈也根據自身在資料科學領域的10年經驗,分享如何透過加速數據處理與模型訓練的流程,來加快驅動數據飛輪。

首先,在數據蒐集的環節,陳彥呈建議,選擇採用能自動調節資源、按需計價的雲端託管服務,可以更快速的架起數據架構、加速建立起數據倉儲,市面上常見的服務包括SnowFlake、AWS Redshift、Azure Synapse Analytics、Google BigQuery等。他也提醒,因不同平臺的資料庫查詢(Query)語法差異大,在選定了一套服務後,就不要輕易搬動到其他服務上,也建議到模型上線之前的流程,都維持在一個平臺中執行較佳。

第二,數據蒐集後,會進行標註的環節。在數據標註平臺的選擇上,陳彥呈提供5個參考指標,一是要考量標註工具的完整性與易用度,二是能輕易的從雲端平臺導入、導出數據,三是能進行採樣與標註結果管理,四是能輕易整合外包標註平臺,五則是提供任務分配與標註者管理的功能。

陳彥呈也指出,在數據標註任務的設計上,要以一秒就完成一個標註任務為目標,因為不論標得多細心,一定會有標錯的樣本,標註任務應該設計的越簡單越好,但同一個樣本要能被多次標記。

第三,標註完數據,需要更新到數據集中。陳彥呈提醒,一定要建立起數據自動驗證並更新到數據集的機制,因數據可能標註錯誤,需要透過驗證機制來自動挑出應複審的樣本,且數據集也需進行版本管理,來自動加入新標註的數據,常用的版本控制工具包括Git-LFS、DVC、Pachyderm等。

第四,則會進入模型訓練的環節。要加速模型訓練的流程,陳彥呈建議開發者,不要為了省錢而自行購買GPU來開發及訓練模型。這是因為,若是要用來開發模型,線下GPU再怎麼便宜,也比不上公有雲特定的免費服務;若為訓練之用,線下GPU的資源在一人獨占的情況下,利用率大多比預期的低,但在多人共用的情況下,又會發生資源利用的衝突,就算有排程機制,在資源有限時,訓練週期會拉的更長。

而且,AI模型要能支援多GPU、TPU來進行訓練。陳彥呈認為,一個AI模型,如果沒有經過百組以上的超參數調校(Hyperparameter tuning),每一組超參數若沒有經過多次反覆驗證,其效能或穩定性都不足為信。為了在短時間內快速反覆驗證與調校超參數,訓練架構的設計,應該以在24小時內完成數百次訓練為目標,為此,AI模型一定要能支援多GPU、TPU的訓練,系統也要能手動、自動增加運算資源。

第五,在建立起模型後,會進入驗證的環節,陳彥呈指出,要能加速AI模型驗證,團隊需培養良好習慣,比如在模型訓練時,不只要記錄模型每一組超參數以及驗證集(Validation Set)最好的一次準確率分數,也應該將訓練多次的分數分布記錄下來,算出平均與標準差,「要先知道分布區間,才能了解新模型的分數是否具有顯著性差異(Statistical significance)。」同時,也應建立「移動標靶」的衡量機制,也就是透過不斷改變的測試集來驗證模型,實際上線後才能適應各種場景來進行決策。

再者,模型驗證環節也要進行階段測試,先將模型部署在與實際上線時相同的環境,自動記錄一兩週的分數,若分數超過一定標準,則自動上線,若上線後收到超過一定比例的負面反饋,也需要透過模型版本回溯的機制,自動恢復之前的版本。

最後,則是在模型實際上線的階段,要能加快模型上線與迭代的速度,陳彥呈建議,同樣可以透過雲端託管服務自動調節運算資源,來減少DevOps的成本;且在模型上線後,一定要以模型實際推論結果與新數據,來判斷模型實際應用的表現,必要時需進行重新訓練。

新創企業得跟時間賽跑!開發AI應用要一步到位

「不要為了省錢而浪費時間,因為最珍貴的,就是時間。」陳彥呈提醒創業者,企業的壽命比人還短,尤其臺灣企業創業的平均壽命只有4年,就算是美國極為成功、被選入標準普爾500指數(S&P 500 Index)的上市企業,平均壽命也只有18年,顯見時間的重要性。

因此,陳彥呈建議,要提供AI服務的企業在創業過程中,不要抱持著找幾個年輕人試一試,做幾年不成功再修正的心態,因為一試不成,就落後競爭對手很遠了;也不要閉門造車,花一年半載自建機房、設計架構,從數據蒐集、模型訓練到系統上線全部自己寫,「這些表面績效最容易騙自己、騙主管,讓人誤以為有在做事,但其實對達成目標一點幫助都沒有。」

最後,也不要因小失大,花小錢用比較便宜的雲平臺,可能會因託管服務不完備,而不斷產生預期外的錯誤,即便有強大的團隊可以填補平臺上的缺失,但這些時間終究浪費了,原本可以投入更重要的事情上。陳彥呈指出:「企業應該從第一天就比別人更快推動數據飛輪,去想,我要怎麼推得跟別人一樣快、甚至更快,」來提升自身企業的競爭力。


熱門新聞

Advertisement