KaggleにてGold獲得を果たしたPKSHAチームの挑戦の軌跡
PKSHA Technology(パークシャテクノロジー)のアルゴリズムエンジニアとして働く齊藤 拓磨(taksai)さんは、PKSHA入社前からKaggleやSIGNATEに挑戦し、実績を残してきました。今回はPKSHAチームでGoldを獲得したエピソードを主軸に、アルゴリズムエンジニアにとって、そしてKagglerにとってPKSHAがどのような環境なのか齊藤さんに聞きました。
多様な事業に関わるため、大手企業との実績が多いPKSHAへ
ーまず、PKSHA Technology(以下、PKSHA)入社までのご経歴を教えてください。
生命保険会社、ネットメディアの運営会社でのデータサイエンス業務に携わってきました。いくつもの自社データ活用の案件に関わる中で、事業会社でできることは一通り経験したという感覚が芽生えたのが転職活動のきっかけです。もっと幅広い事業に関わってみたい、その中でアルゴリズムを活用したいと考え、コンサル系の企業への転職を考えていました。
その中でもPKSHAが魅力的だと思ったのは、大手企業との取引が豊富で、扱えるデータがリッチなことに加え、その扱いに困っているお客様が多い点です。単なるR&Dで終わらず、社会実装できるところが転職の決め手となりました。
ー現在の業務内容を教えてください。
アルゴリズムエンジニアとしていわゆるテーブルデータ(=構造化されたデータ)を扱っており、そこから何らかの将来や未知の要素を予測するアルゴリズムを組んだりしています。商品の販売数を予測してマーケティング戦略に活かしたり、クレジットカードの不正を検知したりといったシステム開発がその一例です。
お客様は小売、建設、交通機関など多岐にわたり、扱う課題もさまざまです。その中で心がけていることは、しっかり“いいアルゴリズム”を提供することです。当たり前のことかもしれませんが、「今まで通り手作業でやればいい」とお客様に思わせないためには、現状以上に精度の高いアルゴリズムを、限られた開発期間の中で最大限実現させることが何より大切だと考えております。
初のPKSHAチームで挑んだKaggleでGoldを獲得
ー業務の傍ら、データサイエンスコンペティションにも挑戦しているそうですね。
KaggleやSIGNATEといったデータサイエンスコンペティションには、PKSHA入社前からたびたび参加していました。私にとってデータサイエンスコンペティションはいわばアルゴリズムの精度を高めるための訓練の場、業務は実践の場というイメージです。
Kaggleはその中でも大規模なもので、世界中から延べ40万人のデータサイエンティストが集い、企業が提出する課題をもとにモデルの精度を競い合うプラットフォームです。個人・団体いずれでも参加可能で、上位入賞者には賞金授与などがあるほか、エンジニアとしての箔がついたり、入賞が案件獲得につながったりといろいろプラスになることがあります。
ちなみに、Kaggleに挑戦する人たちのことをKagglerと呼ぶ文化もあります。コミュニティ活動も盛んで、ゲーム感覚で楽しむことができるところも魅力のひとつです。
PKSHAチームで挑む前の実績としては、前職で知り合った方とタッグを組んでGoldをひとつ、Silverを複数個獲得した実績があります。こうした実績をもとにKaggleではクラスが設定されるのですが、2023年現在、私はKaggle Grandmasterというランクにいます。Kaggle Grandmasterは世界でおよそ200人強、日本国内ではトップ40程度に入っているようなイメージです。
(参考:https://japan.zdnet.com/article/35150858/)
ーすごい実績ですね。PKSHAチームでGoldを獲得した際はどのような経緯だったのでしょうか。
挑戦した課題は、人工肺のバルブの開閉を調節することで、いかに自然な肺と近い形で空気量を制御できるか、というものです。Gold圏内を目標にしつつ一人で始めたのですが、Gold圏内をキープするためにはより幅広いアイデアが必要だと感じました。そこでPKSHA社内でチームメンバーを募ったところ、Kaggleに興味を抱いていた3名のメンバーが応じてくれました。
それぞれの意見を取り入れながら進めたことで、5段階くらいアルゴリズムの精度を高めることができたと感じています。例えば、元医師のBizのメンバーがドメイン知識を共有してくれましたし、金融系のバックグラウンドを持つメンバーは、株価などを扱ってきた知見を活かし、時系列でデータを扱うためのアイデアを出してくれました。
最終的には双方向LSTMを選びましたが、そこまでのプロセスでさまざまなアルゴリズムを試してみたり、離散したデータを標準化したり、食わせるデータを工夫したり……ほんとうに色々試していて、8割がたは失敗していますね。それでも試行錯誤するうちに、着実に精度は上がっていきました。
現在はリモート勤務が基本なので会う頻度は高くありませんでしたが、メンバーとはSlackでコミュニケーションを取りつつ進行しました。期日が迫ってからは休日オフィスに集合して最終調整をして、前日には徹夜して……。そんな日々を積み重ねてGold獲得できた瞬間は、本当に嬉しかったです。
コンペで訓練・案件で実践の好循環を広げたい
ー今回の挑戦でどのような成長がありましたか。また、それは実践でどのように役立てられるのでしょうか。
技術的には、ディープラーニングのパラメーターチューニングや、データのスムージング、アルゴリズムの組み方といったところで学びがありました。どうすれば精度が高まるのか、逆にどういったものが適さないのかといったところを、業務内では試せないところまで試せて良かったです。
今回のアルゴリズムは波形を扱うものなので、音声データなどの波形のタスクに応用できるものです。例えば、鉄道の走る音から異常を検知するシステムや、鳥の鳴き声のデータから鳥の種類を分類する機能といったものが挙げられます。また、難しい領域ですが、脳波をもとに人間の考えていることを予測したりといった技術にも役立てられます。
ーGoldを獲得後もPKSHAチームでKaggleに挑戦したと聞いています。
はい。Goldをとったメンバーが中心になって別の課題に再挑戦したのですが、そちらでもGoldを獲得できました。
ECサイト上の商品レコメンドに関わるアルゴリズムを組んだのですが、今回の技術はそのまま提案内容に反映しやすいものだったので、Goldの実績を引っ提げて各社に提案を始めています。Kaggleで訓練して業務内で実践するという理想通りの循環が巡っています。
PKSHA内ではKaggleに参加するメンバーが少しずつ増えつつありますし、参加するに至らずとも、興味を持ってSlackチャンネルに参加しているメンバーも多数います。はじめこそ私が声をかけましたが、その後の挑戦では他メンバーにリードしてもらってGold獲得に至ることができました。少しずつPKSHAの中でもKaggle挑戦の輪が広がっていけばいいな、と感じています。
ーアルゴリズムの精度を高める場としてのPKSHAの魅力を教えてください。
自分がどのようにアルゴリズムと関わっていきたいかによって、PKSHAの環境が合っているかどうかは変わります。例えば、翻訳やレコメンドエンジンなどの特定のタスクのみを改善していきたい場合は、それらを専門で扱える会社で働いたほうが良いでしょう。一方、私のようにいろいろなデータを扱いたい、取引企業も多種多様なほうがおもしろい、と思う方はPKSHAはきっと合っていると思います。改善というよりは"ゼロイチ"に携わる機会を増やしたい、問題を解決することが好きな人に適した環境です。
Grandmasterを目指しつつ、新たな仲間を求めて
―齊藤さんの今後の目標を教えてください。
まず個人の目標としては、KaggleのGrandmasterになることです。Grandmasterになるためには計5回Goldを獲得する必要があり、そのうち1回はチームでなく個人で獲得することが必須条件になっています。社内にKaggleの輪を広げることにも目を向けつつ、今のところは自分ひとりで挑戦することも目標のひとつです。(インタビュー後に個人及びチームでGold獲得しGrandmasterになった)
PKSHAとしての目標は、やはり自分たちが積み重ねてきた技術力を活かして、社会実装していきたいと思っています。また、社内でKaggleに参加し、そこで得た知識を社会実装に還元していくような仲間を増やしたいです。
―どのような人と一緒に働きたいですか。メッセージをお願いします。
Kaggleに挑戦している人、いろんなタスクに取り組みたい人はぜひ一緒に働きましょう。技術を突き詰めるだけでなく、その技術を活かして社会をより良くしていきたい方を求めています。
Kaggleに挑戦してはいるものの、その技術をいまの職場では活かせないなという人や、今後Kaggleに挑戦していきたい人、マスターを目指している人などなど、あらゆる段階の人を歓迎します。世の中をより良くするために、共に切磋琢磨していきましょう。
―INFORMATION―
PKSHA Technologyでは、ともにはたらく仲間を募集しています。
Wantedlyや採用サイトから応募が可能ですので、是非ご覧ください!
▼カジュアル面談申し込みはこちら
https://hrmos.co/pages/pkshatech/jobs/0000/apply
▼採用職種一覧
▼Wantedlyはこちら