這系列文將會分享自己在過去幾年 Applied Data Scientist 的工作經驗,隨著團隊不斷擴大,如何去建構一個和其他 Data Scientist 合作的工作模式與系統,對於 MLOps 是什麼我也還在探索之中,但會試著在這系列文中把這一個抽象的名詞 MLOps 描繪得更具體些,整個文章分成三區塊: Experiment, Serving, Monitoring,每一天文章會盡量以五分鐘的時間展開一個建模會用到的小主題/元件,並介紹需要建造什麼樣的 Service 來完成這個元件的目的 GOGOGO FIGHTING
MLOps 是 Machine Learning Operationalization 的縮寫,換句話說就是把一個 Deliver Machine Learning Solution 的過程自動化,變成一個可以重複被利用的流水線,很多的 Data Scientist 團隊或多或少都跑過這樣的流程:
這是一個對所有 DS 都不陌生的過程, 然而我們常常講整個過程寫在一個 Sagemaker Notebbok 中, 或是透過像是 AWS Sagemaker Console 介面去完成大部分的事情,這樣做有幾個缺點:
接下來 29 天主要的目的就是我們怎麼去解決這些問題,之後的文章會以一個 Fintech 公司常遇到的問題 -- 平台風險 -- 當做研究個案,來窺探整個系統,並去展開為什麼我們需要一個 MLOps 系統
對於一家網路公司,最常見的風險可以分成以下三種,我們分別用一些例子來描述:
一個攻擊行為可能同時綜合了三種風險的漏洞,但我們先來聚焦平台風險
FinTech (Financial Technology) 是指透過科技的手段讓金融服務變得更有效率,我在 2017 年開始接觸這領域,但我花了兩三年才知道這個有什麼重要,舉例來說台新 Richard 對我來說就是一個銀行的 APP,為什麼要特別把他冠上 FinTech 之名?後來我才理解到整個金融產業是非常嚴謹的,涉及錢的關係,不單單是要用 Decimal 來替代 Float Number,更注重安全與流程,這些需要用軟體創新都是不容宜的
話題拉回來,大多 FinTech 產品都會涉及錢的流動,就像是一個銀行,你會有存款和提款,或是一個卷商 APP,你會有入金跟出金,或是一個保險服務你會有購入及贖回,搭配剛剛說的平台風險,其中一個最大的風險就在於用戶沒有管理好自己的帳號密碼,導致密碼外洩,從而讓駭客有機可趁,登入並嘗試提走用戶停泊在 APP 內的資產
明天,我們會繼續討論如何透過 Data Driven 的方式來解決 用戶因為沒有管理好個人資訊而使得資產被盜的問題