企業のAI支援で、欠かせない存在がデータサイエンティスト(DS)。
集めたデータで何ができるか、顧客の現場から出た要望に対して必要なデータの見立てや助言をする、AI支援の要です。
ABEJAにいるデータサイエンティストは、仕事にどう向き合っているのか。11月に開かれたイベント「大企業とDXを推進するデータサイエンティストたちが語るリアル」で、個性あふれる2人のDSが、そのあたりを余すことなくお伝えしました。
後編は、高橋佑幸さん。データサイエンティストから営業まで幅広い仕事を担う、ABEJAでの立ち位置を「ドラクエの上級職」とたとえますーーーどういうこと?
高橋佑幸(たかはし・ゆうこう)
東京大学工学部卒業、東京大学大学院工学部情報理工学専攻中退。学部在学中に技術系スタートアップ企業を立ち上げ、1998年に日本初i-mode向けテキスト型インターネット広告配信システムを開発。大学院進学後、2社目の技術系スタートアップを立ち上げ、2004年頃より機械学習の世界に踏み入れる。後に地元の福島に拠点を移したが3.11で被災して人生リセットボタン発動。首都圏に避難して直ちに再起動し、ベンチャー企業2社に参画し、数多くの自然言語処理系のタスク、および金融取引の改善プロジェクトに携わる。その後、ABEJAにデータサイエンティストとして合流。趣味はスイーツ製作。
高橋: UC事業部のDSとして2019年7月にABEJAにジョインしました。
学部生のときと大学院で、会社を2回作って潰しましたが、生きています。「意外と人間死なないものだな」と身をもって経験できたのはよかったです。
2回目の会社は故郷・福島で起こしたんですが東日本大震災に直撃され、物理的にシャットダウンしてしまいました。
「もう1回人生リブートだ!」と埼玉県に避難、教育系ベンチャー企業で5年ほど働いてGMOインターネットの次世代システム研究室で金融関係のデータサイエンティストとして内部業務系のプロダクトを作ってました。そして2年半か3年少したってABEJAにジョインしました。
プログラミングは小学5年からやってます。最初は父にファミリーコンピュータを取り上げられたので「自分でゲーム作ろう」と、C言語から入りました。
機械学習は2004年頃から始めました。ナイーブベイズのスパムメールフィルターが出始めた頃だったんですけど、論文を見て、自分でプログラムから作ってみて「おお、すごい。本当に分類できる!」と感動していました。
あとはスイーツ作りが趣味です。実際にABEJAの社員やお客さんにさしあげています。
続きまして「ABEJAのDS」の役割をお話しします。
図にするとこんな感じです=下図。
大垣(㊤参照)からも説明があったように、最上流の工程から、DSの見解を尊重しながらプロジェクトを進めてもらっています。
様々なビジネス側の課題を、最近デビューした、機械学習形式のBERTや実績のある自然言語処理テクノロジーを使ったりーーCNNとかLSTMもそうですね。より伝統的な統計的機械学習モデル、Random Forest、Gradient Boosting、あとは、LightGBM、XGBoostなどのテクノロジーをマッチングをした上で、アセスメント、仮説検証して、今度はシステムに実装するという仕事をしています。
私に何が期待されているのかというと、「全体的に見る」こと。モデルを作るだけでなく、どう使ってどう貢献するかも求められています。
時にはインフラエンジニア、時にはソフトエンジニア、時にはDSとして、役割をぐるぐる変えてやっています。最近は採用や営業も担当するなど、仕事の範囲がとても幅広いです。
ドラゴン・クエストに例えると「上級職」のような感じでです。ある時には、魔法使いの「ギラ」とか「イオナズン」とか「ルカナン」になり、時には、僧侶の「スクルト」とか「ベホイミ」とか「ベホマラー」にもなるといったような。
僕は、「ここだけやってろ」「余計なことするな」と言われるとすごく息苦しくてフラストレーションが溜まるタイプです。そんな自分には、ここはパラダイスです。
世の中で言われるような、トラブル案件が上から降って来るなんてことはないです。ビジネスメンバーと密に連携しながらやっています。DSにとっても仕事しやすいです。
事業部門間のセクショナリズムもない。本当に水平の、ドラクエのパーティのような感じです。勇者、僧侶、魔法使い、騎士なんかがパーティ組んでやっているような。
具体的な事例をお話しますね。
最近手がけているのが、機械学習システムを使ったインテグレーション案件です。大規模なメルマガで強化学習を使い、広告配信パターンの差別化をやっています。
チーム編成はコンサル2名、エンジニア1名、DS兼エンジニア1名……あとは私ですね。
流れ的にはアセスメント・フェーズ、現状を定義して開発フェーズ、その後導入・運用フェーズという流れです。
いずれもアジャイルに進めていきます。一気通貫で、顧客と一緒に試行錯誤しながら「プロトタイプ」を出しては改善していくというサイクルを回し、それぞれのフェーズで成果物を仕上げていきます。
普段の仕事は、朝5ー10分、チームメンバーが集まる「デイリースクラム」で前日の進捗と今日の予定、質問を共有します。
あとは社内でスプリントレビューもします。社内で進捗状況の確認や作戦を立てた後は、お客さんも交えた公式のスプリントレビューをやります。また、社内のスプリントレビューの時に、スプリントプランニングも一緒にやります。あとはそのプランニングをほどいて、実作業をそれぞれやってます。
私はデータサイエンティストですが、バックエンドジョブもフロントエンドも含めた仕事もやります。fluentdも入れます。ウェブサーバーもインフラエンジニアもフロントエンドもやります。Pythonのアプリケーションも組みます。モデル作り以外にも楽しくやらせてもらっています。
次は「ABEJAのDSとして、実際どんな働きをしているの?」に軸足を置いてお伝えします。
実際にできあがったモデルをどうする?という仕事ですね。すでに述べたように、エンジニア的なタスクですね。要件定義、全体設計、詳細設計、アーキテクチャ設計です。
あとは、さらにインフラエンジニア的な作業。EC2(Amazon Elastic Compute Cloud)作ったり、RDS立ち上げたり。ダイナモを設定したり。あとは、その中の様々なNGINX(http://nginx.org/)を入れたりとかですね。あとは、Python系のウェブアプリケーションサーバーとか、こういういろんなのも入れて。まさに幅広くやっておりまして。
よもやま話ですが、このお客さんが消費税対策の開発プロジェクトで死にかけてたんで、実は「大丈夫ですか?」と自作のスイーツを差し上げたらメンタルを非常に回復されて、ミーティングが非常に円滑化したということも、しばしばありました。
お菓子作りも「技術」とみれば、周りもすごくプラスになって。巡り巡って、仕事も滑らかになると実感しています。
勉強することが多いというのは成長機会が豊富で、幅広いからだと実感します。やる課題が結構切り替わると結構気分転換にもなる。生産性向上にもつながると感じますね。
プロジェクト全体が見渡せて携わる仲間が広い。全体が見えるんですよね。そういう環境は、モチベーション的にも好循環です。
それから「公開して共有する」というABEJAのカルチャーは非常に自分にフィットしてると感じます。
VUCA(Volatility, uncertainty, complexity and ambiguity)の時代になって、今までより変化が激しくなってきた。これまでの最適化、専門化が理想だった前提がガラガラと変わっている時代だと思います。
モノカルチャーなスキルセットやキャリアセットとは対照的に、とにかく目まぐるしく変化するようなスキルセットを手掛ける技術や経験を持てるのはいいと感じています。
どうソリッドな形に落とし込めば世の役に立てるかを学べ、さらに幅広いスキルセットが経験できれば、プロジェクトのフェーズや求められる状況に応じたスキルセットの切り替えができる。
不確定な時期も耐えられるような、ある程度の多様性とか、そういう「幅」や頑健なスキルセット、キャリアセットが求められていると感じています。ここら辺は、スタートアップであるベンチャーならではのメリットかもしれません。私としてはありがたかったですね。
伸び盛りのスタートアップで働くのは、エキサイティングで楽しい。私にとっては、転職は大成功でした。
質問: お2人とも金融出身ですが、他にどんなバックグラウンドの方が?
大垣: 金融出身は僕たち2人だけで、残りのインターナショナルメンバーはバラバラです。情報処理系や大学で機械学習やっていてた人、新卒の人も。エンジニアとして長くやった後データサイエンティストに転じた人もいます。
質問: ABEJAのDSはフルスタックでいろいろやっているんですか?幅広くできておもしろい面もある一方で、広く浅くなってしまうことは?
高橋:確かに「広く浅く」になるのは、危惧する点ではあります。ただ、一番深く知っている分野は持っておく。その上で求める状況に応じて、都度勉強もすることが必要なのではないでしょうか。必要なのは「学習能力」です。過去の教科書を覚えたところで、時代やルールが変われば「あっ! もうこれは使えん」が平気で起り得る時代です。
そう考えると「浅くなったらどうしよう」とあまり心配せずとにかくスピーディに学ぶ。そこだけ気をつければいつの間にか、ミッションに必要なスキルセットが必要十分に身に付くと感じています。
モデレーター: 私から少し補足しておきます。DSに特化した人はたくさんいるにはいますが、会社的に「テクノプレナーシップ」という言葉を掲げ、「テクノロジー」と「リベラルアーツ」と「アントレプレナー」を謳っているので、比較的、興味関心だったりとか、適用範囲広げたい人は多いです。例えば、リサーチ部門のリサーチャーは当然、論文を読み込むのが得意なんですけど、自分でアプリをガンガン作れるリサーチャーもいます。
高橋: モデルの運用だと、バージョン管理ですね。ソースコードならGit、昔ならSubversionやCVSでした。そのあたり仕組みは、機械学習のためのものはあまりないので、自分たちで気を付けなきゃいけない。間違って消すと「ああ、ヤバイ。昔のモデル、どこ行ったんだ?」となる可能性もある。「どんな学習データを放り込んだ結果どんな問題ができた」とかって、その辺のバージョン管理を意識します。
あとは、機械学習システムならではの違いもあります。
従来のシステムは「設計通り動く」が当たり前だった。100%の再現性って言うか、100%の精度の仕様で動くのが当然でしたよね。
ところが機械学習は確率で動くプログラミング、というと乱暴ですが、結果が確率に制御されているので、ほぼほぼ「確からしい」という形で動く。でも、「たまに間違う」というのを踏まえた設計が必要です。
つまり、何かやるにしても一定割合で「失敗する」ことも前提に入れて考えなければいけない。そういう一種のリスク管理的な側面が、昔のシステム開発と違うと意識してます。
質問:会社の課題は?
高橋: 伸び盛りの段階なので身体があちこち痛むこともあります。例えばフルスタックで集中するにしても不確かな組織の変化が発生することがある。「あれ?俺のカレンダー、どうなってる?このスケジュール、マジ?」みたいに、自分のカレンダーが激変することもあります(苦笑)。「物理的な時間の制約との戦い」と「絶え間ない生産性改善の努力」で乗り切る。それが鍵です。
質問:一番面白かったのはどんな案件ですか?
高橋: きょう紹介した案件もそうですが、全体を俯瞰しながらやれる案件が面白いです。大変ですけどやりがいという点ではNo.1ですね。
実際に世の中に与えたインパクトという意味でいうなら、前職のGMOインターネットグループ在籍時に手がけたGMOクリック証券(GMOクリック証券株式会社)の裏側の取引システムの最適化の仕事ですね。収益がドンときて、インパクトという点では、No.1でした。
一方で、大きな課題を解決して1回ドカンと当てた後「大魔王がいなくなって、世の中平和になっちゃったね、どうしよう?」という面も出てきます。対してABEJAは次々といろんなステージが現れてくる感じです。あちこちにボスキャラがいるぞ、新しいクエストが開始するぞ、みたいな。
AI導入支援は、バンディット問題に似ている。データサイエンティストたちのリアル㊤
(2020年2月6日掲載の「note | テクプレたちの日常 by ABEJA」より転載)