MLOps実装ガイド
本番運用を見据えた開発戦略
- Yaron Haviv、Noah Gift 著、井伊 篤彦、入江 美穂、張 凡、樋口 千洋 訳
- 2025年08月 発行
- 396ページ
- ISBN978-4-8144-0120-8
- フォーマット Print PDF ePub
- 原書: Implementing MLOps in the Enterprise
5,280円
書籍のご注文はオーム社サイトへ
内容
企業でMLOpsを実装するにあたって、開発と運用が分断され、モデルのデプロイや監視に多大な時間とコストがかかる現状があります。それらを変えるためには、設計段階から本番運用を見据えた発想が必要です。本書は、MLOpsの専門家が現場の課題と解決策を体系的に示し、効果的なMLOpsパイプラインの構築と構造化、組織全体でMLOpsを効率的に拡張する方法、一般的なMLOpsユースケースの検討、データの取り込みからCI/CD、ガバナンス、継続的な運用まで、企業のAI活用を実現するための実践知を詳しく解説します。MLOpsパイプラインの各フェーズに従って構成されており、MLOpsの最初のステップから最も高度なユースケースまで幅広く解説します。実践的なMLOpsを始めるために最適な1冊です。
関連書籍
目次
訳者まえがき はじめに 1章 MLOpsとは何か、そしてなぜ必要なのか 1.1 MLOpsとは何か 1.1.1 企業におけるMLOps 1.1.2 企業向けソリューションにおけるROIの理解 1.1.3 企業におけるリスクと不確実性の理解 1.1.4 MLOpsとDevOpsの比較 1.1.5 MLOpsではないものとは何か 1.2 MLOpsの一般的な定義 1.2.1 MLエンジニアリングとは何か 1.2.2 MLOpsとビジネスインセンティブ 1.3 クラウドでのMLOps 1.3.1 主要なクラウド開発環境 1.3.2 クラウドコンピューティングの主要プレイヤー 1.4 オンプレミスにおけるMLOps 1.5 ハイブリッド環境におけるMLOps 1.6 企業のMLOps戦略 1.7 結論 1.8 批判的思考を促す議論用質問 1.9 演習問題 2章 MLOpsの段階 2.1 はじめに 2.1.1 アルゴリズムを選択する 2.1.2 パイプラインをデザインする 2.2 データの収集と準備 2.2.1 データの保管と取り込み 2.2.2 データの探索と準備 2.2.3 データのラベル付け 2.2.4 特徴量ストア 2.3 モデルの開発と訓練 2.3.1 本番環境のMLコードの作成と保守 2.3.2 実験結果の追跡と比較 2.3.3 分散訓練とハイパーパラメータの最適化 2.3.4 本番環境用モデルの構築とテスト 2.4 デプロイメント(およびオンラインMLサービス) 2.4.1 モデルエンドポイントからアプリケーションパイプラインまで 2.4.2 オンラインデータの準備 2.5 継続的なモデルとデータのモニタリング 2.5.1 データドリフトとコンセプトドリフトのモニタリング 2.5.2 モデルの性能と精度のモニタリング 2.6 事前学習済みモデルを用いた戦略 2.7 エンドツーエンドのHugging Face アプリケーションの構築 2.8 フローの自動化(ML用のCI/CD) 2.9 結論 2.10 批判的思考を促す議論用質問 2.11 演習問題 3章 はじめてのMLOpsプロジェクトへの取り組み 3.1 ビジネスのユースケースと目標を特定 3.1.1 AI ユースケースの紹介 3.1.2 目標の定義とROIの評価 3.2 成功するMLプロジェクトの構築方法 3.2.1 プロジェクトの承認とプロトタイプ 3.2.2 プロジェクトの拡張と本番環境 3.2.3 プロジェクトの構造とライフサイクル 3.3 MLプロジェクトの例、AからZまで 3.3.1 探索的データ分析 3.3.2 データとモデルのパイプラインの開発 3.3.3 アプリケーションパイプラインの開発 3.3.4 プロジェクトの拡張と本番環境 3.3.5 CI/CDと継続的オペレーション 3.4 結論 3.5 批判的思考を促す議論用質問 3.6 演習問題 4章 データと特徴量ストアの操作 4.1 データのバージョン管理とデータリネージ 4.1.1 仕組み 4.1.2 一般的なMLデータのバージョン管理ツール 4.2 規模に応じたデータの準備と分析 4.2.1 構造化データと非構造化データの変換 4.2.2 分散データ処理アーキテクチャ 4.2.3 インタラクティブデータ処理 4.2.4 バッチデータ処理 4.2.5 ストリーム処理 4.2.6 ストリーム処理フレームワーク 4.3 特徴量ストア 4.3.1 特徴量ストアアーキテクチャと使用方法 4.3.2 読み込みと変換サービス 4.3.3 特徴量ストレージ 4.3.4 特徴量検索(訓練とサービング) 4.4 特徴量ストアのソリューションと使用例 4.4.1 Feast 特徴量ストアの使用 4.4.2 MLRun特徴量ストアの使用 4.5 結論 4.6 批判的思考を促す議論用質問 4.7 演習問題 5章 本番環境モデルの開発 5.1 AutoML 5.2 MLジョブの実行、トラッキング、比較 5.2.1 実験のトラッキング 5.2.2 モデル成果物とともに重要なメタデータを保存 5.2.3 MLジョブの比較:MLflowの例 5.2.4 ハイパーパラメータチューニング 5.2.5 自動ログ記録 5.3 MLOpsの自動化:AutoMLOps 5.3.1 例:Azure Databricks を使ったMLジョブの実行とトラッキング 5.3.2 大規模訓練への対応 5.3.3 多段階ワークフローの構築と実行 5.3.4 計算リソースの効率的な管理 5.4 結論 5.5 批判的思考を促す議論用質問 5.6 演習問題 6章 モデルとAIアプリケーションのデプロイメント 6.1 モデルレジストリと管理 6.2 ソリューションの例 6.2.1 SageMakerの例 6.2.2 MLflowの例 6.2.3 MLRunの例 6.3 モデルサービング 6.3.1 Amazon SageMaker 6.3.2 Seldon Core 6.3.3 MLRun 6.4 高度なサービスとアプリケーションのパイプライン 6.4.1 スケーラブルなアプリケーションパイプラインの実装 6.4.2 モデルルーティングとアンサンブル 6.4.3 モデル最適化とONNX 6.5 データとモデルのモニタリング 6.5.1 統合モデルモニタリングソリューション 6.5.2 スタンドアロンモデルモニタリングソリューション 6.6 モデルの再訓練 6.6.1 モデル再訓練のタイミング 6.6.2 データ再訓練の戦略 6.6.3 MLOpsパイプラインでのモデル再訓練 6.7 デプロイメント戦略 6.8 ビジネスへの影響を測る 6.9 結論 6.10 批判的思考を促す議論用質問 6.11 演習問題 7章 本番環境レベルのMLOpsプロジェクトをゼロから構築する 7.1 探索的データ分析(EDA) 7.2 インタラクティブなデータの準備 7.2.1 クレジット取引データセットの準備 7.2.2 ユーザーイベント(アクティビティ)データセットの準備 7.2.3 ラベルの抽出とモデルの訓練 7.3 特徴量ストアを使用したデータの取り込みと準備 7.3.1 クレジット取引データパイプライン(特徴量セット)の構築 7.3.2 ユーザーイベントデータパイプライン(FeatureSet)の構築 7.3.3 ターゲットラベルデータパイプライン(FeatureSet)の構築 7.3.4 特徴量ストアへのデータ取り込み 7.4 モデル訓練および検証パイプライン 7.4.1 特徴量ベクトルの作成と評価 7.4.2 自動訓練および検証パイプラインの構築と実行 7.5 リアルタイムアプリケーションパイプライン 7.5.1 カスタムモデルサービングクラスの定義 7.5.2 エンリッチメントとアンサンブルを備えたアプリケーションパイプラインの構築 7.5.3 アプリケーションパイプラインのローカルテスト 7.5.4 リアルタイムアプリケーションパイプラインのデプロイメントとテスト 7.6 モデルモニタリング 7.7 CI/CDと継続的運用 7.8 結論 7.9 批判的思考を促す議論用質問 7.10 演習問題 8章 スケーラブルな深層学習の構築と大規模言語モデルプロジェクト 8.1 分散深層学習 8.1.1 Horovod 8.1.2 Ray 8.2 データ集計、ラベル付け、深層学習のモニター 8.2.1 データのラベル付けの落とし穴 8.2.2 データのラベル付けのベストプラクティス 8.2.3 データのラベル付けソリューション 8.2.4 ラベル付けに基盤モデルを利用 8.2.5 深層学習モデルと非構造化データのモニタリング 8.3 深層学習モデルは内製か購入か 8.4 基盤モデル、生成AI、LLM 8.4.1 生成AI のリスクと挑戦 8.4.2 MLOpsパイプラインで効率的にLLMを使用しカスタマイズする 8.4.3 アプリケーション例:LLMモデルのファインチューニング 8.5 結論 8.6 批判的思考を促す議論用質問 8.7 演習問題 9章 高度なデータ型のためのソリューション 9.1 時系列を使ったML問題の枠組み 9.1.1 AWSを使用した時系列分析のナビゲート 9.1.2 DeepAR+で時系列データに飛び込む 9.1.3 GCP BigQuery とSQLを使用した時系列分析 9.2 MLOpsのNLP問題における構築と購入の比較 9.3 構築と購入の比較:Hugging Face アプローチ 9.4 AWSを使った自然言語処理の探求 9.5 OpenAIを使った自然言語処理の探求 9.6 動画分析、画像分類、生成AI 9.7 CreateMLを使用した画像分類技術 9.8 コンポジットAI 9.8.1 コンポジットAI のためのサーバーレスの始め方 9.8.2 コンポジットAI とサーバーレスのユースケース 9.9 結論 9.10 批判的思考を促す議論用質問 9.11 演習問題 10章 Rustを使用したMLOpsの実装 10.1 MLOpsにRust を使用するケース 10.1.1 Rust、GitHub Copilot、およびCodespaces によるレベルアップ 10.1.2 始まりはコマンドライン 10.2 MLOps向けRust 入門 10.3 PyTorchとHugging Face をRust で使用する 10.4 Rust を使用してMLOps用ツールを構築する 10.4.1 コンテナ化されたRust コマンドラインツールの構築 10.4.2 GPU PyTorchワークフロー 10.4.3 TensorFlow Rust の使用 10.4.4 Rust でk-meansクラスタリングを実行する 10.5 Rust に関する最後のポイント 10.5.1 Ruff リンター 10.5.2 rust-new-project-template 10.6 結論 10.7 批判的思考を促す議論用質問 10.8 演習問題 付録A 採用面接での質問 付録B エンタープライズMLOpsのインタビュー 索引 コラム目次 Azure Machine Learning Studio を使ったGitHub Actions のゲストセクション ソーシャルメディアの影響パターンの分析