保守しやすいMLコードを書く

本番環境向けのMachine Learningモデル開発

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

プロジェクト構成

  • プロジェクトを論理的な構成で整理
  • 関連ファイルをまとめる
    • データセットとMLモデルは別フォルダに
  • 適切な命名とラベル付けを行う

structure

本番環境向けのMachine Learningモデル開発

サンプルプロジェクト構成

README、requirements、data・models・notebooksの3サブフォルダを含むサンプル構成 mlops_directory

  • README.md: リポジトリの目的と使い方を説明
  • requirements.txt: 依存関係の一覧
  • data: 生データと加工データなどデータ関連ファイル
  • models: モデル作成スクリプト等のモデル関連ファイル
  • notebooks: 探索・学習・評価用ノートブック
本番環境向けのMachine Learningモデル開発

コードのバージョン管理

  • 変更履歴管理にgit等のバージョン管理を使用
  • 必要に応じてロールバック可能
  • バグや不具合の原因特定に有用
  • 並行作業が可能

code

本番環境向けのMachine Learningモデル開発

ドキュメンテーション

  • コードとプロジェクト構成を文書化
  • 各ファイルや関数の目的を説明
  • 使い方を記載
  • MLモデルのデプロイ手順を含める

doc

本番環境向けのMachine Learningモデル開発

コードの適応性

  • 理解・変更・更新が容易
  • 変更に要する時間と工数を削減
  • データ・コード・要件の変化に適応しやすい
  • バグが生じにくい
  • 機能や新技術を容易に統合可能
  • 時間とともに進化・適応できるMLアプリに必須
本番環境向けのMachine Learningモデル開発

実践しましょう!

本番環境向けのMachine Learningモデル開発

Preparing Video For Download...