継続的インテグレーションの最初の一歩のために調べたこと、考えたことの情報からアップデート。
MLOpsの概念では、CI/CDの他に、CTの概念もあるらしい。
MLOpsとは?
CI/CDなどを含む、運用のしやすさを含めて開発を考える、というDevOpsに対して、MLOpsはMachine Learningのライフサイクルを円滑に進めるための概念。
機械学習にはデータを集める、加工する、アーキテクチャを作る、学習する、予測する、といった工程があり、煩雑になってしまう管理を考える必要がある。
CTとは?
Continuous Trainingの略で、継続的トレーニングのこと。
機械学習のモデル学習を継続的に改善していく運用を考える概念。
パイプライン化について
機械学習のプロセスをパイプライン化してくれるライブラリは色々ある。
少し見た限りでも、metaflow、airflow、Kerdo、luigi、など。
Tensorflow Extendedのようなプラットフォームも。
いまいち、パイプラインの利点がよく分かっていない。
処理を直列に並べることと、プログラムで順番に処理していくことと、読みやすさ以外に、何か違うのか?
メタデータによるバージョン管理だったり、可視化することで、どこの処理がどう終わったのか見やすい、といったところが利点、であるようには見える。
この辺りは、機械学習の運用をもう少し経験すると、肌感覚が分かるのかもしれない。