iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
AI & Data

資料產品開發與專案管理系列 第 25

[Day 25] 資料產品在評估階段的五個大坑

在評估階段有幾件面向需要注意

資料產品品質

資料產品品質是需要持續監控和評估的。不同層的資料產品有不同的品質指標,基本上很難一次到位,需要持續增加觀察的指標。例如原始資料一開始可能只會監控資料量、接著再加上檢查每個欄位極值、之後再加上一些統計指標確認分佈。

使用的資源

生產資料產品也是需要資源的,這些資源包括網路傳輸、硬碟、CPU、Memory、處理時間等。我們需要持續監控這些生產資料產品時的資源指標。

  • 如果資源用量比預期的低,就能調降分配的硬體資源,將資源用到其他地方上。
  • 觀察資源使用的趨勢,設定 Threshold 來調整硬體資源。例如當 CPU 或 RAM 用量高於 50% 時就要加開機器來處理資料,如果硬碟快滿了就要擴充結點之類的調整。
  • 如果用量是在短時間突然變大或變小,就表示可能哪裡出錯了。

成本

呈上,既然需要資源,就表示有相應的成本。地端環境的成本相對好計算,只要掌握節點數量、網路費用、電費就差不多了。但是在雲端環境上就很複雜了。資料產品每一層都會對應到不同的資源,這邊以 AWS 為例:

  • 原始資料
    原始資料會從 App 端直接送到 Kinesis 或是 API Getway,後續會需要像是 Lambda 或 Farget 之類的資源來將資料落地到 S3 或 RDS 、Elastic Search 裡面。

  • 加工資料
    在 AWS 上,可以透過 EMR 或是 Athena 來處理大量資料,小量資料可以 EC2 或是 Lamda 來處理。

  • 模型
    模型可以透過 Sagemaker 或 EC2、EMR 來訓練或處理。

  • 輔助決策
    我們可以利用 k8s 或 EC2 來架設 BI 工具。BI 工具可以直接使用 RDS 或 Athena 來做 SQL 計算。

  • 自動決策
    通常自動決策系統會需要提供 API 給其他 Application 使用,因此會將模型部署到 Lambda、Sagemaker 或 k8s 上來讓其他應用呼叫。

除了直接的資料產品使用的資源外,當然還有像是監控或 Logging 等輔助工具需要 $$,像是 Cloudwatch、Promethues 之類的。這些雲端工具通常就是根據使用量來算錢,但是在製作資料產品(特別是分析或建模)時,往往很難事先預估可能使用的資源量(例如要拉多少資料、要下幾次 Query 之類的)。

效益

資料產品對於商業帶來的效益是難以估算的,就是字面上的意思,「難以估算」。雖然殘酷,但是前三層的資料產品不管做得多少,都看不到價值。資料產品一定得做到輔助決策或是自動決策才看得到價值,其中又以自動決策帶來的價值更好估算,像是自動語音減少了多少人力、廣告推薦增加了多少點擊等等。


上一篇
[Day 24] 資料產品在部署階段的五個大坑
下一篇
[Day 26] 資料產品開發實務 - 原始資料 - Event Tracking
系列文
資料產品開發與專案管理30

尚未有邦友留言

立即登入留言