澁井 雄介(著)
※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。
【本書の背景】
Pythonを用いた機械学習のモデル開発事例は多数ありますが、
そのモデルをビジネスやシステムに組み込み、運用する事例や方法論は多くありません。
そのため、AIを組み込んだ実装モデルをまとめた、
「機械学習システムのデザインパターン」に注目が集まっています。
【対象読者】
・AIエンジニア
・システムエンジニア
・機械学習を本番システムとして使うための開発、運用方法で悩んでいるエンジニアの方
【本書の概要】
本書は機械学習を有効活用するためにはシステムに組み込むための設計や
実装が必要と考え、機械学習システムのデザインパターンを集めて解説した書籍です。
機械学習システムのグランドデザインおよびPythonによる機械学習システムの実装例を説明しつつ、
機械学習を本番活用するための方法論や、運用、改善ノウハウについて解説します。
本書で扱うプラットフォームには、コードの再現実行を担保するため、
DockerとKubernetesを活用します。
機械学習の学習から評価、QAを行い、推論器をリリースして
運用するまでの一連の流れをアーキテクチャやコードとともに解説します。
【デザインパターンのサンプル】
本書で解説している実際のサンプルコードをGitHubからダウンロードして利用可能です。
【本書のゴール】
・機械学習を実用化する方法が学べる
・Pythonによる機械学習ワークフローおよびWebアプリケーション開発の概要を学べる
・機械学習を組み込んだシステムの運用ノウハウを得られる
・機械学習システムのトラブルシューティングや調査方法を学べる
【著者プロフィール】
澁井 雄介(しぶい・ゆうすけ)
株式会社ティアフォー所属。
MLOpsエンジニア、インフラエンジニア、ARエンジニア、ネコ2匹の飼い主。家に猫用ハンモックが4台ある。
本業で自動運転のためのMLOps基盤をKubernetesで開発しつつ、趣味でARとEdge AIを組み合わせて遊んでいる。
過去にはSIer、外資ソフトウェアベンダー、スタートアップで新規プロダクトの起ち上げ、大規模システム運用、チームマネジメントに従事。
前職メルカリにて機械学習をシステムに組み込むデザインパターンを執筆、公開。
・GitHubで「mercari/ml-system-design-pattern」と検索
本書は機械学習を有効活用するためにはシステムに組み込むための設計や実装が必要と考え、機械学習システムのデザインパターンを集めて解説した書籍です。機械学習システムのグランドデザインおよびPythonによる機械学習システムの実装例を説明しつつ、機械学習を本番活用するための方法論や、運用、改善ノウハウについて解説します。
本書で扱うプラットフォームには、コードの再現実行を担保するため、DockerとKubernetesを活用します。機械学習の学習から評価、QAを行い、推論器をリリースして運用するまでの一連の流れをアーキテクチャやコードとともに解説します。
機械学習のシステムにはプロダクトそのものだけでなく、機械学習を運営維持するためのシステムもあります。そこで最初の章で、機械学習のためのシステムについて概要を解説しています。
本書では、アンチパターンも含め、32パターンに及ぶデザインパターンを紹介しています。図も交えてわかりやすく解説しています。
本書ではデザインパターンのサンプルを用意しています。紙面では、一部省略などした形で紹介。実際のコードは本書のダウンロードサイト(GitHub)で確認できます。
■Part 1 機械学習とMLOps
CHAPTER 1 機械学習システムとは
1.1 機械学習、MLOps、システム
1.2 ユーザに使ってもらえる機械学習を目指して
1.3 機械学習システムに必要なもの
1.4 機械学習システムをパターン化する
1.5 本書の構成
■Part 2 機械学習システムを作る
CHAPTER 2 モデルを作る
2.1 モデルの作成
2.2 アンチパターン―Only meパターン―
2.3 プロジェクトとモデルとバージョニング
2.4 パイプライン学習パターン
2.5 バッチ学習パターン
2.6 アンチパターン―複雑パイプラインパターン―
CHAPTER 3 モデルをリリースする
3.1 学習環境と推論環境
3.2 アンチパターン―バージョン不一致パターン―
3.3 モデルの配布と推論器の稼働
3.4 モデルインイメージパターン
3.5 モデルロードパターン
3.6 モデルの配布とスケールアウト
CHAPTER 4 推論システムを作る
4.1 なぜシステムを作るのか
4.2 Webシングルパターン
4.3 同期推論パターン
4.4 非同期推論パターン
4.5 バッチ推論パターン
4.6 前処理・推論パターン
4.7 直列マイクロサービスパターン
4.8 並列マイクロサービスパターン
4.9 時間差推論パターン
4.10 推論キャッシュパターン
4.11 データキャッシュパターン
4.12 推論器テンプレートパターン
4.13 Edge AIパターン
4.14 アンチパターン―オンラインビッグサイズパターン―
4.15 アンチパターン―オールインワンパターン―
■Part 3 品質・運用・管理
CHAPTER 5 機械学習システムを運用する
5.1 機械学習の運用
5.2 推論ログパターン
5.3 推論監視パターン
5.4 アンチパターン―ログなしパターン―
5.5 アンチパターン―そして誰もいなくなったパターン―
CHAPTER 6 機械学習システムの品質を維持する
6.1 機械学習システムの品質と運用
6.2 機械学習システムの正常性評価指標
6.3 負荷テストパターン
6.4 推論サーキットブレーカーパターン
6.5 シャドウA/Bテストパターン
6.6 オンラインA/Bテストパターン
6.7 パラメータベース推論パターン
6.8 条件分岐推論パターン
6.9 アンチパターン―オフラインのみパターン―
CHAPTER 7 End-to-EndなMLOpsシステムの設計
7.1 課題と手法
7.2 需要予測システムの例
7.3 コンテンツ投稿サービスの例
7.4 まとめ
ireadertj さん
2021-08-14
機械学習自体の本は数多あれど、実際に機械学習をシステムにデプロイしてどう運用するのか、そしてそのシステムパターンはどういうものがあるのかという日本語でははじめての本な気がするし、前者の本より、今後重要になってくる本だと思った。にしても、前職メルカリ、ここまでシステムデザイン含めてオープンにするってやはりすばらしい。ここにだすときには、なかではもっと新しいことやっているだろうけどw
mim42 さん
2021-06-21
運用的観点からの設計指南書。私が考えていたことの幾つかが見事に言語化されていた。書かれた情報の多くは今後陳腐化するだろうが、課題発見とその解決のための論理構造は変わらない。
鴨川 さん
2021-06-05
ずっとこういう本が欲しかった、、、 新人並みの感想だが組織として開発のノウハウが豊富ではない状況で手探りの開発をしていくのは結構怖い 大きい会社の人が常識っぽいところをまとめておいてくれるのは助かる