TO THE FUTURE NSSOL STORIES TO THE FUTURE NSSOL STORIES

2019-06-03 DX データ活用
TwitterTwitterでシェア FacebookFacebookでシェア

Kaggle世界ランク6位をマークしたNSSOL Deep Learning研究チームの力とは

~AI開発プラットフォーム『KAMONOHASHI』が支えた快挙~

左から、坂本 怜さん、太田 憲昭さん、中村 研太さん、山岡 信介さん

世界中のデータサイエンティストが、その腕を競い合うプラットフォーム「Kaggle(カグル)」。名だたる企業や研究所などがデータ分析や機械学習の課題を投稿し、「Kaggler(カグラー)」たちが最適なモデルを導き出します。コンペ上位者には賞金や実力を示す称号が授与される仕組みです。さらに、参加者同士のオープンな情報交換も活発に行われており、データ分析に関する最新情報を入手する場としての役割も。日々多くのエンジニアたちが集い賑わっています。
このKaggleのコンペティションに、当社システム研究開発センター(以下、シス研)のチームが参加。見事世界6位でフィニッシュを果たしました。その要因を探るため、チーム「ORNITORRINCO」(※)のメンバー4人に話を聞きました。

※スペイン語で「カモノハシ」の意。

自分たちの力量を知りたくて参加

―― 今回、Kaggleに参加しようと思われたのはなぜですか?

坂本:自分たちのチームの力がどの程度のレベルなのか、知りたかったからです。勉強のために個人でKaggleに参加したことはあったのですが、いつも一緒に実案件に携わっている仲間と挑戦してみたいと思いました。

山岡:私は今回で初めての参加でしたが、以前から気になっていました。声をかけてもらっていい機会になりましたね。Kaggleの参加者は、私たちと同じくデータサイエンスの研究や実務に携わっている人たちが大半です。そんな中で、自分たちはどのくらい太刀打ちできるのか、興味がありました。

山岡 信介さん

落書きを認識するAIがお題

―― 具体的にどんなコンペだったのでしょうか。

山岡:Googleが公開している『Quick, Draw!』というお題の絵を描いてAIに当てさせるお絵かきゲームがあるのですが、そのAIの精度を上げる、というコンペでした。

『Quick, Draw!』

―― 実際にやってみましたが、けっこうハマりますね(笑)。

太田:そうなんです。絵心の乏しい落書きでもAIが認識してくれると嬉しかったり(笑)。

山岡:有名なYouTuberも挑戦しているなど世界中で親しまれているので、データ量はかなりたくさんありましたよね。絵と正解を紐付けた教師データが約5,000万組。

―― コンペはどんな流れで進むのですか。

太田:1日に5回までモデルの推論結果を提出でき、結果は暫定スコアに即反映されます。

中村:最初に提出したモデルでは150位くらいだったと思います。そこからマシンへの教師データの与え方、モデル学習時のパラメータなどを調整し、再度学習させ、新しいモデルで再チャレンジする。この作業をひたすら繰り返していきました。

坂本:新しく生み出したモデルが、必ずしも前より良いものだとは限らず、点数が下がることもありましたね。コンペ参加中は、他のチームがどんなアルゴリズムを使っているのか、知りたくて仕方がなかったです。

―― 参加チームの顔ぶれはどんな感じでしたか。

山岡:コンペに参加したのは1,316チーム。日本人チームは少なく、アメリカ、中国、ロシアのチームが目立ちました。

太田:コンペ開催中は、参加者同士で各々の取り組みに関するディスカッションも行われます。自分たちが知らない手法などが共有されることも多く、非常に勉強になりました。

中村:私たちがコンペに参加したのは開催期間の中盤からだったのですが、締め切り直前まで諦めずに磨きをかけ、次第に上位にランクインするようになりました。

中村 研太さん

業務で培ったチームワークを発揮

―― 結果として初参加ながら6位入賞。見事な結果だと思うのですが、要因はどのあたりだとお考えですか。

太田:ひとつは、チームとしての技術力の高さでしょうか。

中村:私たちは、2015年にDeep Learningの専門チームを立上げ、より良いモデルを生み出すことに全身全霊で向き合ってきました。その経験値から勘所もわかってきます。

山岡:精度の高いモデルを生成するためには、アイデアを実際の設計に反映できるコーディングスキルはもちろん、最新の論文などから新しい手法を取り入れていく柔軟性も必要ですよね。

坂本:私は会社に入るまで機械学習に触れた経験がなかったのですが、周りの優秀なエンジニアからサポートを受けたり刺激を受けたりの日々から段々と力がついてきました。本当に頼りになる仲間です。

太田:いつも実業務で切磋琢磨しているチームとしての信頼関係も、上位入賞の要因かもしれないですね。

太田 憲昭さん

AI開発プラットフォーム『KAMONOHASHI(カモノハシ)』の存在

―― 他に要因はあるでしょうか。

中村:AI開発を効率的に進めることのできる、自社開発のプラットフォーム『KAMONOHASHI(カモノハシ)』の存在です。

KAMONOHASHI公式ホームページ

山岡:AI開発には、どうしても煩雑となる作業があります。数多くの案件を進める中で、どうにか効率化したいと様々なツールを探したのですが、「これ!」というものがない。だったら自前でつくってしまおうと、私たちの研究所で開発したのがKAMONOHASHIです。時間の制約がある今回のコンペでも大活躍でした。

―― 具体的にどのような面倒なことがあるのでしょうか。

太田:主に3つ、「環境構築」「再現性」「リソース管理」です。

中村:ひとつめの「環境構築」について、AI開発では、マシンを増やしたり、そのセットアップをしたりが面倒というか、特にDeep Learningにおいてはシビアなんです。ライブラリのバージョンが変わると動いてくれない、など。KAMONOHASHIを利用すれば、ライブラリやフレームワークも競合を気にせずに自由に使用することができ、バージョンを気にすることも必要なくなります。

KAMONOHASHI画面イメージ

―― 2つ目のポイント「再現性」について、聞かせてもらえますか。

山岡:学習を繰り返していくと、当然データは膨大になっていき、どのデータに対してモデルを組み合わせたときはどんな結果が出たのか、段々と分からなくなってきます。KAMONOHASHIを利用すれば、このような実験に関する全履歴を、自動で記録してくれます。過去の試行錯誤のログを簡単に探すことができ、ボタン一つで再現することができるため、人の手で行っていた時と比べると、手間も正確さも雲泥の差です。

坂本:実業務では、1年前の実験パターンを見たいというケースもありますからね。KAMONOHASHIがなかったころは、データが見つからず、同じ実験を再度行ったこともあります。

―― それは大変ですね。

中村:特に我々のようにチームで開発を行う人は、特に効果を実感すると思います。複数名で1つの課題に取り組んでいても、リアルタイムで情報共有されているので同じ実験をしてしまって二度手間になることもないですし、途中で中止していた実験を他のメンバーが進めてくれることもあります。あと、メンバーが変わっても引継ぎが簡単なこともメリットですね。

太田:最後3つ目は「リソース管理」。Deep Learningは、非常に多くの計算リソースが必要で、一つの実験に数日間マシンを可動し続けることもざらです。でも、所持しているリソースは限られているので、他の計算でリソースが埋まっているとリソース空き状況を手動で確認しながら待つことになります。それをKAMONOHASHIは計算のキューを管理し、リソースが空き次第、自動的に割り当てを行ってくれます。

山岡:実際に、KAMONOHASHIはチームにあるGPU搭載のハードマシンすべてを統括していますよね。

坂本:こういった面倒なことをKAMONOHASHIがサポートしてくれるので、例えば、少しずつパラメータを変えた3つのアルゴリズムを同時に実験したい、というような時でも、とても楽に行うことができます。実際に使ってみるとわかりますが、KAMONOHASHIは“超”便利なツールですよ。

坂本 怜さん

KAMONOHASHIをOSSとして公開

―― そんなKAMONOHASHIをオープンソースとして5月にリリースしたそうですね。

太田:AI開発者には同じような悩みを持っている人も多いと思います。ひとりでも多くの開発者の煩わしさを解消したいという想いから、社内で話し合ってKAMONOHASHIをOSS公開することを決めました。

山岡:ただ、使用にあたって気をつけていただきたいのは、KAMONOHASHIはモデルの自動生成ツールではなく、あくまでAI開発を支援するもの、AIエンジニアの力を最大化させるツールだということです。もうひとつ、KAMONOHASHIは、複数名の開発チームを置いていて、それなりのスペックと数のハードマシンを持っているような組織において力を発揮するツールです。そのため、現時点ではオンプレミスでの使用を前提としています。

―― これからもKAMONOHASHIは機能拡張していくのでしょうか。

中村:もちろんです。実機化にあたっての効率化や運用を支援するような、そんな機能追加も社内では検討されています。

山岡:開発から実機化まで、AI、Deep Learningをさらに活用していくためのサービスを、今後も幅広く提供していきたいと考えています。

―― Kaggleには、また参加する予定などはあるのですか。

坂本:今回の結果は6位でしたが、一時的には3位にランクインした瞬間もあったので、正直なところ、悔しさも残っています。まさに今、個人的には違うコンペにチャレンジしているところなんですよ。

太田:チームとしても、ぜひまた挑戦したいですね。KAMONOHASHIをフル活用し、今度はさらなる上位入賞を目指します!

・本文記載の会社名及び製品名は、それぞれ各社の商標又は登録商標です。

関連リンク