4人のデータサイエンスチームで敢えてオーバースペックな ML/DL 環境にした話
データサイエンティストの皆さん、こんにちは。株式会社アトラエの小倉です。wevox の開発にエンジニアとして携わっています。
最近 wevox の DS(データサイエンス)チームの環境を新しく構築しています。具体的には Google Kubernetes Engine と Kubeflow の組み合わせです。
データサイエンティスト3名、エンジニア私1名というチーム構成ですが、
環境を構築・運用する私自身も正直オーバースペックな環境だと思っています。が、一方で、正しい意思決定であるとも思っています。
この記事ではそう考える理由を、wevox の性質や今後の展望を含めて説明していきたいと思います。
wevox ってどんなサービス?
まず wevox について簡単に説明させてください。
wevox のビジョンは「We are the team. とチーム全員が言える組織を増やす」ことです。wevox は人や組織の状態を、エンゲージメントの観点から可視化・分析することで組織課題を特定し、現場主導での組織改善を促すサービスです。
wevox は、提供開始から3年が経ち 2020年6月 現在で 1,500以上の組織に導入して頂いています。今後 wevox がより多くのお客様のもとに届くようになるには、データの観点からプロダクトをもっといいものにしていく必要があります。
wevox のお客様の中にも統計学やデータ分析に精通していて、スコアからインサイトを抽出するのが得意な方がいます。しかし今後はデータからインサイトを発見する作業を wevox のプロダクトが担い、お客様には「組織改善」というより本質的な部分にフォーカスしてもらいたいと考えています。
そのための機能をつくるデータサイエンティストはいますが、生産的に作業し続ける環境はない、ないものは作るしかない、ということで作ることにしました。
新環境を構築する上で考えたこと
前提は以下の通りです。
• wevox が成長する上で DS チームのアウトプットが鍵を握る
• wevox DSチームはかなり優秀(私が言うのもアレですが)
その前提で、新環境を構築する上で以下のことを考えました。
• データサイエンティストとエンジニアの構造的な垣根を無くすこと
• データサイエンティストが働き続けたいと思える環境にすること
なぜこの条件が重要と考えたかをここから書いていきます。
データサイエンティストとエンジニアの構造的な垣根
データサイエンスと言われてまず最初に思いつく作業はモデルを構築するためのコードを書くことだと思います。(私見!)
これはGoogleが公開した論文から抜粋した図です。ML/DL 機能を提供するために必要な作業を表していますが、中心にある小さい黒い四角が「コードを書いて高い精度を出すモデルを作ること」に当たります。
しかしその作業をするためにデータの取得や整形が必要になります。またモデルを作っても、それを機能として提供するためには別の作業や能力が必要になります。例えばアプリケーションと API でつないだり、対応するフロントエンドを描画したりなどです。
データサイエンティストとエンジニアとでは業務の責任範囲が本質的に異なります。そしてここで垣根が生じます。
スペックの高い計算資源を使いたい時は担当のエンジニアに依頼する必要がありますし、モデルの継続的な学習の仕組みの構築や推論器のデプロイはデータサイエンティストの作業では完結しません。
そしてこの構造があるからこそ、一般にデータサイエンティスト自身で独立してPDCAを回すことが出来ず、ビジネスが加速しきらないという課題があります。
しかし逆に言えば、データサイエンティストが独立して企画から機能提供や改善まで踏み込むことができれば生産性をかなり上げることができるはずです。
だからこそ wevox DSチームでは課題を解決するために Kubeflow (キューブフロー)を含めた技術を採用しようと考えました。
データサイエンティストが働き続けたいと思える環境
データサイエンティストの生産性を上げることを考える一方で、アトラエや wevox で働き続けたいと感じてもらえるようにすることも重要だと考えました。
突然ですが、データサイエンティストの皆さんはどのような環境で働きたいと考えますか?働く環境に求めるものは人それぞれだと思います。
給料・福利厚生、きれいなオフィス、立地、技術活動への費用補助、etc...
特に個人の技術力が物を言うデータサイエンティストという職では、働く環境にどれくらい優秀な同僚がいるかも重要になってくるかと思います。
しかし「働きたい」から視点を変えて「働き続けたい」と思う環境と考えるとどうでしょう?
同僚が優秀で、自分が得意とする作業に没頭できたとしても「世の中を良くしてる感」「自分が社会や会社に貢献している感」が得られないと物足りなさが大きくなってきて、働き続けたいとは感じにくくなってくるのではないでしょうか。
私も大学院でデータ分析をしていたし、入社時はデータサイエンティストだったというキャリアがあります。そのバックグランドからも言えることですが、データサイエンティストは一般に「顧客や社会へ価値を提供している感」を感じにくい職業だと考えています。
例えば以下が理由として挙げられます。
• 自身の業務が顧客に直接影響しない
• 機能提供においては顧客から遠い位置にいる
• R&Dの側面もあり、機能や製品にならないケースもある
Kubeflow の採用はこれらの問題も解決・軽減できると考えました。
もちろん上記の理由があるからと言ってうちのメンバーが辞めてしまうということは全く心配していません。むしろ優秀で活力を有り余しているメンバーが心置きなく暴れられる環境を用意するのが自分の使命だ…!という自分へのプレッシャーの方が正直大きかったですw
最後に
私がこの文章を通して最終的に伝えたかったことを以下にまとめます。
• 職業としてのデータサイエンティストは "構造的" 問題を感じやすいです。
• wevox DSチームではそれを技術で乗り越えようとしています。
• 今のチーム規模ではオーバースペックな技術を採用しています。
また今はオーバースペックであるとしても、優秀なデータサイエンティストが加入してくれれば問題ないですし、今これを読んでいる貴方にジョインしてほしいと思っています。
データサイエンティストとエンジニアとの軋轢は構造上のものなので仕方がないと思いますが、それをなんとかするのも環境を作る私の役目だと思っています。
今の環境では暴れ足りなくてウズウズしている方、是非 wevox で暴れてください!私がなんとかします。
また手前味噌ですが、私が一緒に働いているデータサイエンティスト達はかなり優秀なので一緒に働いていて刺激が足りないということは無いはずです。私が保証します!
ここまで読んでくださりありがとうございました!もし wevox や DS チームが気になった方は是非以下をご覧ください!一緒に働く仲間を探しています!
✌️ 新卒の応募はこちら
✌️ 中途の応募はこちら
この記事が気に入ったらサポートをしてみませんか?