「GPUを止めない!」精神でKaggleと向き合う。日立製作所メンバー x カレーちゃんによるKaggler対談
機械学習およびデータ分析のコンペティションとして、世界中から13万人以上のデータサイエンティストが集まる「Kaggle(カグル)」。その参加者はKaggler(カグラー)と呼ばれ、成績上位の金メダルや銀メダルなどのメダル獲得を目指して、切磋琢磨しています。
今回はその中でも、日立製作所で活躍しているKagglerの皆さまと、専業Kagglerを経てデータサイエンスの第一線で活躍しているカレーちゃんこと、村田秀樹氏をお呼びして、Kagglerの生態やマインドセットなどについてお話いただきました。
「GPUを止めない」
「定年までずっとデータ分析をしていたい」
そんな金言が出てくる、なんともKaggle・Kaggleした対談となりました。
目次
プロフィール
社会システム事業部
Lumada Data Science Lab. (LDSL) データサイエンスエキスパート
研究開発グループ 人工知能イノベーションセンタ
アドバンストクリエーティブセンター
Kaggleを始めたのは、純粋に「面白そうだった」から
――今回はKaggle対談ということで、まずは皆さまのKaggleとの関わりについて教えてください。
浦谷 : もともとは新卒入社から4年間は公共システム事業部のメンバーとして、国税庁システムのSEだったのですが、2018年に現在の社会システム事業に異動したタイミングでデータサイエンティストに転身して、Kaggleと出会いました。きっかけ自体は、とある方のブログ経由だったと思います。
これまでのKaggleとの関わりでは、メダル獲得にコミットして参加したコンペが10個ほどになります。
諸橋 : 2012年にデータの部署に異動してから、Kaggleのアカウントだけは作っていました。僕の場合はSIGNATEを5年前くらいからやっていて、Kaggleを本格的にやり始めたのは2018年くらいからだと思います。
仕事というよりは勉強のためで、本を読んでも実際に動かさないと分からんな、と思って始めました。
しっかりコンペに参加したのは10個くらいですね。
難波 : Kaggleを始めたのは、純粋に「面白そうだった」からです。他人と点数を競うゲームのような感覚ですね。
最初の参加は2018年で、きちんと参加したコンペは4個です。やるとなったら全力で時間を使ってしまうので、あまり数多くは参加していません。
村田 : 元々はデータサイエンスについて本で勉強していたんですが、もっと実データで分析したいと思って、データを揃えようとしました。でも自分でやろうと思ってもなかなか難しかったので、すでにデータが揃っていて分析に集中できるKaggleの方が良い!となって、2018年頃からアカウントを作って専業Kagglerになりました。
およそ全部で20のコンペに参加して、うちメダルを取ったのは13個ですね。
――専業Kagglerってスゴイですね!
村田 : 要するに貯金で生活していたわけですが、完全未経験からデータサイエンスを学ぶ場として、すごく勉強になりました。
超新星爆発、岩塩採掘、商品購入予測。各々の記憶に残るKaggleコンペ
――これまで印象的だった、もしくは面白かったKaggleのコンペも教えていただけますか?
浦谷 : 「PLAsTiCC(プラスティック)」というコンペが2018年にありまして、超高性能天体望遠鏡が観測する超新星爆発の種類を分類していくものなのですが、2個目くらいに取り組んだコンペで、題材含めてすごく面白かったです。
最後は専門家が出てきて、ぶっちぎりでトップを取っていったという印象深いコンペでした。
村田 : これ、僕も参加していたんですよ。
――え?そうなんですか?
浦谷 : 村田さんとは、このときに知り合ったんですよね。
村田 : 僕にとってはこれが初めてチームを組んだコンペで、最後に3人のモデルをアンサンブルしたんです。そしたらアンサンブルで、自分たちが思ったよりもスコアが伸びて、チームを組んでアンサンブルするとこんなに伸びるんだ!って実感した瞬間でした。
――なるほど。諸橋さんはいかがでしょう?
諸橋 : 僕は「Halite by Two Sigma」というゲームの強化学習コンペですね。Kaggleのコンペは教師あり学習で解くものがほとんどなのですが、珍しく強化学習のコンペだったので参加しました。強化学習コンペと銘打っていながら、あまり強化学習を使っていた人はいなかったようですが、あえて強化学習縛りで取り組みました。 強化学習については全くの素人だったので、ゼロから勉強して、3ヶ月間まるまる参加しました。
同じ盤上に味方と敵の船がいて、味方の船をうまく動かすことで盤上の岩塩を敵よりも多く収集していくゲームなのですが、最初の2ヶ月くらいは何も学習してくれなくて、船が全然岩塩を採掘しなかったのを覚えています(笑)でも、ある壁を越えてから急に学習しはじめてスコアがガンガン上がっていったときはすごい興奮しました。
――皆さん、テーマが面白いですね。難波さんはどうですか?
難波 : 私は「Avito Demand Prediction Challenge」という商品の購入を予測するコンペです。数値・画像・言語という複数のデータを扱う問題だったので、とても勉強になりました。夜に複数の実験を投げて、起きたら結果が出ているという生活を繰り返していました。
村田 : Kagglerあるあるですね。
――そうなんですか?
浦谷 : 1日にsubmitできる回数に上限があって回数がリセットされるタイミングが日本時間の9:00だったりするので、その影響だと思いますよ。特にデータが膨大だと、特徴量を作るのにも時間がかかったりするので、夜に特徴量や学習の仕込みをして、朝に確認する生活を送るkagglerは多いと思います。
ベースラインの構築がめちゃくちゃ早くなった
――日立社内では、Kaggleへの取り組みについてどのような位置付けなのでしょうか?
難波 : 私が所属していた部署では、業務時間中に会社のマシンを使ってKaggleに取り組むことが許可されていました。もちろん通常業務に支障が出ない範囲なので、主に定時外の活動になりますが、強いマシンを使わせてもらえるので、ありがたいです。
浦谷 : 今はデジタルイノベーションセンターというところにいるのですが、うちも部長がコンペに積極的ということもあって、業務時間中にコンペに出るのもOKとしています。同じく通常業務に支障がなければ、オンプレマシンも使えます。
ただ、日立として全社的にカチッとそうなっているわけではなく、部署やチームによってバラツキはあるかなと思っています。
――社内のKagglerで勉強会とかはされないんですか?
浦谷 : それはやってますよ。コンペ中は話せないので話さないのですが、終わった後にソリューションを話し合ったり、参加してないコンペで面白そうだった内容の共有だったり。こういうアプローチがこういうところに活かせそうだよね、などかなり積極的に話し合っています。
諸橋 : 私は業務中にKaggleはやってませんね。Kagglerはみんな強いのでメダルを取ることをKPIにされても大変だなと思いますし、業務で結果を出す方が大事ですしね。
ただ、Kaggleでの活動自体はオープンにしています。昔はアカウントがバレると順位もバレるので隠してましたが、今は自分のソリューションを部内に展開したり発表したりして、自分の取り組みをオープンにしています。
――Kaggleでの取り組みは、どんなところで仕事に活かされていますか?
諸橋 : データを受け取ってからモデル学習・評価までの一連のベースライン作成が格段に早くなりました。
あと、Kaggleで様々な問題を解くことで、このテーマでこういう問題設定だったらこう解けばいい、という引き出しが増えますね。単に技術情報をキャッチアップして知ってるだけじゃなくて、実際に手を動かして分析するという経験ができるので、それが活かせるなって感じてます。
浦谷 : 確かに、ベースラインの構築はめちゃくちゃ早くなりましたね。Kaggleコンペに参加するといろんな課題の雛形を持つことになるので、ある程度やると、データを見ただけでパッと作れるようになりますね。
あと、leak(リーク)と呼ばれる答えをカンニングする現象がありまして、Kaggleでそれをやっちゃうと、プライベートの計算をするときにガクッと順位が下がるんです。だからリークにめちゃくちゃ気を遣うようになるのも大きいなと感じています。
難波 : 私の場合は技術云々ではないんですが、タスク管理の能力はすごくついたと思います。
浦谷 : それも確かにありますね!
難波 : Kaggleでは1つでも多くの実験をしたくなるので、どのタスクをどの順番でどのマシンでやれば良いか、何時に寝て何時に起きれば良いか、など常に効率を意識した生活になります。結果、仕事にも活かせていると思います。
失敗することを、ちゃんと積み重ねることが大事
――Kaggleに参加し、成果を出すため人は、どんなマインドセットが必要だと考えますか?
村田 : Kagglerの格言として「全部やる」ってのがあるんですよね。様々な仮説を立てるわけですが、最終的にはちゃんと手を動かして検証するという。失敗することをちゃんと積み重ねることが大事なんです。
例えば、先ほど話題に出たPLAsTiCCで私のチームは金メダルまであと4位の銀メダルという順位でした。コンペ後に金メダルをとった人たちを交えて反省会をしたところ、考えたことや実験したことを全部説明してくれた方もいて。そしたら僕たちの何倍も実験を重ねてて、トップの方はこのように取り組んでいるんだなとなり、コンペの取り組み方も変わりました。
浦谷 : 僕もそれに参加していて、村田さんと知り合ったのもそこなんですよね。あの会はすごすぎました(笑)僕自身、研究者だったわけでもないので、とにかく泥臭くやるしかなかったです。
個人的に大事にしているのは「GPUを止めない」精神ですね。
――どういうことですか?
浦谷 : 要するに、Kaggleって、後から見たら無駄な実験もたくさんやっちゃうんです。やっちゃうんですが、そういうのもそのときはやった方が良いと思っていて。とにかく泥臭くやって実験結果を積み重ねていったほうがうまくいくことが多いなと感じています。
まあ、画像と違ってテーブルデータだと、学習が比較的すぐに終わるのでまた違うとは思いますけどね。
――GPUを止めない、名言ですね。諸橋さんはどうでしょう?
諸橋 : マインドセットですか、難しいですね。
最近は取り組んだコンペのソリューションを部内に展開しているので、説明できるようにちゃんと明確な仮説を立てて進めるよう心掛けています。
Kaggleはあくまで個人的な活動なのですが、部内共有のための資料を作る過程ともみなして、やってる最中もアウトプットすることを意識しながら進めていますね。
激しくシェイクダウンしたコンペほど、学びがある
――ここまでのお話を総じて、Kaggleのようなコンペに参加することの意義は、どんなところにあるとお考えですか?ぜひ、未経験者へのアドバイスも込めてお願いします。
浦谷 : 難波さんも言っていましたが、Kaggleってネトゲ感覚があると思っていまして、ランキングは中毒になるところがあるので、入り込みすぎないくらいがちょうど良いかなと思っています。
その前提で、コンペってその時々でトレンドがあって、出ている問題を見るとどんなことが世の中で求められているのかが垣間見えるのです。僕の場合は、それがそのまま顧客との会話にも活かせるところがありますね。
ガッツリやるとそれなりに時間を取られることになりますが、見るだけでも勉強になるので、コスパは良いなと。Notebookを写経して、最近のソリューションを確認するだけでも、良いのではないでしょうか。
諸橋 : 純粋に楽しいってことにつきますかね。この感情を味わってほしいなって思います。
あと、やっていない人の中には順位を気にしている人もいると思うんですが、あまり気にしないでやった方が良いなと思います。
浦谷 : 激しくシェイクダウンしたコンペほど、学びがありますよね。自分が何かを見逃してるので。
2020年に「Bengali.AI Handwritten Grapheme Classification」という、ベンガル文字の分類に関するコンペに参加したのですが、このときはテストデータに学習データにはないデータが含まれていて、完全に見逃していました。業務的に全然あり得る話なので、大きな学びになったコンペになりました。
難波 : 諸橋さんもおっしゃる通り、コンペに参加する一番の意義は「楽しいから」ですかね。想像以上に楽しく厳しいので、とりあえず参加してみるといいと思います。
あと、個人的には、ちょっとだけ英語の勉強にもなると思います。英字のディスカッションを毎日たくさん読むので。
――難波さんの斜めからの視点がいいですね。村田さんはいかがですか?
村田 : みなさんと同じですが、僕も楽しいからやってます。
データサイエンスの仕事をやっていると、社内で閉じちゃうことが多いと思いますが、Kaggleをやっていると、それこそ浦谷さんとの繋がりみたいに、他企業の方や大学生をはじめ世界中の人々と繋がれて、世代を超えた仲間ができるのもいいなと思います。
浦谷 : 村田さんとはPLASTICCコンペ以来、ゲーム仲間になっていて、Discordのコミュニティに一緒に参加していますよ。
定年までデータ分析をやり続けたい
――今後の皆さまの目標を教えてください。
難波 : Kaggleと少しズレますが、私の目標は「1つでも多くの、できれば社会に役立つ数理技術を理解する」です。Kaggleに真面目に取り組むと、自然とすごい勢いで新しい技術・テクニックを習得できるので、目標達成に役立っています。
ちなみに、日立はAIはもちろんのこと、本当に幅広い技術の研究開発をやっているので「1つでも多くの数理技術を理解したい」私にとってはとても良い環境です。
諸橋 : 目標そのものは特になくて、ずっとデータ分析をしていたい。ただそれだけです。定年まで、これができたらいいなと思ってます。
この年になっても、自分で手を動かして、色んなデータに触って色んな課題を解けるって、幸せなことですよ。今、私がいる部署は横断的なところなので、今難波さんが言った通り、やろうと思ったら色んなことができるし、色んなデータに触ることができます。
あと、Kaggleでいうと、まだ金メダルを獲ったことがないので、金メダルを取ってMasterになりたいなと思っています。
浦谷 : 短期的なものとして、今年の目標はKaggle Masterになることです。以前金メダルを取ってから当面の間、ガッツリとやらなくなったり、やってもメダルを獲れなかったりが続いていたので、今年は改めてちゃんと目標を立ててやろうと思っています。
あとKaggleから離れますが、モデルはそれなりに作れるようになったので、顧客に近い立場として、デリバリーするときのエンジニアリング技術を伸ばしていきたいと思っています。
村田 : 僕は、Twitterでも宣言しているのですが、今年はKaggleにどっぷり浸かってKaggle Grandmasterの称号を得たいなと思っています。
あとこれは感想ですが、諸橋さんの「定年までずっとデータ分析をやりたい」というコメントについて、私はまだその境地に達してないので、その点では負けたなと感じています(笑)
泥臭いが重要な仕事をしている
――皆さま、ありがとうございました!最後に、皆さまのようなKagglerがいる日立に興味がある読者の皆さまに、一言ずつメッセージをお願いします。
浦谷 : 日立の強みは既存の顧客がめちゃくちゃいることだと思っていまして、世の中の様々なAIベンチャーと比べても、顧客より顧客のシステムやオペレーションに詳しいSEが本当にたくさんいます。
そういう人たちと働けるのは、めちゃくちゃ楽しいと思いますよ!
諸橋 : 先ほどもお伝えした通り、金融業・小売業・製造業など様々な分野のお客様がいるので、顧客の課題を解決するために色んなデータを触れるのが、日立で分析していて良いところかなと思います。
難波 : 日立のAI研究は「最先端の技術をきちんと事業に使えるように仕立てる」という点で強いと思います。最先端の論文をそのまま実装しても事業やKaggleで役に立たないことが多いです。そこで、最先端の技術をきちんと実案件に使えるように改善する部分も大事だと考えています。少し泥臭いですが重要な仕事だと思います。
村田 : 日立さんでは浦谷さんのことしか存じていなかったのですが、Kaggleという軸だけではなく、こんなにデータ分析に魅力を感じ、また真摯に取り組んでいる方がいらっしゃって、素晴らしいと思いました。
編集後記
「目標なんてない、ただ定年までずっとデータ分析をしていたい」
いやはや、なんて素敵な姿勢だって感じました。今回お話を伺った皆さまは、全員が心から楽しんで、かつ学びとしてKaggleに参加されており、その熱量がインタビューイーである私の元にもひしひしと伝わってきました。
様々な領域の実データが集まる日立というプラットフォームは、データサイエンティストにとっては興奮するフィールドであること、間違いなしでしょう。
取材/文:長岡 武司
撮影:太田 善章
「Qiita×HITACHI」AI/データ×社会課題解決 コラボレーションサイト公開中!
「Qiita×HITACHI」AI/データ×社会課題解決 コラボレーションサイト公開中!
日立製作所の最新技術情報や取り組み事例などを紹介しています
コラボレーションサイトへ
Lumada Data Science Lab.サイトはこちら
「日立が有する幅広い業種・業務の専門的知見やノウハウ、人財、先端技術を集結した
Lumada Data Science Lab.(LDSL)を紹介しています
Lumada Data Science Lab.サイトへ
日立製作所経験者採用実施中!
AI/アナリティクス技術により顧客の課題解決を行うデータサイエンティスト[Assistant Manager]
募集職種詳細はこちら
日立製作所の人とキャリアに関するコンテンツを発信中!
デジタルで社会の課題を解決する日立製作所の人とキャリアを知ることができます
Hitachi’s Digital Careersはこちら