![見出し画像](https://assets.st-note.com/production/uploads/images/97342966/rectangle_large_type_2_e1147b65eebe972fa16d8198eb370555.png?width=1200)
デジタル人材の需要の変わり目
少し前の記事ですが、こんなものがありました。
2019年まで4年連続トップだった「データサイエンティスト」が順位を落として、「エンタープライズアーキテクト」が2022年に初めて首位に浮上した、という記事です。「デジタル技術が複雑化し、組織全体を俯瞰してまとめる指揮者のような人材に需要がシフトしている。」ということです。
分析作業の深い専門性を持っている「データサイエンティスト」も、ビジネス側の要件、開発人材など複数部門の横の連携を取りつつ、最適な課題解決のデザインをする「エンタープライズアーキテクト」の方が求人数や給与、満足度から見た注目度が高くなってきている、ということみたいです。
これは実感にも近いです。
この状況を会社の同僚がうまいこと説明したことがあります。「機械学習はデータパイプラインの一部になった」ということです。どういうことか。
ここ数年の変化
2010年代初頭ぐらいに、機械学習という言葉を少しずつ見かけるようになりました。と言っても当時はまだそれほど目新しいことはなくて、単純に昔からある統計的手法を新しい名前で呼び始めた、ぐらいのものでした。そこから少しずつ伝統的な統計学の手法からは異なったやり方が出てくるようになってきて、独自の進化を遂げた、と個人的には感じています。
2010年代後半ぐらいからデータサイエンティストという言葉が日本でもかなり使われるようになってきて、勉強し始める人も増えてきた感じです。同時に起きてきたのが、下記のような事でした。
手法の標準化
元々はバラバラだった統計的手法を「機械学習」という名のもとに統一していった感じがあります。例えばクラスタリングなどは「教師なし学習」、回帰分析や判別分析は「教師あり学習」といった具合です。
教師ありの機械学習ではとにかく予測精度を上げることが目標になって、そのために色々な手法が開発されて行きましたが、その中でもいくつかお作法が生まれてきました。
例えば、データはモデルの当てはめを行うTrainingデータと、モデルの検証をするTestデータ(Validationデータとも)を必ず分けましょう、とか、さらに細かくtraining/testのデータをたくさん作ってそれぞれでの予測精度を測りましょう(k-foldなど)、などといった方法です。
これらの手法は結構バラバラに存在していましたが、だんだんと教師付き学習をするならこの手順をやりましょう、というように手順が標準化して行きました。
ちなみに統計学部の授業などでは、線形モデルを当てはめたら必ず誤差の正規性を確認しましょう、QQプロット描きましょう、何て言われていましたが、機械学習の盛り上がりとともにQQプロット描く人見なくなりました。
簡易化するモデル作り
同時に、モデルの当てはめ自体もかなり簡単になってきました。2010年代は機械学習のモデルを作るのが割と大変で、それはまだ多くの人が使うようなライブラリが存在しなかったのが大きな原因の1つだと思います。
機械学習のモデルを何か当てはめるには、それ専用のライブラリが必要な時代がありました。私はRを主に使っていましたが、Random Forestというモデルを当てはめるにはこのライブラリ、ロジスティック回帰をするにはこのライブラリ、というように個別のライブラリ(Rではパッケージと呼ぶ)が存在し、それぞれのライブラリの使い方を知っていないといけませんでした。
また、先に述べたような標準的な手順もそれほど決まっていなかったので、自分たちでデータをトレーニングと検証用に分割したりと手間がかかっていました。
2020年ぐらいにはPythonで機械学習モデルを作るのがほぼ主流になってきて、scikit-learnという標準的な機械学習のライブラリをデータサイエンティストはほぼ全員使うというような状況になりました。Rでも同じように、tidymodelsというパッケージが出てきて、機械学習の扱いを簡易化できるようになってきました。
今では1週間のブートキャンプ的なものに参加すれば、とりあえずデータを使ってモデルの当てはめをする、などというのは簡単にできるような時代になりました。
起きてきた問題
一方で困ったことも起きてきて、その最たるものが、機械学習のモデルを作るだけではビジネス上の問題が解決しきれないことを、企業が学び始めたということです。
例えばですが、
モデルの予測精度が落ちてきた時に、どのようにモデルを更新すべきか
モデルを当てはめた予測結果をいかにリアルタイムで利用するか
などなど、モデルを作っただけでは正直何も変わりません。レコメンデーションシステムでも、顧客離反モデルでも、なんでもいいんですけど、レコメンデーションならウェブサイトにリアルタイムで予測されたおすすめ商品を表示しなければいけない、顧客離反モデルならそれをもとにどの顧客にどの部署の誰がいつどういうアクションを取るか、など社内のプロセスを作らないといけません。
結局データサイエンティストが作るモデルというのは、ビジネス上の問題を解決する1ステップにしか過ぎないので、モデル作れる人だけがいてもあまり意味がないです。
おそらく、データサイエンス部みたいなのを作ってデータサイエンティストを雇ったはいいけど、あんまり価値が生まれていないよね、という幻滅期があったのかなと想像します。
新しいアプローチ
以前は手法もまだバラバラで、モデル作りも結構難しくて、そのためモデルを作れる人が限られていたように思います。加えて便利なライブラリもあまりなかったので、自分でデータを見て、モデルを当てはめて、さらにプログラムに実装する、というような一人でなんでもできるすごい人が「データサイエンティスト」とか「機械学習エンジニア」などと呼ばれていたように思います。
最近はどうなったかというと、データの加工やらモデルの当てはめやら、Google, Microsoft, Amazonが提供するクラウドサービスの中で提供されています。
例えばAmazonが提供するAWSでは
時系列予測をするAmazon Forecast
オンライン不正を検知するAmazon Fraud Detector
画像・動画解析のRekognition
Microsoft Azureでは
機械翻訳をするTranslate
Chatbot用のAzure Bot Service
などなど予測モデルから不正検知、画像解析や自然言語処理など、幅広い分野でサービスが提供されています。なので今はどちらかというと、これらのサービスをいかにソフトウェアとして組み込むか、という方が大事になってきています。
もちろん機械学習はデータが必要なので、ソフトウェア開発の知識だけでは開発が難しいかもしれませんが、データサイエンティストが1つ1つの問題にデータを集めてモデル化して、これならうまく行きそう、という検証を以前ほどしなくても良くなりました。
それよりは、不正検知をしたい、そのためのデータはこれが必要、それをウェブサイトからリアルタイムで取ってきて、〇〇というクラウドサービスに流す、その結果を〇〇という別のクラウドサービスに渡して、予測を評価し、結果を〇〇というクラウドサービスに保存する、というようにデータをどのように流して、どのようなサービスを組み合わせるか、という設計が重要になってきたと思います。これが「機械学習のデータパイプライン化」です。
今後の予想
もはや機械学習のモデル作成自体はそれほど難しくない、あとはそれを同ソフトウェアサービスの中に組み込むか、というのが重要になってきた気がします。その流れもあって、「エンタープライズアーキテクト」という最適な課題解決のデザインする人が注目されるようになってきたのではないでしょうか。
もっというと、おそらく2010年代に注目されていた今でいうところのデータサイエンティストたちは、「エンタープライズアーキテクト」が担ってきたような役割を自分でもできる人だったのではないか、と思っています。それが2010年半ばぐらいから分業化が進んで、モデルだけ作る人、でもプログラミングはそれほどでもないから実装はできない人、みたいな人が増えてきて、うーん、実験はできてProof of Conceptは作れるんだけど、最後の実装ができなくてビジネスの問題が解決しないよね、ってのが2020年代初頭に起きたことなのかな、と思いました。
この流れはどんどん加速していって、機械学習もよりソフトウェア開発に近づくというか、ソフトウェア開発に飲み込まれていって、本番環境でのプログラムが書けないデータサイエンティストは淘汰されていくのかな、と感じています。
この記事が気に入ったらサポートをしてみませんか?