内容紹介
手を動かして理解する、実務で役立つMLOps
本書は、サービスに活用できる機械学習システムの開発・運用を解説する書籍です。
機械学習をサービスで活用するとき、機械学習モデル自体ではなく、運用上・管理上の問題に直面することは数多くあります。どれだけ優れた機械学習モデルを構築できたとしても、それをサービスに活かすためのシステムがなければ運用できません。
そこで本書では、機械学習システムを運用するための技術であるMLOpsを、機械学習システムの構築を通じて学んでいきます。具体的には、広告クリック率をリアルタイムで予測する機械学習システムをAWS上にデプロイします。
機械学習パイプラインや推論サービスの構築だけでなく、バージョニングやシステム監視など、サービス活用のために必要とされる一歩進んだ内容にまで踏み込んでいる点が特徴です。
このような方におすすめ
◎ 機械学習システムに関わるソフトウェアエンジニア
◎ 開発だけでなくデプロイまで行うデータサイエンティストや機械学習エンジニア
〇 機械学習をビジネス活用しようと考えているプロダクトマネージャー
〇 機械学習をサービスで活用している企業で働きたいと考えている大学生
目次
主要目次
はじめに・目次
1章 MLOps概要
2章 環境構築
3章 モデル作成
4章 機械学習パイプライン
5章 実験基盤
6章 バージョン管理
7章 CI・CD
8章 推論サービス
9章 継続的学習
10章 監視
索引
詳細目次
はじめに・目次
1章 MLOps概要
1.1 MLOpsの歴史
1.1.1 DevOpsの登場
1.1.2 第3次AIブームの到来
1.1.3 MLOpsの象徴的論文公開
1.1.4 MLOpsの登場
1.1.5 MLOpsの体系化
1.2 Ops概要
1.2.1 DevOps
1.2.2 MLOps
1.2.3 AIOpsやLLMOpsとの違い
2章 環境構築
2.1 ローカル開発環境
2.1.1 サンプルコードのダウンロード
2.2.2 Python仮想環境
2.2.3 Dockerのインストール
2.2.4 Terraformのインストール
2.2 AWS環境
2.2.1 AWSアカウント作成
2.2.2 IAMユーザー作成
2.2.3 AWS CLIの認証
2.3 AWSリソース初期化
2.3.1 tfstate用のS3バケット作成
2.3.2 Terraform backend設定
2.3.3 TerraformでのAWSリソース作成
2.3.4 プロジェクトでのAWSリソース利用設定
2.3.5 データ準備
3章 モデル作成
3.1 機械学習システム要件
3.2 データ説明
3.3 モデル作成
3.3.1 モデル説明
3.3.2 notebook作成
3.3.3 データ確認
3.3.4 学習データ前処理
3.3.5 ハイパーパラメータ探索
3.3.6 モデル学習と評価
4章 機械学習パイプライン
4.1 機械学習パイプライン概要
4.2 データ抽出
4.3 データ検証
4.4 データ前処理
4.5 モデル学習
4.6 モデル評価
4.7 モデルデプロイ
5章 実験基盤
5.1 実験基盤概要
5.2 開発環境標準化
5.2.1 Python環境標準化
5.2.2 静的解析ツール導入
5.2.3 テストコード導入
5.3 実験用計算インフラストラクチャ環境
5.4 実験設定管理
5.5 実験追跡
6章 バージョン管理
6.1 バージョン管理概要
6.2 データバージョン管理
6.3 特徴量ストア
6.4 モデルバージョニング
7章 CI・CD
7.1 CI・CD概要
7.2 GitHub Actions
7.2.1 GitHub Actionsとは
7.2.2 GitHub Actionsの要素
7.2.3 GitHub Actionsによるワークフロー実行
7.3 AWS連携
7.3.1 GitHub ActionsでAWS認証を行う方法
7.3.2 アクセスキーとシークレットアクセスキーの使用
7.3.3 OpenID Connectでの一時クレデンシャル使用
7.4 CI
7.4.1 GitHub ActionsによるCI導入
7.4.2 Pythonコード検証
7.4.3 Terraformコード検証
7.5 CD
7.5.1 GitHub ActionsによるCD導入
7.5.2 ECRへのデプロイ
7.5.3 Terraform実行
8章 推論サービス
8.1 推論サービス概要
8.1.1 バッチ推論・オンライン推論
8.1.2 機械学習システムデザインパターン
8.1.3 オートスケーリング
8.1.4 監視
8.1.5 デプロイパターン
8.1.6 A/Bテスト
8.1.7 モデルレジストリ、特徴量ストアとの連携
8.2 推論サービスの構成
8.3 ローカルでの推論サービス起動
8.4 AWSでの推論サービス起動
8.5 推論サービス更新
8.6 オートスケーリング
8.7 A/Bテスト
9章 継続的学習
9.1 継続的学習概要
9.2 継続的学習の必要性
9.3 継続的学習のトリガー
9.4 継続的学習パイプラインの要素
9.4.1 コンテナレジストリから最新バージョンのイメージを取得
9.4.2 学習パイプライン実行制御
9.4.3 特徴量ストアから最新バージョンの特徴を取得
9.4.4 モデルレジストリにデプロイ可能モデルを登録
9.4.5 推論サービスへのモデルデプロイ
9.4.6 監視とフィードバックループ
9.5 AWSによる継続的学習実践
10章 監視
10.1 監視概要
10.1.1 監視の必要性
10.1.2 監視と可観測性
10.1.3 監視ツールボックス
10.1.4 監視のためのサービス
10.2 監視の指標
10.2.1 システム
10.2.2 データ
10.2.3 モデル
10.2.4 予測値
10.3 監視の優先順位
10.4 AWSによる監視
10.4.1 CloudWatch Dashboardによるシステム指標監視
10.4.2 推論サービスのログ基盤構築
10.4.3 学習データのログ基盤構築
10.4.4 ログ基盤を使用した分析
索引
続きを見る