Kaggle で勝つ GCP の活用方法
概要
本セッションでは,2017 年に Google 傘下となった世界的に有名な機械学習プラットフォームである「Kaggle」の紹介をするとともに,Kaggle で開催されるコンペティションに参加し,機械学習のモデリング技術を競い合う Kaggler と呼ばれる人達が,どのように GCP を活用するかを紹介します。
Kaggleユーザ向けGCP(Cloud AI Notebooks)の紹介
視聴するときは再生速度x1.5推奨
https://youtu.be/CeSscAVhJIU?t=786
https://gyazo.com/faaab11136ce618ebc024b35b1f10fed
https://gyazo.com/851aa6b49e2a98c45bf50b066e4a4435
本題
https://youtu.be/CeSscAVhJIU?t=1450
GCPが必要になるという前置き
モデルのルール上の制限がない限り、StackingやBlendingを用いた巨大なモデルになりやすい
またそれに伴い計算量も増加する、これらの問題点を解決するためにスケーラブルな計算環境が必要になる
上記の計算量が大きくなるケース
特徴量エンジニアリング、モデル、アンサンブル、ハイパラチューニングなど
特にハイパラチューニングは1回で最適なものが見つかるわけではないので・・・
下記参考資料より開発者によるとpandasを利用する場合、データのサイズx5-10のRAM容量を推奨
またこれらをさらに並列化しようとするとさらに容量が必要になる
特徴量エンジニアリング
BigQueryを利用する
特徴量生成であればこちらが楽
計算に必要なメモリ容量等見積もらずとも高速に計算可能
予測時間の制限があり、ただし学習には制限がない
画像を入力に使った推論、分類コンペ
計算量が大きくなるケース
画像のクロスバリデーション
さんのおすすめ環境
ローカル計算環境 + GCE
Kaggle Kernelを使ったりGCPのフリークーポンを利用したり
Q&A
https://gyazo.com/a00d4517c955001873d070d651264b39
ただし動作中にインスタンスを削除される可能性あり