はじめに
数年前、社内の需要予測モデルをようやく本番に載せたとき、自分は「これで終わった」と思っていた。実際に始まったのはそこからだった。学習用の特徴量と推論時の特徴量がずれて精度が落ち、バッチが深夜に失敗しても翌朝まで誰も気づかない。再学習は自分の手元のノートブックからしか回せず、休みが取れない。
振り返ると、モデルの精度を上げる方法はいくらでも学んでいたのに、モデルを動かし続ける方法をまったく学んでいなかった。精度は実験の結果でしかなく、本番で価値を出すのはデータの流れとパイプライン、そして誰がどこを責任を持つかという設計の話だ。
この領域は日本語の情報がまだ散らばっていて、ブログ記事を拾い読みするだけでは全体像が見えない。自分は結局、書籍で順番に土台を作り直した。アプリケーション全体の作り方、データ基盤の原理、パイプラインの自動化、組織と運用、そしてクラスタ上での実行基盤という流れだ。
ここでは、その順番で効いた5冊を紹介する。機械学習の理論書は入れていない。すでにモデルは作れるが本番で詰まっている人に向けた選び方だ。
① 機械学習による実用アプリケーション構築 ―事例を通じて学ぶ、設計から本番稼働までのプロセス — Emmanuel Ameisen
著者は Insight Data Science でデータサイエンティストの育成に関わり、その後 Stripe で機械学習エンジニアとして働いてきた人物だ。現場と教育の両方を見てきた視点が本文に出ている。
扱うのは、曖昧な要望を機械学習で解ける問題に落とし込み、最小のモデルで一度エンドツーエンドに通し、そこから改善していく一連のプロセスだ。題材として文章の品質を改善するエディタを作りながら進む。
印象的なのは、最初のモデルがヒューリスティックでもいいと割り切っている点だ。評価指標の決め方、学習データの偏りの見つけ方、推論結果のデバッグといった地味な作業に多くのページを割いている。
自分は「まず動くものを一周させる」という進め方をこの本で腹に落とした。モデルを磨く前にパイプラインを通すと、どこが本当のボトルネックなのかが見える。
こんな人に: モデルは作れるが、プロダクトとしての組み立て方に自信がない人。
② データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理 — Martin Kleppmann
著者はケンブリッジ大学の研究者で、以前は LinkedIn などで大規模なデータ基盤の開発に携わっていた。分散システムの理論と実務の両方に足がついている。
機械学習の本ではない。それでも、本番の機械学習システムで起きる障害の大半はデータの流れ方の問題なので、この本の内容が直接刺さる。レプリケーション、パーティショニング、トランザクション、一貫性、ストリーム処理といったテーマを、各手法の長所と短所を並べながら解説していく。
自分が一番助かったのはストリーム処理の章だ。イベントログを真実の記録として扱い、そこから派生データを作るという考え方は、特徴量ストアや再学習の設計と素直につながる。
分厚いので通読は骨が折れる。必要な章から拾って読み、気になったところを後で戻るやり方で十分だと思う。
こんな人に: データ基盤の障害やデータ不整合に繰り返し悩まされている人。
③ 入門 機械学習パイプライン ―TensorFlowで学ぶワークフローの自動化 — Hannes Hapke, Catherine Nelson
著者はどちらも機械学習エンジニアとして実務で TensorFlow を使い込んできた2人で、TFX を軸にした自動化の知見がまとまっている。
データの取り込み、検証、前処理、学習、評価、デプロイを一本のパイプラインとして組む方法を、コードを追いながら順に説明する。データ検証やモデル分析のコンポーネントの使い方が具体的で、設定ファイルのレベルまで降りてくる。
学習時と推論時の前処理を共通化する話は、冒頭に書いた自分の失敗そのものだった。前処理をパイプラインの一部として宣言してしまえば、ずれは起きにくくなる。
TensorFlow 前提なので、PyTorch 中心のチームにはそのまま適用できない。それでもパイプラインの分解の仕方は他のツールに移せる。
こんな人に: 手動で回している再学習を自動化したい人。
④ Introducing MLOps: How to Scale Machine Learning in the Enterprise — Mark Treveil, Nicolas Omont ほか
Dataiku のメンバーを中心とした共著で、企業内で機械学習を広げる過程で見てきた課題が土台になっている。
内容はツールの手順書ではなく、本番化、デプロイ、監視、ガバナンスをどう仕組みにするかという話だ。モデルの劣化をどう検知し、誰が再学習を承認し、どのタイミングで切り戻すのか。登場する役割の整理が丁寧で、データサイエンティスト、ML エンジニア、運用担当の責任境界が見える。
責任あるAIの章も入っている。本番のモデルがユーザーの行動に影響を与える以上、公平性や説明責任は後付けできない。
英語だが文章は読みやすく、分量も控えめだ。チームで輪読して用語を揃える使い方に向く。
こんな人に: 複数モデルの運用体制やレビューの流れを整えたい立場の人。
⑤ Kubeflow for Machine Learning: From Lab to Production — Trevor Grant, Holden Karau ほか
著者陣にはオープンソースのデータ処理基盤に長く関わってきたエンジニアが並び、Holden Karau は Apache Spark のコミッタとして知られている。
Kubernetes 上で学習から推論までを動かすための実装書だ。Kubeflow Pipelines によるワークフロー定義、分散学習、ハイパーパラメータ探索、モデルのサービングといった要素を、マニフェストとコードで追える。
移植性、拡張性、信頼性を軸に話が進むので、クラウドベンダーに寄りすぎない構成を考えるときの参考になる。自分は推論サービングの章を読んで、カナリアリリースの組み方を具体化できた。
Kubernetes の基礎知識は前提になる。クラスタ運用の経験がないなら、先にそちらを少し触っておくほうが早い。
こんな人に: Kubernetes 上に学習・推論の基盤を自前で立てるつもりの人。
まとめ
| ステップ | 読む本 | 得られるもの |
|---|---|---|
| 全体像をつかむ | 機械学習による実用アプリケーション構築 | 問題設定からエンドツーエンドで通す進め方 |
| 土台を深掘りする | データ指向アプリケーションデザイン | データの保存と流し方の原理 |
| 自動化する | 入門 機械学習パイプライン | 再学習とデプロイのパイプライン実装 |
| 運用を仕組みにする | Introducing MLOps | 監視、ガバナンス、役割分担 |
| 基盤を自分で持つ | Kubeflow for Machine Learning | Kubernetes 上での学習と推論の構築 |
今の課題から1冊選ぶなら、こんな目安になる。
- モデルはあるのにプロダクトにならない → 機械学習による実用アプリケーション構築
- データの欠損や不整合で毎回つまずく → データ指向アプリケーションデザイン
- 再学習が手作業で属人化している → 入門 機械学習パイプライン
- 運用の責任範囲が曖昧で監視が回らない → Introducing MLOps
- 学習と推論の実行環境を自前で整えたい → Kubeflow for Machine Learning
5冊を一気に読む必要はない。いま詰まっている1冊を選んで、手元のシステムを直しながら読むほうが身につくはずだ。