運用保守のことを考えないデータサイエンティストが危険である3つの理由

運用

こんにちは、ガロガロニーです!

昨今、デジタルトランスフォーメーション(DX)の概念が浸透しつつあり、ビジネス課題に対して、AIや機械学習といった専門知識とスキルを駆使し、専任でデータ分析業務を遂行できる人材が必要とされています。例えばデータサイエンティストなどは、ビッグデータを分析し、ビジネスに活かすことができる人材として、とても貴重な存在だと思います。

一方で、ただ大量にデータサイエンティストを雇えば、AI導入が成功するというわけではありません。悲しいことに、データ分析やモデル構築のことしか考えておらず、システム導入後の運用保守のことが全く頭に入っていないデータサイエンティストが一定数存在します。そのような人たちが現場に入ってしまうと、全く実務に落ちないAIシステムが完成してしまう恐れがあり、大変危険です。

本日は運用保守のことを考えないデータサイエンティストがなぜ危険であるか、その理由を3つ紹介したいと思います。

理由1:精度を追求するあまり複雑で難解なモデルを作成してしまうため

学生からAIの研究をしていたり、データ分析専門の博士課程の方などに多いのですが、Kaggleなどのコンペと同じ乗りで機械学習モデルを構築しようとする人達がいます。このような方たちは少しでも精度を上げたいと思い、複数のモデルを何層にも積み重ねて実装し、非常に複雑で難解なモデルを構築することがあります。

コンペや研究、単発の実験などなら分かりますが、実際のシステムでAIを導入する場合、定期的にモデルの学習や推論を実行しなければなりません。複雑で難解なモデルは非常に保守がしにくいため、モデルの運用ができる人が限られてしまいます。モデルの運用ができる人がいなくなった場合、せっかく作った機械学習システムも成り立たなくなります。さらにモデルの構造が複雑になるにつれて、学習や推論にかかる処理時間も増大します。

システムの精度要件にもよりますが、あまりにも精度を追求しすぎて全く実務に落とせないようなモデルを作るのはやめるようにしましょう。システムを長期的に運用できなくなり、大変危険です。

理由2:可読性の低いプログラムを書いてしまうため

機械学習システムは、Pythonで書かれることが多いと思いますが、データサイエンティストの中にはオブジェクト指向など無視したプログラムを書かれている人達がいます。また、docstringなどでクラスやメソッドの説明が全くされてなかったり、PEP8などのコーディング規約をガン無視でコーディングされていることなどもあります。

コードは書くことよりも、読まれることが圧倒的に多いにも関わらず、上記のような基本的なソフトウェアエンジニアリングができていないデータサイエンティストが多い気がします。このようなプログラムを書かれると、プログラムの可読性が低下し、保守性も下がっていきます。

また、Pythonコード内に機械学習の前処理などをカラム名を指定してべた書きで実装する方もいますが、これもプログラムの可読性が低くなってしまう行為です。表形式などの構造化されているデータを扱っている場合は、SQLで可能な前処理は実装しておき、複雑な前処理のみPython側で実装しておくとよいでしょう。いずれにしても、可読性の低いプログラムは危険なので書かないようにしましょう。

理由3:実験管理ができておらず、モデルの品質を担保していないため

実験的な機械学習モデルを本番システムに組み込むプロセスのことをMLOpsといいますが、この概念を理解していないデータサイエンティストがいます。(MLOpsについてはまた後日解説したいと思います。)例えば本番環境に向けて、モデルを再現したいのに、実験で使用したパラメータや学習済みのモデルファイル、データ、プログラムなどが管理できておらず、運用できるまでに時間がかかってしまうケースがあります。最悪の場合、モデルを最初から学習する場合もあり、そうなるとかなりの工数がとられてしまいため、とても危険です。

MLFlowなどの便利な機械学習の実験管理ツールを使えば、上記のような問題が発生せず、スムーズに本番環境に移行することができます。オープンソースで、機械学習のモデル管理からAPI作成まで対応できるため、ぜひ導入することをおすすめします。

まとめ

本日は運用保守のことを考えないデータサイエンティストがなぜ危険であるか、その理由を3つ紹介しました。もちろん、運用保守までしっかり考えている優秀なデータサイエンティストの方もたくさんいますが、上記のような危険な行為をするデータサイエンティストが一定数いるのも事実です。データ分析やモデル構築も重要ですが、実用的な機械学習システムを構築するため、ぜひ運用保守のことも考えていただけると幸いです。それではまた!

コメント

タイトルとURLをコピーしました