渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

Scalabilityを追求するということ

f:id:TJO:20191201145010p:plain
(Image by Pixabay)

今年も恒例の年末振り返り記事の季節になりました(笑)。なおここ数年の年末振り返り記事はこちらから。


去年まではどちらかと言うと「stats/ML分野の進歩が早過ぎてついていけない」という愚痴半分諦め半分みたいな話をしていたわけですが、ついていけなくなった結果技術的な知識という面では周回遅れになりつつあるという段になって、僕個人の中では別の課題意識が今年になって出てきたのでした。ということで、今回の記事では今年の注目トピックを振り返りながら、その課題意識についてちょっとポエムを書いてみようと思います。

自動化の潮流


AutoML Tablesの登場が、個人的には今年の最も大きな出来事でした。このブログでAutoML Tablesのパフォーマンスを色々試してみたのがきっかけとなって、ついでにイベントにも登壇してしまいました(笑)。ちなみに細かいことを書くと、この件でTablesのPMとも親しくなって色々意見交換をするようになったのでした。来年以降も様々な新機能が追加されていくようで、個人的な興味という意味でも非常に楽しみです。


言うまでもなく、AutoML Tables以前から一般的な意味でのAutoML (automated machine learning)技術の研究開発は世界中で進められており、皆さんもご存知のように先行するAutoML系プロダクトも自社・他社問わず少なからずあります。しかしながら、AutoMLという体系そのものが大きく注目されるようになったのは今年からの動きであるように僕には見えます。


そのきっかけは色々あるかと思いますが、大きかったのはやはりこのニュースかもしれません。Kaggle Days San FranciscoでAutoML Tablesだけで戦ったチームが2位に入賞という快挙を達成したのは、これが8時間半限定というタイムリミットコンペであったことにも助けられた部分もあるものの、SNS上でも大きな話題を呼びました。また話題を呼んだ結果という面もありそうですが、実際に仕事の中でAutoML Tablesを使うケースは日に日に増えており、まさに「自動化機械学習」の恩恵を被る機会は今後ますます増えていくのではないかと思っています。


もう一つは、純粋に機械学習を使って様々な仕事や「作業」を自動化していこう、という試みです。

こちらの記事*1でも公開した話ですが、世の中には「どうあがいても人手でやるしかないと信じ込まれていて」「属人的で」「労働集約型の」仕事というか作業が沢山あって、これを単純に機械学習を使って自動化し、省力化していくというのは割と重要な課題だったりします。この点についても、今年は割と集中的に取り組んだ案件が複数あり、そのうち事例として公開できるものも出てくる見込みです。


ところで、最近とみに神経を使っているのが「適切な実験計画を立てて実験する」ということ。

今更お前何言ってるんだと怒られそうですが、意外ときちんとコホートを切って、これをtest / controlにsplitしてDiD(差分の差分法)などの形で実験するというのは、特に因果推論として「AをしたからBになった」と結論付けるためには非常に重要なんですよね。特に観察データから因果推論を行うのは色々な意味でしんどいので、可能であれば因果推論可能な形での実験データを集めて、これを因果推論の文脈で分析することの方が大切だ、という。他の分野・領域ではともかく、広告・マーケティング業界だとこの辺の議論は避けて通れません。それは、AutoMLを含めた機械学習を用いた自動化プロジェクトについても言えることです。


よって、自分の担当範囲が機械学習を用いたツールやフレームワークの開発に留まったとしても、その先の検証実験を計画・実施するフェーズまで踏み込んで細大漏らさず適切にやっていかなければならないなと思っています。これが出来ていないと、折角良い機械学習ツール・フレームワークを作ってもその効果がきちんと認められず、お蔵入りになるということもあるので。。。


チームを作るということ


もう一つ、今年特に力を入れたことがこちらでした。

過去にも新しく若い人たちが入ってきて彼らにトレーニングを施すということは何度かありましたが*2、これまでは「いやいやまだ自分も駆け出しだから」という意識が強く、実はあまり積極的に「教える」ということをしてこなかったのでした。どちらかというと「獅子が仔を谷に突き落として自力で這い上がってきた仔だけを育てる」に近い感じだったと思います*3


ところが今年は周囲から特に期待されている若い人たちが多く今のチームに入ってきたので、少し意識的に「系統立ててトレーニングを施す」「個人プレーではなく組織化して幅広く連携して分析に取り組む」ということを重視するようにしました。その経験の一部をまとめたのが上記のブログ記事です。


これまでは、僕自身の仕事については割と個人プレーがメインで、多くの案件を一手に引き受ける一方で同時に多くの案件を「リソース不足」ということで断ってしまうことが多々あったのですが、僕と同等ぐらいのスキルレベル*4のメンバーを何人も揃えた「チーム」を組織し、そのチームをある程度僕がsuperviseすることで、これまで応需し切れずとりこぼしていた案件にも対応できるようになるものと期待しています。今更ながらですが、企業経験7年にしてようやく「チームで戦うことの意義」を心の底から実感できるようになった次第です。


そしてscalabilityへ


僕の理解では、「自動化」も「チームプレー」も、その根底にあるのは"scalability"の発想です。「少ないリソースで大きなアウトプットを生み出す」ということはそれ自体が大きな価値のあることですし、例えば労働環境という観点から見れば立派な「働き方改革」だとも言えます。Scalabilityを追求することには数え切れないメリットがあります。


統計分析や機械学習と言ったデータサイエンスが関わる仕事は、限られた専門家がdedicatedに取り組むという場面が多いがために、どうしても狭い範囲にしか行き渡らない「職人芸」になりやすい部分があると個人的には思っています。そこを可能な限りscalableにすることで、より広い範囲に遍くデータサイエンスの叡智を伝えていこう*5、というのが来年2020年の抱負です。


ということで、皆様お疲れ様でした。また来年もよろしくお願いいたします。

*1:いつものYouTube動画 https://youtu.be/jN_pRE0P1GU でも良かったんですが、自分の汚いツラをブログ上で何度もお目にかけるのは気が引けたのでテキストの記事になった方を選びました

*2:過去の現場でも、今の現場でも

*3:当時僕についてトレーニングを受けていた皆さんごめんなさい

*4:これで十分かどうかは議論がありそうですが

*5:それはデータサイエンスが合理的で役に立つものだという信条があるからこそということ