ABEJA で Research Engineer をやっている中川です.普段は論文読んだり,機械学習モデルを実装したり,インフラを構築したりしています.今回のブログでは3,4ヶ月の間遊び9割仕事1割で取り組んできた Python で実装された機械学習マイクロサービスたちの monorepo 化について紹介します. モチベーション 小売業向けに店舗解析ソリューションを提供している ABEJA Insight for Retail では以下のような理由から機械学習システムをマイクロサービスの polyrepo (multi-repo) で運用してきました. 様々なフレームワークで書かれた最新の研究成果を取り入れやすい. 負荷特性の全く異なる機械学習モデルをスケールさせやすい. モデルごとに容易にデプロイできる. 障害耐性や保守性を高め日々の運用負荷を下げる. 手前味噌ですが,マイクロサービス