「Kaggleで勝つデータ分析の技術」著者が語るGCPを活用してKaggleで勝つためのポイント

「Kaggleで勝つデータ分析の技術」著者が語るGCPを活用してKaggleで勝つためのポイント

Googleが開催するイベントのGoogle Cloud Dayでは、Google Cloudの最新ソリューションを学ぶことができます。

2020年はCOVID-19の影響もあり、リモートでの開催となりました。

この記事では数あるセッションの中から、Kaggleに関連するセッションを取り上げ、機械学習のモデリング技術を競い合うKagglerと呼ばれる人の中の1人である、「Kaggleで勝つデータ分析の技術」著者「平松 雄司」氏がどのように GCP を活用するかについてご紹介します。

この記事でご紹介するセッション

この記事ではGoogle Cloud Dayで公開された下記のセッションを参考に、GCPにおけるKaggleの活用方法についてご紹介します。

Kaggleで勝つGCPの活用方法

取り上げる主な Google Cloud 製品 / サービスは以下になります。

Kaggleとは

kaggle

世界中のデータサイエンティスト・機械学習エンジニア向けのコミュニティで、様々なデータデータ分析コンペティションが開催されています。

コンペの評価指標に基づいて優劣を争います。メダルに応じた称号システムや賞金があり、Kaggleでの成績を人材採用の参考にする企業も増えてきています。

そういった流れから、Kaggleの話題をメディアで目にする機会も増えてきています。

称号システム(Kaggle Progression System)

Kaggleには称号システムがあり5つのTierに分かれています。メダルの色や数によって昇格する仕組みとなっています。

このうちKaggle Masterはデータサイエンティストの目標とされることが多いです。

Cloud AI NotebooksでKaggleワークフローをパワーアップ

Notebooksと使用時の課題

NotebooksはKaggleに用意されているブラウザ上の実行環境で、学習を行い予測を提出することもできます。

Notebooksは無料で利用できますが、以下のような課題もあります。

AI Platform Notebooks(CAIP Notebooks)とは

AI Platform NotebooksはJupyterLab統合開発環境を提供するマネージドサービスです。以下のような特徴があります。

AI Platform Notebooksの仕組み

AI Platform Notebooks

bigquery

BigQueryとの連携イメージ。BigQueryの結果をPandasデータフレームとして参照しています。

gcloudコマンドでもインスタンスを起動可能で、GPUインスタンスやTPUインスタンス、プリエンティブルインスタンスも作成可能。

ただし、プリエンティブルインスタンスは安価だが、Google側から予告なく削除されることがあるので注意が必要です。

実演

セッションでは実際にインスタンスを作成し、環境に接続する様子がデモンストレーションされました。

インスタンス作成後、画像のように「JUPYTERLABを開く」をクリックするだけで簡単にNotebooks環境に接続できます。

jupyterlab-demo

プラットフォームの比較

Kaggle NotebooksやColaboratoryは無料で利用できるのがメリットです。一方、Cloud AI Platform Notebooksはマシンタイプを自由に構成でき、GPUタイプを4種類選べるのがポイントです。利用時間の制限がないなど、エンタープライズ向けの環境が整っており、本格派の環境といえます。

Cloud AI Platform Notebooks Kaggle Colaboratory
ハードウェア構成 自由に構成 CPU(4core, 16GB RAM), GPU(13GB RAM) 2core, 13GB RAM
GPU Spec Nvidia K80, T4, P4, P100から選択 Tesla P100 選択不可
※GPU/TPUの選択は可能
利用時間制限 なし Sumit時の時間制限およびGPU使用時時間制約 連続12時間
対応言語 Python, R Python, R Python
SSHアクセス ×
セキュリティ △(IPによる制限) ×
無料コンピューティング ×

KaggleにおけるGCP活用例

GCPをKaggleで活用した事例
GCPをKaggleで活用した事例を二つ紹介します。

01 Table Data - Home Credit Default Risk

このコンペはHome Credit Groupが開催したコンペで、個人のクレジットの情報や過去の申請履歴から、債務不履行になる確率を予測するタスクです。テストデータに対する予測結果をCSVファイルで提出する形式のコンペでした。

コンペの概要

データについて

登壇者のソリューション

pipeline

なぜたくさんのモデルを作るのか

No Free Lunch Theorem
「全てのデータやタスクにおいて、常に他よりも優れているモデルは存在しない」という定理です。

新しいコンペに参加する都度、どのようなモデルが良いかを毎回探ることになります。

GBDTやニューラルネットワークなどがある。可能性がありそうなモデルをしらみつぶしに試すだけのスケーラブルな計算環境が必要になります。

最終的には精度が高いモデルをアンサンブルすることで、さらに良い精度に到達するケースが多々あります。

02 Image Data Bengali.AI Handwritten Grapheme Classification

ベンガル文字の画像を識別するタスク
バングラディシュに拠点を置く非営利組織Bengali.AIが開催したコンペで、ベンガル文字の画像を識別するタスクです。モデルの推論時間に制限があるコンペでした。

制限

このコンペで計算量が多くなった点

クロスバリデーションにかなり時間がかかりました。

発表者オススメの計算環境

Kaggleでオススメの計算環境は「ローカル計算環境」と「GCE」の組み合わせとのこと。

コンペの開始初期はパイプラインの土台作り初期検討をし、勘所を掴めて上位が狙えそうになったらGCEの活用を検討するといった戦略をとっているようです。

推奨環境

テーブルデータのコンペをやっていると計算量が大きくなるケース

以下の4つのステップは計算量が大きいです。

Case1. 特徴量エンジニアリング

元のデータが大きいほど計算コストは大きくなります。
「01 Talbe Data - Home Credit Default Risk」を例に挙げます。

Pandasの開発者によると取り扱うデータの5~10倍のRAM容量が推奨されています。
処理速度向上のためにさらに並列化すると、さらにメモリが必要となります。

Case2. モデル

コンペ中はトライアンドエラーをなんども回すことになります。Kaggleにおいてテーブルデータに対するモデルはLightGBMがデファクトスタンダードです。

LightGBMはCPUによる並列計算の恩恵を受けやすいため、CPUのコア数がポイントとなります。

まとめ

この記事ではGoogle Cloud Dayで公開された下記のセッションを参考に、GCPにおけるKaggleの活用方法についてご紹介しました。

メダルに応じた称号システムや賞金があったり、Kaggleでの成績を人材採用の参考にする企業も増えてきていたりします。

昨今のKaggleはデータサイズが大きいコンペが多くなってきておりますので、コンペに参加する際はGCPと共に挑んでみてはいかがでしょうか?



弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、

など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。

Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!

Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。

お問合せはこちら


メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!

メルマガ登録はこちら

関連記事

Contactお問い合わせ

Google Cloud / Google Workspace導入に関するお問い合わせ

03-6387-9250 10:00〜19:00(土日祝は除く)
Top