スキルアップしたい

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

2019年5月26日

【PR】この記事には広告が含まれています。

  1. HOME >
  2. スキルアップしたい >

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

2019年5月26日

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

世界中のデータサイエンティストの天下一武道会とも言える競技コンペサイト「kaggle」。

データサイエンスのお題やデータの提供だけでなく、何とサーバ上の計算リソースまで提供してくれています。

2019年5月現在は、なんとGPUリソースまで提供してくれています。

使用する方法が少し分かりづらいので、順を追って説明したいと思います。

 

記事を書いた人

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較
大手IT企業でデータサイエンスを活用した分析業務に携わっています。

元営業という経歴を活かしながら、金融・製造・流通業のお客様を中心にAI活用コンサルや定着支援・人材育成の支援をしたり、講演や執筆活動など幅広く活動しています。

ヤエリ(@yaesuri_man

普段のお客様との会話の中でよく話題に出るこのテーマ。

技術畑ではないものの、長らく現場の実務に携わってきた視点は喜ばれることが多いです。

 

kaggleのkernelでGPUを使う具体的な方法

 

有名なコンペティション「Titanic: Machine Learning from Disaster」を例にとって説明します。

タイタニック号の名簿データを元に、生存者を当てるというものです。

 

 

step
1
kernelの設定

 

以下の画面からkernelの設定を進めていきます。

タブメニューの中から「kernel」を選択。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

画面右上の「New Kernel」を選択

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

kernelタイプを選択する画面になります。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

  • Script
  • Notebook

 

の2つがありますが、ここでは右側のNotebookを選択して説明を進めます。

起動に少し時間がかかり、以下の画面が表示されますので、右側のメニューの「Settings」を選択してください。

 

step
2
GPUへの切り替え

 

「Setting」の中にGPUのオンオフ切り替えボタンがありますので、これをオンに切り替えれば完了です。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

変更前

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

 

 

 

変更後

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

 

 

 

 

kaggleのkernelでGPUを使う方法 性能比較

 

GPU=OFFとONとの性能を比較するため、全く同じkernelのCrossValidationの所要時間を使って調べてみました。

まずはGPU=OFF(CPU)の結果。33分59秒です。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

同じkernelで、今度はGPU=ONで試した結果が以下です。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

なんと18分58秒。約1.8倍のスピードアップです。

少し出来すぎな気もしますが、他のkernelでも大体10~20%位は速度アップしている印象です。

いずれもGBDTの結果なので、ニューラルネットなどではもっと差がつくかもしれません。

 

kaggleのkernelでGPUを使う具体的な方法 注意点

 

注意点というほうどでもないのですが、GPUを使う時はメモリリソースに多少の制限がかかります。

GPU=OFFの時は、以下の通りRAM=16GB。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

GPUをONにすると、13GBまでの制限がかかります。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

またコードを書いた状態でGPU=OFF→ONへの切り替えをすると、コードの表示が一瞬消えてしまいます。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

これはコードが消えたわけではなく表示されていないだけですのでご安心下さい。

マウスカーソルでクリックすれば表示されます。

 

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較

 

その他、pythonやkaggle、AI・機械学習といった記事のまとめはこちらです。

【kaggle入門】kernelでGPUを使う方法 CPUとの性能比較
プログラミング関連の記事まとめ

続きを見る

ここからは、実際に私が購入し、おすすめできると思った本やオンラインスクールを紹介します。

 

機械学習のための「前処理」入門


 

まずはこちら。「機械学習のための『前処理』入門」です。

  • これから機械学習を始めてみたい
  • kaggleやSIGNATEにチャレンジしてみたい

という方には最適な本で、個人的には一番のおすすめです。

 

データモデルの精度向上には特徴量エンジニアリングが不可欠、というよりこれが全てと言っても過言ではありません。

各種環境準備の方法やコーディングの詳細に至るまで、誰にでも分かりやすく書かれています。

この一冊さえあれば、とりあえずkaggleにトライすることができます。

 

 

Udemy「みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習」


 

ベネッセが主催する、プログラミング未経験者を対象にしたコース。

数学や統計的な知識はそこそこに、文字通り人工知能と機械学習をゼロから学習できます。

受講生2万人以上、4千人以上の評価者から、5段階中4.0の評価を得ている、万人におすすめできる優良講座。

定価15,000円と高価ですが、90%OFFといったキャンペーンを頻繁に行っていますので、それを狙うのがおすすめ。

 

人工知能は人間を超えるか


 

pythonのコーディングからは離れますが、もしこの本を読んでいない人がいたら必ず一度は目を通しておいた方が良いです。

 

この界隈では有名な、東大の松尾豊先生の著書「人工知能は人間を超えるか」。

 

いわゆるAI・人工知能、機械学習といった昨今のキーワードを中心に、過去の歴史からここ最近の動き、今後の動向に至るまでを、平易な表現で丁寧に解説されています。

 

また日本ディープラーニング協会が開催する「ディープラーニング ジェネラリスト検定(通称:G検定)」の推薦図書の一つでもあります。

 

全てのビジネスマンにおすすめできる一冊。中古でもkindleでも構いませんので、これだけは目を通しておいた方が良いです。

 

-スキルアップしたい