# 機械学習基盤
Navigation: [[index]] | [[concepts/_index]]
## 定義
機械学習基盤とは、[[継続的トレーニング]]を可能にするために、データサイエンティスト・機械学習エンジニア・ソフトウェアエンジニアなど複数のステークホルダーが協力しながら整備していく、実験からサービングまでを支える仕組み一式を指す。組織体制・技術スタック・クラウド/オンプレミス環境・メンバーのスキルセットによって最適な設計は変わるため、あらゆる組織に当てはまる万能の機械学習基盤は存在しない。ML Opsのレベル別構成(Google Cloudの整理)を参考にシンプル化すると、「共通の実験環境」「予測結果のサービング」「学習・予測共通処理のパイプライン化」「モデルの継続的トレーニング・デプロイ」の4ステップのコンポーネントに整理できる。これらは必ずしもこの順に構築する必要はなく、組織に必要なフェーズに必要なものを段階的に取り入れる進め方が推奨される。(Source: [[@2021__OReillyJapan__仕事ではじめる機械学習 - Chapter 6 継続的トレーニングをするための機械学習基盤]] §6.3)
4ステップの内容は以下のとおりである。
1. **共通の実験環境**: 共通のDockerイメージによるバージョニング、共用JupyterLab、MLflow等の実験管理ツール、Hydra等の設定管理ツールを組み合わせ、実験の再現性とコラボレーションを高め、プロジェクトの属人性を下げる。(§6.3.1)
2. **予測結果のサービング**: 学習済みモデルを本番環境にデプロイし、予測APIサーバーで結果を返す。TensorFlow Serving・TorchServe・Seldon Core・BentoML等の標準化されたサービング手段とモデルのバージョン管理を組み合わせ、切り戻しや障害切り分けを容易にする。(§6.3.2)
3. **学習・予測共通処理のパイプライン化**: 前処理などの共通処理をApache Airflow・Prefect等のワークフローエンジンで分割・依存関係管理し、失敗したタスクからのやり直しやバックフィルを容易にする。前処理の再利用性を高めるコンポーネントとしてFeature Storeがある。(§6.3.3)
4. **モデルの継続的トレーニング・デプロイ**: 特徴量エンジニアリングのユニットテスト・学習時の損失収束テスト・精度しきい値の確認・ステージング環境への自動デプロイ等を組み合わせたCI/CDの仕組みを作り、継続的トレーニングを実現する。(§6.3.4)
## 横断的知見
- **異なる書籍・異なる著者チームが独立に同じ骨格の基本アーキテクチャへ収束している**: 本ページが集約する『仕事ではじめる機械学習』6章の4ステップ(共通の実験環境/予測結果のサービング/学習・予測共通処理のパイプライン化/モデルの継続的トレーニング・デプロイ)は、『信頼性の高い機械学習』7章の図7-1が示す基本アーキテクチャ(データ取り込み→特徴量ストア→訓練(MLフレームワーク)→品質評価→運用への同期、オーケストレーションと監視が全体を覆い、モデル設定・管理・メタデータが下から支える構成)と、コンポーネント分解の粒度こそ異なるが「実験・パイプライン・サービングを横断的に監視・メタデータ管理でつなぐ」という骨格を共有する。2021年と2024年、異なる著者チームによる独立した記述が同じ構造に収束していることは、ML訓練基盤の基本アーキテクチャがある程度業界で定着していることを示唆する。詳細な各コンポーネントの信頼性原則は [[ML訓練システムの信頼性原則]] に集約した。(Source: [[@2021__OReillyJapan__仕事ではじめる機械学習 - Chapter 6 継続的トレーニングをするための機械学習基盤]] §6.3, [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 7 MLモデル訓練システム]] §7.2)
- **『機械学習システムデザイン』10章は「構築の順序」でも「データフロー」でもなく、「コモディティ化の度合い×データサイエンティストにとっての重要性」という2軸で機械学習基盤を整理し、既存2ソースの分解軸と直交する**: 『仕事ではじめる機械学習』6章の4ステップは「どの順で構築するか」という時系列の成熟度モデルであり、『信頼性の高い機械学習』7章の図7-1は「データがどう流れるか」というパイプライン構造のモデルである。これに対し[[@2023__OReillyJapan__機械学習システムデザイン - Chapter 10 MLOpsにおけるインフラとツール]]の図10-2が示す4層(開発環境/機械学習プラットフォーム/リソース管理/ストレージとコンピューティング)は、いずれの層をいつ構築すべきかにも、データがどう流れるかにも言及せず、下位層(ストレージとコンピューティング)ほどコモディティ化が進みクラウドプロバイダーへの外部化が進む一方、上位層(開発環境)ほどデータサイエンティストが日常的に触れ重要性が高いという、構築順序ともデータフローとも独立な整理軸を提示する(§10冒頭)。3ソースの基盤の切り分け方を比較すると、同じ「機械学習基盤」という主題に対して「いつ作るか(成熟度)」「データがどう流れるか(アーキテクチャ)」「誰にとって重要でどこまで外部化できるか(コモディティ化)」という3つの独立した軸が存在することが分かる。なお10章の「機械学習プラットフォーム」層(モデルストア・特徴ストアなど)は6章のステップ3(パイプライン化、特徴量ストアを含む)・ステップ4(継続的トレーニング・デプロイ)に相当する内容を扱うが、10章はこれをリソース管理層・開発環境層から明確に切り分けて論じる点で6章より粒度が細かい。(Source: [[@2021__OReillyJapan__仕事ではじめる機械学習 - Chapter 6 継続的トレーニングをするための機械学習基盤]] §6.3, [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 7 MLモデル訓練システム]] §7.2, [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 10 MLOpsにおけるインフラとツール]] §10冒頭)
## 未解決の問い
- ch.6は4ステップを「必ずしもこの順で進める必要はない」と述べるが、実際にどのステップから着手するかを決める判断基準(組織のボトルネックの見極め方)は示されていない。
- Feature Storeはch.6執筆時点(2021年2月)で「特定のクラウドサービスやSparkへの依存が強く発展途上」と評価されている。[[@2023__OReillyJapan__機械学習システムデザイン - Chapter 10 MLOpsにおけるインフラとツール]] §10.4.3(2023年)は、2022年1月時点の調査で95社中約40%のみが特徴ストアを使用しており、そのうち半数は自前構築だったと報告し、最も有名なOSSのFeastもバッチ特徴中心でストリーミングに弱いと評しており、2021年から2023年にかけても「発展途上」の評価自体は変わっていないことが分かる。ただし両ソースとも技術的な成熟度の変化の詳細(何が改善し何が未解決のままか)には立ち入っていない。
- 機械学習基盤のステップ4(継続的トレーニング・デプロイのCI/CD)と、通常のソフトウェア開発のCI/CDとの本質的な違いは、テスト対象が「損失の収束」や「精度しきい値」のような統計的性質である点に限られるのか、他にも構造的な違いがあるか。
## 関連
- 概念: [[継続的トレーニング]] / [[MLモデル監視]] / [[技術的負債]] / [[ML訓練システムの信頼性原則]] / [[特徴量ストア]]
- ソース: [[@2021__OReillyJapan__仕事ではじめる機械学習 - Chapter 6 継続的トレーニングをするための機械学習基盤]] / [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 7 MLモデル訓練システム]] / [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 10 MLOpsにおけるインフラとツール]]
- 実体: [[仕事ではじめる機械学習]] / [[Apache Airflow]] / [[TensorFlow]] / [[信頼性の高い機械学習]] / [[wiki/entities/機械学習システムデザイン|機械学習システムデザイン]]
## 出典
- [[@2021__OReillyJapan__仕事ではじめる機械学習 - Chapter 6 継続的トレーニングをするための機械学習基盤]] — 有賀康顕, 『仕事ではじめる機械学習 第2版』第6章, オライリー・ジャパン, 2021, §6.3.
- [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 7 MLモデル訓練システム]] — Cathy Chen ほか, 『信頼性の高い機械学習 ―SRE 原則を活用した MLOps』第7章, オライリー・ジャパン, 2024, §7.2.
- [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 10 MLOpsにおけるインフラとツール]] — Chip Huyen 著, 江川崇・平山順一 訳, 『機械学習システムデザイン』第10章, オライリー・ジャパン, 2023, §10冒頭.