必要なのはデータサイエンティストではなく、データエンジニア

2021/01/21 08:27

Mihail Eric
Alexa AIの研究者、エンジニア、教育者
この記事は、著者の許可を得て配信しています。
https://www.mihaileric.com/posts/we-need-data-engineers-not-data-scientists/

データはどこにでもありますが、私たちはより多くのデータを手に入れようとしています。過去5~10年の間、データサイエンスは、その禁断の果実を味わおうとする新規参加者たちを、いたるところで惹きつけてきました。

しかし、今日のデータサイエンスの採用状況はどのようになっているのでしょうか?

忙しい読者のために、記事の要旨を2文で解説します。

要約: データサイエンスと比較して、データエンジニアリングの企業では70%以上、募集中の仕事があります。次世代のデータおよび機械学習を習得した人材を育成するにあたり、エンジニアリングスキルをより重視すべきだということです。


データの専門家のための教育プラットフォームを開発する仕事の一環として、データ駆動型(機械学習やデータサイエンス)の仕事の市場がどのように進化しているかについて私はよく考えます。

世界中のトップ教育機関の学生を含む、データ分野への参入希望者数十人と話をする中で、候補者が群衆の中で他の候補者よりも優位に立て、自分の将来的なキャリアを考えて将来に備えるためには、どのようなスキルが最も重要なのかということについて、多くの人がその答えを見いだせないでいるということが分かりました。

そのことを考えてみると、データサイエンティストは、機械学習のモデリング、可視化、データクリーニングと処理(つまりSQLラングリング)、エンジニアリング、および本番環境でのデプロイメントなどのサブセットを実行する責任があります。

では、新規参加者の人たちに学習カリキュラムを勧めるにはどうしたらいいのでしょうか?

データは言葉よりも説得力があります。そこで私は、2012年以降、Y-Combinatorから出てきたすべての企業で採用されているデータ関連の職種を分析することにしました。リサーチの指針となった質問を次に挙げておきます。

  • 企業が最も頻繁に採用しているデータ職種とは?
  • これだけ話題になっている従来のデータサイエンティストは、どれだけ求められているのか?
  • データ革命を起こしたのと同じスキルは、今日でも通用するのか?

詳しい内容と分析をお知りになりたい方は、ぜひこの記事を読んでください。

方法論

私は、ある種のデータ作業を彼らの価値提案(顧客に求められているが競合他社では提供できない、自社だけが提供できる価値)の一部にすると主張するYCポートフォリオ企業の分析を行うことにしました。

なぜYCに焦点を当てるのかというと、まず一つ目の理由として、こういった企業は、YCは簡単に検索可能な(そしてスクラップ可能な)会社のディレクトリを提供するという素晴らしい仕事をしているということが挙げられます。

それに加えて、10年以上にわたって世界中の企業に資金を提供してきた先進的なインキュベーターとして、彼らが分析を行う上で市場の代表的なサンプルになるはずだと私は感じたのです。ただし、私は超大手テック企業を分析したわけではないので、私の言うことは、真に受けないようにしてください。

私は2012年以来、すべてのYC企業のホームページURLをスクレイピングし、1,400社の初期のプールを作成しました。

では、なぜ2012年で終わってしまったのでしょうか。2012年は、AlexNetがImageNetコンテストで優勝した年であり、機械学習とデータモデリングが事実上始まったときでした。この年に、データファーストの企業の初期世代のいくつかが誕生したと言ってもいいでしょう。

この最初のプールから、関連する企業の数を減らすために、キーワードフィルタリングを行ったのです。特に、ウェブサイトに以下の用語のうち少なくとも1つが含まれている企業のみを対象としました。AI、CV、NLP、自然言語処理、コンピュータビジョン、人工知能、機械、ML、データです。また、ウェブサイトのリンクが切れている企業も対象外としました。

これでは大量の偽の対象者も出てきたのかもしれませんね。それは間違いありません!しかし、ここで私は、関連する職種のために、手動で個々のウェブサイトのより細かいの検査を行うことにし、できるだけ絞り込むようにしました。

このようにして絞り込んだプールを使って、すべてのサイトを調べ、求人広告を出している場所(一般的にはCareers、 Jobs、または採用募集のページ)を見つけ、タイトルにデータ、機械学習、NLP、または履歴書が含まれているすべての役職をメモしていきました。こうして、データ関連の仕事を募集している約70社の企業の情報を得ることができました。

ここで一つ注意しておきたいのは、実際に採用活動を行っているという情報がほとんどないウェブサイト(一般的にはステルスのウェブサイト)があったため、いくつかの企業を見落としていた可能性があるということです。また、正式な採用情報ページを持たずに、求職者にメールで直接連絡を取るようにしている企業もありました。

私はこういった企業の両方を無視したので、この分析の一部には含まれていません。

もう一つの理由は、このリサーチの大部分は2020年の最終週に向けて行われたところにあります。企業が定期的にページを更新しているため、募集中の仕事が変更されている可能性があります。しかし、これが導き出された結論に劇的な影響を与えることはないでしょう。

データプラクティショナーが負う責任とは?

その結果を見ていく前に、各データロールが一般的にどのような責任を負うのかを明確したいと思います。これから、4つの役割の説明をしていきます。

データサイエンティスト・・・統計学や機械学習の様々なテクニックを使ってデータを処理し、分析する。データソースから何が学べるかを探るためのモデル構築という業務を担当することが多いが、生産レベルではなくプロトタイプであることが多い。

データエンジニア・・・しっかりとしていて、スケーラブルなデータ処理ツール/プラットフォームを開発する仕事。SQL/NoSQLデータベースの操作とETLパイプラインの構築/維持が得意でないといけない。

機械学習(ML)エンジニア・・・多くの場合、モデルのトレーニングと生産化の両方を担当。高レベルのMLフレームワークに精通している必要があり、モデルのスケーラブルなトレーニング、推論、デプロイメントパイプラインの構築にも慣れている必要がある。

機械学習(ML)サイエンティスト・・・最先端の研究に取り組む。一般的には、学会で発表するような新しいアイデアの探求するのが役目。多くの場合、MLエンジニアに渡して生産化する前に、新しい最先端のモデルをプロトタイプ化する必要がある。

データ職種の数

では、各データ職種ごとの企業の採用回数をグラフ化するとどうなるのでしょうか?次のようになります。

従来のデータサイエンティストと比較して、オープンデータエンジニアの数がかなり多いことが明確です。おおよそですが、データサイエンティストよりもデータエンジニアの方が約55%多く採用されており、データサイエンティストとほぼ同数の機械学習エンジニアが採用されていることになります。

もっと詳しく見ていきましょう。様々な仕事内容を見てみると、重複しているようですね。

役割をまとめて、大まかに見てみましょう。つまり、大体同じような仕事を一つの役職に集約してみたということです。

  • NLPエンジニア≒ CVエンジニア≒MLエンジニア≒Deep Learningエンジニア (領域は違うかもしれないが、責任の所在は大体同じ)
  • ML サイエンティスト≒ディープラーニングの研究者 ≒ML インターンシップ(インターンシップというと、研究に特化しているように思います)
  • データエンジニア ≒データの設計者≒ データ責任者 ≒  データプラットフォームエンジニア

パーセンテージが記載されたグラフはこちらに準備しましたのでご安心ください。細かい数字が分かるようになっています。

MLリサーチエンジニアをMLサイエンティストかMLエンジニアのいずれかに含めてもよかったのですが、これが少しハイブリッドな仕事であることを考慮して、そのままにしておきました。

全体的に役割をまとめたことで、その違いはさらに顕著になりました。データサイエンティストよりもオープンデータエンジニアの方が70%多くなっています。また、データサイエンティストよりもMLエンジニアの方が40%ほど多いことが分かります。また、データサイエンティストよりもMLサイエンティストの方が30%ほど多くなっています。

まとめ

データエンジニアは、他のデータ駆動型(データドリブン)な職業に比べて、ますます需要が高まっています。これはある意味で、より広い分野に進化しているという意味です。

5~8年前に機械学習に人気が出たとき、企業はデータの分類器を作れる人材が必要だと判断したのです。しかしその後、TensorflowPyTorchのようなフレームワークが本当に優れたツールとして確立し、ディープラーニングや機械学習を始める能力が民主化されたのです。

これがきっかけで、データモデリングのスキルセットが商品化しました。

今日では、企業が機械学習やモデリングによるインサイトを本番につなげるための支援において、データの問題が主なボトルネックとなっています。

どのようにデータに注釈をつけるのか?データをどのように処理し、クリーニングするのか?どうやってAからBに移動させるのか?これを毎日できるだけ早く行うにはどうすればいいのか?といったような問題です。

結局、優れたエンジニアリングスキルを持っていることで全ての問題が解決するのです。

これは平凡で、面白みがないような答えに思えますが、データを重視した昔ながらのソフトウェア・エンジニアリングこそが、今私たちが本当に必要としているものなのかもしれません。

何年もの間、私たちは、クールなデモやメディアの誇大広告のおかげで、生のデータに命を吹き込むデータの専門家のやり方に人気が出ました。そもそもETLパイプラインに関するTechCrunchの記事を最後に見たのはいつだったでしょうか?

何はともあれ、データサイエンスの職業訓練や教育プログラムでは、堅実なエンジニアリングが十分に強調されていないと私は考えています。linear_regression.fit()の使い方に加えて、ユニットテストの書き方も学ぶべきです。

では、データサイエンスの勉強をしてはいけないということでしょうか?いいえ、決してそういうことではありません。

それは、競争が厳しくなるということを意味します。データサイエンスを行うための訓練を受けた新規参加者が市場に大量に参入してくることが予想されるため、競争率が激しくなるでしょう。

データから効果的に分析し、実用的な知見を見いだせる人材は常に必要とされています。もちろん、彼らは優秀でなければなりません。

TensorflowのウェブサイトからIris のデータセットで事前学習済みモデルをダウンロードするだけでは、データサイエンスの仕事に就くことはできないでしょう。

しかし、MLエンジニアの求人の数が多いことから、企業がハイブリッドなデータプラクティショナー、つまりモデルを構築してデプロイできる人材を求めていることは明らかなのです。より簡潔に言えば、Tensorflowを使いながらソースから構築できる人のことです。

またもう一つ重要なのは、MLの研究職はそれほど多くはないということです。

機械学習の研究は、AlphaGoGPT-3などの最先端の研究が行われている場所だから、それなりに宣伝もされます。

しかし、多くの企業、特に起業してすぐの企業にとっては、最先端の最先端技術はもはや必要とされていないかもしれません。90%のレベルでありながら、1,000人以上のユーザーに対応できるモデルを手に入れることの方が、彼らにとっては価値があることが多いのです。

だからと言って、機械学習研究に重要な場所がないと言うわけではありません。

しかし、シリーズAを調達しながら製品と市場の適合性を投資家に証明しようとしているシードステージ(ベンチャー企業の投資における成長ステージの区分のうち、会社設立前の準備期を指す区分、あるいは、会社設立直後の最初期)の新興企業ではなく、資本集約的な賭けを長期間に渡って行う余裕のある業界の研究所では、このような死後十の方がむしろたくさんあるでしょう。

何よりも、データ分野への新規参入者の期待を合理的に調整することが重要だと思います。データサイエンスは今ではもう違う状況にあるということを認識しなければなりません。この記事が、今日の現場の状況に少しでもヒントを与えることができたのであれば、幸いです。現在の状況を把握してこそ、今後の方向性が見えてくるのです。

appstore
googleplay
会員登録

会員登録して、もっと便利に利用しよう

  • 1.

    記事をストックできる
    気になる記事をピックして、いつでも読み返すことができます。
  • 2.

    新着ニュースをカスタマイズできます
    好きなニュースフィードをフォローすると、新着ニュースが受け取れます。