Slide 1

Slide 1 text

ኺྵ։࢝ཆ ػثላश޻ఔࢣร Data Dev Maggie Lee 2022.11.16

Slide 2

Slide 2 text

Maggie Lee Machine learning engineer • 政⼤中⽂+政⼤資科 • Research Assistant @CKIP Lab • LINE TECH FRESH @LINE Data Dev • Software graphics intern @Intel CCG • Machine learning engineer @LINE Data Dev

Slide 3

Slide 3 text

Data Dev LINE Family Services LINE SHOPPING LINE SPOT LINE MUSIC LINE Sticker LINE VOOM LINE Reward Fact Checker LINE HELP TW LINE Travel NLP Knowledge Graph Uplift Modeling NER Classifier Duplication Detector Auto completion Keyword Extraction Related Search Text Generation User Tagging Data Analytics Recom- mendation CLV LINE TODAY 3 Data Dev的任務有哪些

Slide 4

Slide 4 text

Data Dev成員組成 • Build and optimize data pipeline architecture • Assemble large, complex data sets that meet requirements Data Engineer Data Analyst Big data infra, SQL, ETL, message queuing • Interpret data, analyze results using statistical techniques • Identify, analyze, and interpret trends or patterns in complex data sets Statistics, Data Visualization, Business Knowledge SKILL RESPONSIBILITY • Select appropriate datasets and data representation methods • Research and implement appropriate ML algorithms Data Scientist Machine learning, deep learning, CV, NLP, Speech ML Engineer

Slide 5

Slide 5 text

DS DE MLE DA PM Biz DS DE DS DS DE DA MLE Data preparation Scaling Performance Model decay Data drift EDA Model build Hyper-parameter tuning Evaluation Feature Engineering Error analysis 一個ML專案會經過… MLE MLE MLE DE

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

MLE的使命是什麼 DEV: Develop/Testing/Deployment OPS: CI/CD/CT

Slide 8

Slide 8 text

Develop/Train case – Pocketlist Recommendation

Slide 9

Slide 9 text

view favorite buy cart < < < 在不同行為上對目標行為(例如:購買)的強度不同未被妥善利用 Scene 1. 開發評估 實驗POC 自動化 測試檢驗 風險管理

Slide 10

Slide 10 text

一個新用戶可能沒有任何目標行為的發生就會產生嚴重的 數據稀疏和 cold start 問題 Scene 2. buy cart 開發評估 實驗POC 自動化 測試檢驗 風險管理

Slide 11

Slide 11 text

Mutual Aggregate Aggregate layers Negative Sampling 多⾏為推薦系統

Slide 12

Slide 12 text

如何優化以適應任務 Mutual Aggregate Transfer based without Negative Sampling

Slide 13

Slide 13 text

資料聚合清整 數據產品運算 數據產品前端 即時資料流入 批次資料流入 小份備料 資料去頭去尾 接受多久更新一次? 所有資料都要最新鮮嗎 Picture Source: google search 13 開發評估 實驗POC 自動化 測試檢驗 風險管理

Slide 14

Slide 14 text

當面對龐大資料時要考慮 所需的 記憶體空間 運算時間

Slide 15

Slide 15 text

開發評估 實驗POC 自動化 測試檢驗 風險管理 1.保持實驗的可追溯與可重現性 2. 對資料集以及模型進行版本控制 3. 視覺化模型測試結果 上傳模型訓練/測試資訊 觀察模型在不同 參數/資料集下的結果 選擇表現最優的模型 進⾏部署

Slide 16

Slide 16 text

Hyper-parameter tuning 開發評估 實驗POC 自動化 測試檢驗 風險管理 ⽬標函數 搜索參數空間 探索算法 可視化/視覺化 用於在尷尬的搜索空間上 不支援grid search 以及Bayesian optimization 搜索算法很多可以適應許多場景 支援tensorboard可視化 支援最常見的三大算法 有提供視覺化套件

Slide 17

Slide 17 text

Data preparation Model training Model Evaluation Model Validation 當你資料、模型一切準備就緒 該如何自動化 Model Analysis pipeline

Slide 18

Slide 18 text

如何自動化資料管道(pipeline) Picture Source: https://airflow.apache.org/docs/apache-airflow/stable/ui.html 1. 排程不再凌亂 一目瞭然 2. 快速掌握排程任務是否成功執行 3. 方便參數管理

Slide 19

Slide 19 text

19 Packaging Containerizing Deployment Model Service 當你有了模型後 該如何部署 Bundle file Docker Image Model file Meta data pipeline Object Storage harbor Bento service Docker build/push

Slide 20

Slide 20 text

20 要如何將模型快速建立出API @bentoml.env(auto_pip_dependencies=True) class ExamplePredictionService(bentoml.BentoService): @bentoml.api(DataframeHandler) def predict(self, df): return self.artifacts.model.predict(df) Picture Source: https://www.bentoml.com/

Slide 21

Slide 21 text

資料聚合清整 數據產品運算 數據產品前端 即時資料流入 批次資料流入 小份備料 資料去頭去尾 接受多久更新一次? 所有資料都要最新鮮嗎 如果哪天,有個資料源掛了、格式改了,該怎麼辦? Picture Source: google search 21 開發評估 實驗POC 自動化 測試檢驗 風險管理

Slide 22

Slide 22 text

資料聚合清整 數據產品運算 數據產品前端 即時資料流入 批次資料流入 小份備料 資料去頭去尾 接受多久更新一次? 所有資料都要最新鮮嗎 Picture Source: google search 22 開發評估 實驗POC 自動化 測試檢驗 風險管理 如果哪天,你暫存預測結果的資料庫壞了 該怎麼辦?

Slide 23

Slide 23 text

開發評估 實驗POC 自動化 測試檢驗 風險管理 • 建立自動化報表定期監測 • 針對特定重要指標進行監測 (例如:UU/AU) • 建立Grafana dashboard 監測系統CPU/Memory 使用量以及相關矩陣 資料輸⼊監測 系統健康監測 一旦出現出現異常,可即時發送警告信或訊息

Slide 24

Slide 24 text

24 Deploy case – SmartText portal

Slide 25

Slide 25 text

25 如果每次都要自己手動重新訓練好麻煩 有沒有辦法直接拿到現成的模型? 有了良好的模型 要怎麼讓使用者知道並使用呢? With ML background 你們的模型好酷! 但我對機器學習沒有概念 要怎麼應用呢... 可以簡單到用手指頭點一點就好了? With no ML background

Slide 26

Slide 26 text

26 如果我們可以做到…

Slide 27

Slide 27 text

27 review

Slide 28

Slide 28 text

2"5JNF 如果對Data Dev有興趣 快來加入我們 收件至12/2截止 2023 TECH FRESH Spring Class Data Dev