在評估階段有幾件面向需要注意
資料產品品質是需要持續監控和評估的。不同層的資料產品有不同的品質指標,基本上很難一次到位,需要持續增加觀察的指標。例如原始資料一開始可能只會監控資料量、接著再加上檢查每個欄位極值、之後再加上一些統計指標確認分佈。
生產資料產品也是需要資源的,這些資源包括網路傳輸、硬碟、CPU、Memory、處理時間等。我們需要持續監控這些生產資料產品時的資源指標。
呈上,既然需要資源,就表示有相應的成本。地端環境的成本相對好計算,只要掌握節點數量、網路費用、電費就差不多了。但是在雲端環境上就很複雜了。資料產品每一層都會對應到不同的資源,這邊以 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 之類的)。
資料產品對於商業帶來的效益是難以估算的,就是字面上的意思,「難以估算」。雖然殘酷,但是前三層的資料產品不管做得多少,都看不到價值。資料產品一定得做到輔助決策或是自動決策才看得到價值,其中又以自動決策帶來的價值更好估算,像是自動語音減少了多少人力、廣告推薦增加了多少點擊等等。