Operationalizing Machine Learning: An Interview Study ==> 読後メモ
Paper
Summary
- 概要
- (4.3.4) 機械学習のコードの変更は、可能な限り小さく抑える
- (4.4.4) 機械学習モデルの評価においては、プロダクト関連の指標に結び付けられるようにする。
- (4.5.5) Keep it simple
- 可能な限りSimpleなモデルやアルゴリズムに頼ることが重要。
- ある金融業界のML Engineerの証言
- ハイパーパラメータのチューニングも、あまり凝りすぎず、単純なものがよい。ハイパーパラメータを限界まで最適化することで、過去データへの過学習が生じてしまうため。
- Deep learningより、Tree-basedモデルを選ぶようにしている。そのほうが、Deploy後の維持が単純化できる。Deep-learningで同じことができる場合でも、あえてDeep-learningのモデルを実装するのは避ける場合がある。
- 自動運転を扱う企業のML Managerの証言
- 可能な限りNewural Networkを利用している。
- (小さなモデルをいくつもつくらず)大きなモデルを少数つくるようにしている。それによって、依存関係を減らすことができる。
- (5.1.1) 開発と本番環境の違い
- Jupyter notebookの利用については、証言がわかれた。Jupyter notebookの本番環境での利用は避けるべき・・という意見があったのに対し、「本番環境と開発環境の違いを少しでも小さくするために」あえて本番環境でJupyter notebookの利用を好む人も。
Impression
- 個人的に最も共感したのは、(4.4.4)。
- 実際の業務でも、機械学習の指標(例えば、Binary ClassifierのAUC)と、ビジネス側で利用されている指標(論文に挙げられているようなクリック率やChurn rate)に違いがあるケースは、多い。
- モデル構築する人間が、いかに、ビジネス側の指標を理解したり、それに近い指標で機械学習モデルを評価・説明することが大事・・と痛感。