澁井 雄介 著
【本書の背景】
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 まとめ
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 350 下から7行目 |
未 | 済 |
|
2021.11.10 | ||||||
1刷 | 384 リスト上から19行目(cat.jpgをiris.jpgに訂正) |
2刷 | 済 |
|
2021.05.28 | ||||||
1刷 | ix 下から7行目 |
未 | 済 |
|
2021.11.02 | ||||||
1刷 | viii 下から8行目 |
未 | 済 |
|
2021.11.02 |
ireadertj さん
2021-08-14
機械学習自体の本は数多あれど、実際に機械学習をシステムにデプロイしてどう運用するのか、そしてそのシステムパターンはどういうものがあるのかという日本語でははじめての本な気がするし、前者の本より、今後重要になってくる本だと思った。にしても、前職メルカリ、ここまでシステムデザイン含めてオープンにするってやはりすばらしい。ここにだすときには、なかではもっと新しいことやっているだろうけどw
mim42 さん
2021-06-21
運用的観点からの設計指南書。私が考えていたことの幾つかが見事に言語化されていた。書かれた情報の多くは今後陳腐化するだろうが、課題発見とその解決のための論理構造は変わらない。
鴨川 さん
2021-06-05
ずっとこういう本が欲しかった、、、 新人並みの感想だが組織として開発のノウハウが豊富ではない状況で手探りの開発をしていくのは結構怖い 大きい会社の人が常識っぽいところをまとめておいてくれるのは助かる