可擴展性

Developing Machine Learning Models for Production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

可擴展性的運算限制

  • CPU、記憶體與磁碟需求會影響 ML 模型的可擴展性
  • 在訓練與推論時量測 CPU、記憶體與磁碟使用量
  • 及早發現問題可提升模型可擴展性

server room

Developing Machine Learning Models for Production

模型複雜度與可擴展性

  • 模型複雜度會影響可擴展性
  • 在複雜度與可擴展性間取得平衡很具挑戰
  • 平衡策略:
    • 特徵選擇技術(如 Chi-squared、PCA)
    • 模型壓縮技術(如 pruning)

PCA

主成分分析(PCA)

Developing Machine Learning Models for Production

部署速度與可擴展性

  • 快速部署與反覆更新對維持相關性與準確度至關重要
  • 策略
    • 持續整合/部署(下一單元說明)
    • 線上學習:即時以新資料學習

runner

Developing Machine Learning Models for Production

最佳擴展策略

  • 取捨包含服務成本、再訓練成本與部署速度
  • 擴展策略:水平擴展、垂直擴展、自動擴展
    • 水平擴展:加入更多機器
    • 垂直擴展:提升單一機器規格
    • 自動擴展:依工作負載自動調整機器數量

scaling

1 https://www.spiceworks.com/tech/cloud/articles/horizontal-vs-vertical-cloud-scaling
Developing Machine Learning Models for Production

評估你的最佳擴展策略

  • 水平擴展使用負載平衡、分割區
  • 水平擴展取捨:複雜度、成本($)

  • 垂直擴展是提升機器規格

  • 垂直擴展取捨:成本($)

理想情況:同時自動進行水平與垂直擴展。

scaling

1 https://www.spiceworks.com/tech/cloud/articles/horizontal-vs-vertical-cloud-scaling
Developing Machine Learning Models for Production

一起來練習吧!

Developing Machine Learning Models for Production

Preparing Video For Download...