Goodな生活

INTPの好奇心の受け皿

データサイエンティストを3年やってみて、諦める

先日、今の職場のデータサイエンス部署から、一般コンサルティングの部署に異動しました。この3年間はデータサイエンティストの端くれとしてこの業界で稼ぐ面白さと難しさを感じたので、簡単に振り返ろうと思います。

なぜデータサイエンティストを志望したのか

そもそもデータサイエンティストの定義は何か、という問題がありますが、私の理解では、定量化された情報であるデータを用いて、情報の要約・可視化、予測や分類を行うことで課題解決や意思決定のための示唆を提示する職種、だと理解しています。なので定義そのものの中に、データやデータ分析を使うという方法論(how)が含まれていて、課題解決や意思決定の具体的な中身は業種やドメインによって異なるのだと思います。金融であれば不正検知、製造業であれば異常検知など。

大学院で計量経済学を専攻していたこともあり、前職時代からデータ分析を主軸にする仕事には関心があり、2020年〜2021年にかけて転職活動を行う時にそのポジションで職を探していました。ちょうど大学院在籍時に、ビッグデータやEBPM(エビデンスに基づく政策立案)が流行したことにも多分に影響されています。

現職のコンサルティング会社のデータサイエンスのポジションにも、開発経験や分析経験などの要件の記載があったのですが、応募時にはほとんどそれを満たしてなかったため、よく受かったなと思います。事業会社にも応募したのですが、色んなことに興味を持ってしまう自分と、特定の製品やサービスの改善のための分析を続ける仕事が合わないと感じたため、志望を辞めました。

どうやって勉強したのか

大学院でやっていた計量経済学は幅広いデータ分析の中の一部分に過ぎないので、まずはAI・機械学習の全体像を把握必要がありました。同時にPythonを使ったプロジェクトが多いためプログラミングにも慣れる必要がありました。前職時代は集計や可視化の一環でRを使っていたのですが、Pythonの経験はほとんどない状態。ちょうど自然言語処理の案件があると言うことで、自然言語処理100本ノックの勉強会に参加しました。

nlp100.github.io

初心者だったため、周りの人のレベルが高くてが勉強させられるばかりでした。隔週で開催していた気がしますが、全然問題が解けず、2回徹夜に近いことをした記憶があります。もし当時生成AIがあればすぐそれに頼ってしまいそうだったので、まだなくてよかったなと思います。

後は機械学習の考え方をクライアントに伝えることも仕事の中でかなり割合を占めていたので、大量の本を買って辞書的に使いました。ここ3 年間は平均して月1,2冊はデータサイエンス系の本を買っていた気がします。オライリーの本やBIツール系の本も買っては売ったりして、本棚の新陳代謝の盛んな時期でした。

学ぶことは大量にあった一方で、大学時代に学んだ統計学や多変量解析の基礎をきちんと理解しておく必要性も強く感じました。AIや機械学習と聞くと何かそれだけで新しく斬新なものだとイメージしてしまいますが、これまで触れてきた線形回帰もそのモデルの一部で、モデルの形(関数形)やそれを決定付けるパラメータが大量になって複雑な形になるとディープラーニング、だと大まかに捉えると、そこまで得体のしれないものだという印象は薄れます。

これは次に書く難しさにも関連するのですが、結局自分は社会科学としての計量経済学の面白さに惹かれていただけで、モデルの精度をあげるためのエンジニアリング的な考え方と合わなかったのかもしれません。ちょうど転職活動中にCourseraの機械学習のオンラインコースを受講しており、その中でいわゆる数学的なモデルのことを「hypothesis(仮説)」と呼んでいることにかなりカルチャーショックを感じたのを覚えてます。要は仮説としてのモデルのパラメータを学習によって調整して、理想的なモデルを得る、と言う文脈なのですが、自分にとっての仮説は自然言語で記述された理論的な裏付けのあるもので、それを表現する手段としてモデルがあると考えていたので、モデルそのものを仮説だと呼んでしまう、アドホックさに驚いた感じです。

www.coursera.org


今は、XAIや計量経済学と機械学習が融合した話があることを理解しているので、当時そう思ったと言うのと、エンジニアリング的な発想ではなく、社会科学的な発想でのデータ分析が好きだと思った直感は今でも変わってなと思います。

やってみてわかった難しさ

一番は機械学習の新しい技術やプログラミングをそこまで好きになれなかったこと、だと思います。例えば自分や他の人の作った文章やスライドが汚いと無性に直したくなるのですが、プログラムの場合は汚いものを見ても特段モヤモヤしないというか深入りしたくない気になってしまったことです。言い換えると、結果として何かの量や精度が分かれば良く、アルゴリズムそのもののには興味を持てなかった、ざっくりとした要件定義や結果の解釈には関心があるが技術的な中身には気にならなかったともいえます。

とはいえ、今のPythonやRだとライブラリが充実し過ぎていて、果たしてそれらを組み合わせるだけの作業をプログラミングと呼べるか、と主張する人もいました。それは確かにそうで、クラウドで簡単に分析環境を作れることや、ローコードツールも普及しており、一昨年からは生成AIでそもそもコーディングもしなくて良い環境になってきていることを全て引っくるめても、プログラミングのスキル自体はデータサイエンティストとして仕事をする上で必須ではないと思います。あとは部署の中でも全員がコーディングに携わるわけではなく、上流で要件を定義する人は依然として必要です。

そうすると何がデータサイエンティストとして働く上で必要かと言うと、これは他の職種にも共通することだと思いますが、一番は新しい技術を学ぶための貪欲さだと思います。論文や技術系のブログなどwebに溢れている情報を常に仕入れながら目の前の仕事に落とし込んでいくといった作業を息を吸うようにできるかどうか。自分はここまでこの領域に没頭できていないことに気づきました。また、同じ業界に長くいるということはその業界の歴史や展望について語れるようになる、と言うことだと思っていて、例えば自然言語処理だとword2vec、LSTM、transformerが誕生し、今は大規模言語モデル(LLM)、生成AIへとトレンドが移り変わっている。その展望を今後も見届けて、自分の言葉で語れるようになりたい、と思えるほどには情熱が持てなかった。

諦めた後の気づき

データサイエンスの部署から移ったことで、機械学習やデータ分析で価値を出さないといけない、と言うプレッシャーからは解放された。プレッシャーというのは自分が技術に関心が薄いにも関わらずプロジェクトを受注していて、データベースやモデルの部分は周りの得意な人に任せる、と言う自分の仕事に責任を持てないような状態が辛かった。

一方で、データサイエンティストという肩書きはやっぱり肩書きであって、他のコンサルティング業務でもAIやデータに関する知見は必要。一回その領域にいたからこそデータやモデルについて想像力が働くのは無駄にはならないと思う。現在は元々前職で注力していた環境・エネルギー分野に再度軸を移した形で仕事をしている。プレッシャーから解放されたといったが、もちろん何をやっても簡単な仕事はなく、当然勉強は必要。毎日勉強。

あとやっぱり自分が学生時代に勉強してきた計量経済学は好き。今でも本屋に行くと統計学のコーナーに行って新刊が出てないかチェックして、立ち読みしてしまう。なのでこれは仕事に使いたいと言うより、趣味に近いものなのかもしれない。

最後まで読んでいただいてありがとうございます