2025-11-14T05:07:10.818918

MLOps with Microservices: A Case Study on the Maritime Domain

Ferreira, Trapmann, Heuvel
This case study describes challenges and lessons learned on building Ocean Guard: a Machine Learning-Enabled System (MLES) for anomaly detection in the maritime domain. First, the paper presents the system's specification, and architecture. Ocean Guard was designed with a microservices' architecture to enable multiple teams to work on the project in parallel. Then, the paper discusses how the developers adapted contract-based design to MLOps for achieving that goal. As a MLES, Ocean Guard employs code, model, and data contracts to establish guidelines between its services. This case study hopes to inspire software engineers, machine learning engineers, and data scientists to leverage similar approaches for their systems.
academic

マイクロサービスを用いたMLOps:海事領域のケーススタディ

基本情報

  • 論文ID: 2506.06202
  • タイトル: MLOps with Microservices: A Case Study on the Maritime Domain
  • 著者: Renato Cordeiro Ferreira, Rowanne Trapmann, Willem-Jan van den Heuvel
  • 所属機関: Jheronimus Academy of Data Science (JADS)、アイントホーフェン工科大学 (TUe)、ティルブルク大学 (TiU)
  • 分類: cs.SE cs.AI cs.LG
  • 発表日時: arXiv:2506.06202v2 cs.SE 2025年8月11日
  • 論文リンク: https://arxiv.org/abs/2506.06202

要旨

本ケーススタディは、海事領域における異常検知用の機械学習対応システム(MLES)であるOcean Guardシステム構築における課題と教訓について述べています。論文はまずシステム仕様とアーキテクチャを紹介します。Ocean Guardはマイクロサービスアーキテクチャ設計を採用し、複数のチームが並行して作業することを可能にします。その後、開発者がいかにして契約ベースの設計をMLOpsに適応させたかについて論じています。MLESとしてのOcean Guardは、コード契約、モデル契約、データ契約を採用し、サービス間のガイドライン原則を確立しています。

研究背景と動機

問題背景

  1. 海事デジタル化の加速:国際海事機関(IMO)によれば、現代船舶は「浮遊するデータセンター」となり、数百個のセンサーを搭載し、大量の異質なデータを生成しています
  2. 複雑な運用環境:海事領域は国境を越えた継続的な移動、多様な規制枠組み、気象の影響を受けやすいという特性を持ちます
  3. データ処理の課題:接続性と条件が急速に変化する環境において、異なるデータストリームを大規模に取り込み、処理、分析し、運用信頼性を維持できるシステムが必要です

研究動機

  1. 技術融合の必要性:MLOpsのベストプラクティスとマイクロサービスアーキテクチャを組み合わせ、海事領域の予測分析、異常検知、経路最適化の需要に対応する
  2. 多チーム協働:ソフトウェアエンジニア、データサイエンティスト、機械学習エンジニアなど複数の専門分野チームの並行開発をサポートする必要性
  3. システムスケーラビリティ:マイクロサービスアーキテクチャは海事領域のモジュール性、スケーラビリティ、レジリエンス要件に特に適しています

主要な貢献

  1. MLES適用可能な契約駆動設計方法の提案:マイクロサービスのコード契約概念をデータ契約とモデル契約に拡張
  2. 完全な海事異常検知システムアーキテクチャの構築:マイクロサービスベースのOcean Guardシステムで、複数チームの並行開発をサポート
  3. MLOpsにおけるDDD適用の検証:ドメイン駆動設計を通じた統一言語の創造により、専門分野横断的なチーム間コミュニケーション改善
  4. MLES開発の実践的経験提供:結合度、整合性、コミュニケーションの3つの主要課題を特定し解決

方法論の詳細

システム仕様

機能要件

調査官(Investigator)機能

  • I1-I6:地理的位置表示、フィルタリング、オブジェクトタイプ識別、複数データソース検索、メタデータ表示、軌跡追跡
  • I7-I9:異常ハイライト表示、異常フィルタリング、異常説明表示

異常検知器(Anomaly Detector)機能

  • A1-A3:異常検知、異常列挙、異常説明

非機能要件

  1. 解釈可能性:解釈可能なモデルまたはブラックボックス説明技術(SHAP、LIME)の使用
  2. 互換性:EU標準に準拠し、他システムとの迅速な統合をサポート
  3. レジリエンス:高容量、高速度データソースの処理
  4. コンプライアンス:GDPRおよびAI Actなどの欧州法規への適合

システムアーキテクチャ

5つのサブシステム設計

  1. データ取得(Data Acquisition)
    • 第三者プロバイダ(1)、物理センサ(2)、データクローラ(3)
    • ラベルストレージ(A)および生データストレージ(B)
  2. 継続的訓練(Continuous Training)
    • 合成データ生成パイプライン(I)、データ拡張パイプライン(II)
    • ルールベース訓練パイプライン(III)、MLベース訓練パイプライン(IV)
    • メタデータストレージ(F)およびモデルレジストリ(G)
  3. サービング(Serving)
    • バッチ予測パイプライン(VIII)およびAPI予測サービス(8)
    • 予測ストレージ(H)
  4. 監視(Monitoring)
    • ガバナンスアプリケーション(7)およびテレメトリストレージ(I)
  5. 継続的デリバリ(Continuous Delivery)
    • CIパイプライン(V)、CDパイプライン(VI)、CD4MLパイプライン(VII)
    • アーティファクトレジストリ(D)

API アーキテクチャ設計

**ヘキサゴナルアーキテクチャ(Hexagonal Architecture)**を採用:

  1. コア(Core):ビジネスロジックを実装、DDDパターンに準拠
    • エンティティ(Entities)、値オブジェクト(Value Objects)
    • 集約(Aggregates)、サービス(Services)
  2. ポート(Ports):コアとアダプタ間の契約を確立
    • データベースリポジトリ、依存性注入、セキュリティメカニズム、Webルータ
  3. アダプタ(Adapters):外部依存との通信
    • 読み取りアダプタ:モデル、第三者API、ストレージ、データベース、設定
    • 出力アダプタ:Web、キャッシュ

チーム構成とワークフロー

チーム責務コンポーネント
研究チーム最先端技術探索実験および訓練パイプライン
イノベーションチーム実践的技術探索実験および訓練パイプライン
コア開発チームバックエンド開発およびインフラストラクチャAPI、データベース、モデルリポジトリ
UI開発チームフロントエンド開発およびインターフェース設計Webアプリケーション

技術的革新点

契約駆動開発(Contract-Based Development)

1. コード契約(Code Contracts)

  • 定義:HTTPプロトコルを通じた2つのサービス間の同期/非同期相互作用動作の文書化
  • 適用シーン
    • データクローラと外部データソース間の契約
    • API予測サービスとWebアプリケーション間の契約

2. データ契約(Data Contracts)

  • 定義:データストレージにおける予期されるフォーマットの文書化。型、フォーマット、分布、読み書きプロトコルを含む
  • 適用シーン
    • ラベルストレージのプロデューサとコンシューマ間契約
    • 生データストレージの複数当事者契約
    • パイプライン間の処理済みデータ契約

3. モデル契約(Model Contracts)

  • 定義:モデルの予期される入出力およびストレージフォーマットの文書化
  • 適用シーン:モデルレジストリにおける訓練パイプラインと予測サービス間の契約

統一言語(Ubiquitous Language)

DDDを通じた専門分野横断的な共有語彙の創造により、以下を改善:

  • ステークホルダーと開発者の理解
  • チーム間の整合性
  • データとモデル概念の説明

実験設定

開発環境

  • コードリポジトリ:集中型ソースコード管理
  • 開発ツール:IDE(4)は構造化ソフトウェアエンジニアリング用、ノートブック(5)はインタラクティブなプロトタイピングと分析用
  • CI/CD:継続的統合パイプライン、継続的デリバリパイプライン、ML継続的デリバリパイプライン

デプロイメントアーキテクチャ

  • コンテナ化:アーティファクトレジストリを使用したバージョン管理されたソフトウェアコンポーネント
  • スケジューリングサービス:各コンポーネント実行の調整
  • 監視システム:モデルとシステム使用状況を監視するガバナンスアプリケーション

課題と解決策

3つの主要課題

  1. 結合度(Coupling)
    • 問題:システムの複雑性により、コンポーネント修正が容易にカスケード影響を引き起こす
    • 解決:契約駆動設計を通じた統合問題の削減
  2. 整合性(Alignment)
    • 問題:4つの専門分野チームの並行作業における調整の課題
    • 解決:明確な境界定義、CI/CDパイプライン統合
  3. コミュニケーション(Communication)
    • 問題:異なる技術背景を持つステークホルダーへのシステム進化の説明
    • 解決:DDDを通じた統一言語の確立

解決策の効果

技術方法解決される課題具体的効果
契約駆動設計結合度 + 整合性統合問題の削減、システム凝集性の改善
統一言語コミュニケーション + 整合性理解の深化、フィードバック品質の改善

関連研究

MLOps領域の発展

  • 2022年以降:複数のMLES参照アーキテクチャが提案される
  • SE4AI:AI システム作成に適応したソフトウェアエンジニアリング技術の新興領域
  • システムコンポーネント化:MLESは複数のコンポーネントを含むものとして記述され、サービス間で分散可能

マイクロサービスアーキテクチャ

  • 2015年以降:マイクロサービスアーキテクチャスタイルの興隆、モジュール性、スケーラビリティ、レジリエンス課題の解決
  • 海事適用性:異なる海事データソースと分析ニーズを処理する専門的コンポーネント

結論と考察

主要な結論

  1. アーキテクチャの有効性:マイクロサービスアーキテクチャは複数専門分野チームのMLES並行開発を効果的にサポート
  2. 契約の拡張:マイクロサービスのコード契約概念をデータおよびモデル次元に成功裏に拡張
  3. DDD適用性:ドメイン駆動設計は専門分野横断的チーム間のコミュニケーションと調整を効果的に改善
  4. 課題への対応:契約駆動設計と統一言語は結合度、整合性、コミュニケーション課題を効果的に解決

制限事項

  1. 機密性制限:プロジェクト機密性により、論文は具体的なデータモデルと異常検知技術に触れていない
  2. 学術的制約:研究およびイノベーションチームは学生で構成され、学術的締切により制限される
  3. 実装段階:システムはまだ開発中であり、本番環境での長期検証が不足している

今後の方向性

  1. 機能完善:すべての機能および非機能要件を満たすための継続的開発
  2. 技術探索:研究およびイノベーションチームとの最先端および実践的技術の継続的探索
  3. アーキテクチャ進化:確立された契約方法と統一言語に基づく開発プロセスの指導

深層的評価

強み

  1. 実践的価値が高い:MLOpsとマイクロサービス結合の完全なケーススタディを提供
  2. 方法論的革新:契約駆動設計をデータおよびモデル次元に拡張することは独創的
  3. アーキテクチャの完全性:システムアーキテクチャ設計は包括的で、MLESのあらゆる側面をカバー
  4. チーム協働:複数専門分野チームの並行開発における課題を効果的に解決
  5. 実用的指導:類似プロジェクトに参考となる経験と教訓を提供

不足点

  1. 技術的深さの限定:機密性制限により、具体的なML アルゴリズムとデータ処理の詳細が不足
  2. 評価の不足:システムパフォーマンス、スケーラビリティなどの定量的評価が不足
  3. 長期検証の欠落:システムはまだ本番環境で長期運用されていない
  4. 比較分析の不足:他のMLESアーキテクチャスキームとの比較分析が不足

影響力

  1. 領域への貢献:MLOpsとマイクロサービス結合に重要な実践的参考を提供
  2. 方法論的価値:契約駆動設計の拡張は広範な適用可能性を持つ
  3. エンジニアリング実践:複雑なMLES のチーム協働に有効なモデルを提供
  4. 再現可能性:アーキテクチャ設計と方法論は良好な再現可能性を持つ

適用シーン

  1. 複数チームMLES開発:複数専門分野チームの並行開発が必要な機械学習システム
  2. 複雑なデータ処理:複数ソースの異質なデータを扱うシステムアーキテクチャ設計
  3. 高いコンプライアンス要件:厳格な規制要件を満たす必要がある業界応用
  4. スケーラブルシステム:高度なモジュール性とスケーラビリティが必要なMLシステムアーキテクチャ

参考文献

論文は17の重要な文献を引用し、以下をカバーしています:

  • 海事デジタル化転換関連研究
  • マイクロサービスアーキテクチャとMLOpsベストプラクティス
  • ソフトウェアエンジニアリング方法論(DDD、ヘキサゴナルアーキテクチャ)
  • 機械学習システムエンジニアリング(SE4AI)

要約:本論文はOcean Guardケーススタディを通じ、マイクロサービスアーキテクチャのMLOpsにおける応用、特に複数チーム協働における契約駆動設計の価値を効果的に実証しています。機密性制限により技術的詳細に深く入ることはできませんが、その方法論的貢献と実践的指導価値は顕著であり、類似の複雑なMLESプロジェクトに対して貴重なアーキテクチャ設計とチーム協働経験を提供しています。