この記事ではMLOps学習に特化して解説します。ローカルでLLMを動かす環境づくりは ローカルLLMを動かす方法|2026年6月最新オープンウェイト・ランタイム・VRAM要件まで総まとめ もあわせてご覧ください。
- Made-With-MLはGokuMohandas氏が公開する48kスターのMLOps学習ロードマップ。設計から本番監視までを1つのプロジェクトで通す無料・MIT教材
- Ray・MLflow・PyTorch・GitHub Actions・Anyscaleを使い、MLプロジェクトのタグ分類タスクを題材に、学習→テスト→CI/CD→デプロイ→監視を実装する
- 前提知識が最も少ないMLOps入門。日本語学習者が遠回りせず実務力を付けるための進め方と、他教材との使い分けまで整理する
30秒で理解するMade-With-MLとMLOps学習
Made-With-ML(GokuMohandas/Made-With-ML)は、本番で動くMLアプリケーションの作り方を体系的に教える無料の学習ロードマップだ。GitHubで48kを超えるスターを集め、約40,000人の開発者が学んできた定番教材として知られる。要点を先に押さえる。
・設計・開発・デプロイ・反復という機械学習のライフサイクル全体を、ひとつの実プロジェクトで通して学べる
・分散処理のRay、実験管理のMLflow、深層学習のPyTorch、CI/CDのGitHub Actionsを実務的に組み合わせる
・題材は「MLプロジェクトをタグ分類する」テキスト分類タスク。研究用のおもちゃではなく本番志向の構成
・MITライセンスで完全無料。コードの閲覧・実行・改変・再配布が自由
・MLOps系教材の中で前提知識が最も少なく、Python基礎と初歩のML知識があれば始められる
機械学習のモデルは書けても、それを本番で動かし続けるのは別のスキルだ。Made-With-MLはその「別のスキル」——テスト・CI/CD・監視・再現性——を、ソフトウェア工学の作法とともに教えてくれる。本記事ではカリキュラムの全体像と、日本語学習者が効率よく実務力を付ける進め方を、公式リポジトリと構成をもとに整理する。
Made-With-MLとは(なぜ48kスターを集めたか)
Made-With-MLは、機械学習エンジニアのGoku Mohandas氏が公開している学習プロジェクトだ。単発のチュートリアルではなく、「責任を持ってMLで価値を届ける」ことを目標に、本番グレードのML開発を最初から最後まで通す構成になっている。
48kスターという数字の裏には、明確な空白を埋めたという事実がある。世の中のML教材の多くは「モデルの精度を上げる」までで終わり、そこから先——コードのテスト、データの検証、学習パイプラインの自動化、本番後の監視——をまとめて教える無料教材はほとんどなかった。Made-With-MLはその溝に橋を架けた。
もうひとつの強みが「直感を先に作る」アプローチだ。いきなりコードに飛び込まず、まず概念をプロダクトの視点から考えさせる。そのうえでバージョニング・テスト・ロギングといったソフトウェア工学の重要概念を、ML文脈で具体的に落とし込んでいく。研究室で学ぶMLと、現場で求められるMLエンジニアリングの差を、丁寧に埋めてくれる設計だ。
対象読者も広い。MLに入門するソフトウェアエンジニアやインフラエンジニア、学術と産業のギャップを埋めたい新卒、技術的な土台が欲しいプロダクト/リーダー層まで想定されている。実際、推薦文にはAmazonやGrabといった企業のシニアエンジニアが名を連ねる。
・モデルが書ける ↔ 本番で運用できる、の溝
・データサイエンス ↔ ソフトウェア工学、の溝
・ノートブックでの実験 ↔ 再現可能なパイプライン、の溝
学ぶ順序を選ぶうえでは、関連トピックの土台も押さえておきたい。自律的にツールを呼ぶシステムを学ぶなら AIエージェントとは?仕組み・種類・代表的OSSフレームワークを初心者向けに解説【2026年版】、本番運用に欠かせない安全面は AIセキュリティとは?LLM時代の脅威モデル・代表的リスク・OSS対策ツールを体系解説する入門ガイド が入口になる。Made-With-MLで実装の型を掴み、周辺知識をこれらで補うと学習効率が上がる。
なお、リポジトリの最終更新は2026年3月だ。毎週更新されるニュース系教材ではなく、「時間が経っても陳腐化しにくいMLOpsの型」を提供する定番ロードマップとして捉えるのが正しい。最新モデルの追跡は別の情報源に任せ、ここでは普遍的な開発の流れを身につける、という割り切りで臨むと得るものが大きい。
カリキュラム全体像
Made-With-MLは大きく「Foundations(基礎)」と「MLOps」の2トラックに分かれる。Foundationsで機械学習そのものの土台を作り、MLOpsで本番運用の作法を積み上げる構成だ。
Foundationsは3層に整理されている。ツールキット(ノートブック・Python・NumPy・Pandas・PyTorch)、機械学習(線形回帰・ロジスティック回帰・ニューラルネット・データ品質)、深層学習(CNN・埋め込み・RNN・アテンション・Transformer)。ここで「概念の直感」を作ってから、MLOpsへ進む。
MLOpsトラックは8セクションで構成される。全体を1枚で俯瞰すると次のようになる。
Python / NumPy / PyTorch"] --> F2["Machine Learning
回帰 / NN / データ品質"] F2 --> F3["Deep Learning
CNN / 埋め込み / Transformer"] end subgraph M["MLOps(本番運用)"] M1["Design
設計・システム設計"] --> M2["Data
準備・探索・前処理"] M2 --> M3["Model
学習・追跡・評価・配信"] M3 --> M4["Developing
スクリプト化・CLI"] M4 --> M5["Utilities
ロギング・文書化・整形"] M5 --> M6["Testing
コード・データ・モデル"] M6 --> M7["Reproducibility
バージョニング"] M7 --> M8["Production
CI/CD・監視・データ基盤"] end F3 --> M1
この流れの肝は、8セクションが「別々のツール紹介」ではなく、ひとつのプロジェクトを育てていく連続したステップになっている点だ。Designで決めた仕様が、DataとModelで実装され、Testingで検証され、Productionで自動化される。各セクションが前のセクションの成果物の上に積み上がる。
題材はぶれない。終始「MLプロジェクトのテキストを読んで、natural-language-processing・computer-vision・mlops・otherのいずれかに分類する」というタスクに取り組む。ひとつのタスクを最後まで磨き込むことで、本番ML開発の全工程が体に染み込む設計だ。
設計・データ・モデリング(基礎パート)
MLOpsトラックの入口は、コードではなく「設計」から始まる。プロダクト設計(誰のどんな課題を解くか)とシステム設計(どんな構成で実現するか)を言語化してから、データに触れる。この順序がMade-With-MLの思想を端的に表している。
Dataセクションでは、データの準備・探索・前処理、そしてRayを使った分散データ処理を扱う。ここで重要なのは、データを「きれいに整えて終わり」にせず、後段でテスト可能な状態に持っていく前提で組み立てる点だ。
Modelセクションが学習の中心になる。モデルの訓練、実験追跡、ハイパーパラメータチューニング、評価、配信までを一気通貫で扱う。実際のスクリプト構成は実務そのままだ。
# リポジトリの取得と環境構築
git clone https://github.com/GokuMohandas/Made-With-ML.git .
python3 -m venv venv
python3 -m pip install -r requirements.txt
pre-commit install
# MLflow の実験追跡サーバを起動
mlflow server -h 0.0.0.0 -p 8080
学習・チューニング・評価・推論・配信が、それぞれ独立したスクリプトに分かれているのも特徴だ。ノートブックで散らかりがちな処理を、再利用可能なPythonスクリプトに落とす作法をここで身につける。
# 学習・チューニング・評価・推論・配信のワークロード
python madewithml/train.py # モデルの訓練
python madewithml/tune.py # ハイパーパラメータチューニング
python madewithml/evaluate.py # 評価
python madewithml/predict.py # 推論
python madewithml/serve.py # Ray Serve で配信
実験追跡にはMLflowを使い、パラメータ・メトリクス・成果物(モデルの重みなど)を記録する。「どの設定でどの精度が出たか」を後から再現・比較できる状態を作るのが狙いだ。研究ノートブックの「あの結果どうやって出したっけ?」を構造的に防ぐ。
さらにModelセクションでは、学習が回るだけで満足せず「再現可能な学習」を意識づける。乱数シードの固定、データ分割の記録、依存ライブラリのバージョン固定——こうした地味な作業が、半年後に同じ結果を出せるかどうかを分ける。MLflowに記録した実験は、後段のReproducibilityセクションでバージョニングと結びつき、「いつ・どのデータ・どのコードで作ったモデルか」を完全に辿れる状態へつながっていく。
ハイパーパラメータチューニングはRay Tuneで分散実行する。手動で1つずつ試すのではなく、探索空間を定義してまとめて回し、MLflowで結果を一覧する。ローカルの数並列から、クラウドの大規模並列まで、同じコードのままスケールできるのがRay採用の効きどころだ。
ノートブックは探索に向くが、実行順序が暗黙的で再現が難しく、テストもCIも書きにくい。Made-With-MLはまずノートブックで直感を作り、確立した処理をスクリプト化する。この「探索→製品化」の往復が、本番ML開発の現実的な作法だ。
CI/CDとテスト(MLflow/Ray連携)
Made-With-MLが他のML教材と決定的に違うのが、テストとCI/CDに踏み込む点だ。通常のソフトウェアと違い、MLでは「コード」だけでなく「データ」と「モデル」もテスト対象になる。
Testingセクションでは、この3層をそれぞれ検証する。コードはpytestで通常のユニットテストを書く。データはスキーマや値の範囲、欠損の有無を検証する。モデルは推論の不変条件(特定の入力で期待する挙動を満たすか)や、最低限の精度をテストとして固定する。
# コード・データ・モデルのテストを pytest で実行
python3 -m pytest tests/code --verbose
python3 -m pytest tests/data --verbose
python3 -m pytest tests/model --verbose
データとモデルにテストを書く発想は、ソフトウェアエンジニアにはあっても、研究出身のデータサイエンティストには抜けがちな視点だ。Made-With-MLはこの差を埋める。「精度が出るモデル」から「壊れたら気づけるモデル」へ、品質の考え方を一段引き上げる。
CI/CDはGitHub Actionsで実装する。リポジトリには2種類のワークフローが用意されている。
| ワークフロー | トリガ | 処理 | 基盤 |
|---|---|---|---|
| Workloads | mainへのPR作成時 | 学習・評価をAnyscale Jobsで実行し、結果をPRコメントに自動投稿 | Anyscale Jobs |
| Serve | mainへのマージ時 | 訓練済みモデルを本番にデプロイ | Anyscale Services |
実行にはGitHubシークレットとして ANYSCALE_HOST と ANYSCALE_CLI_TOKEN を設定する。PRを出すと自動で学習が走り、結果がコメントで返り、マージすると本番に反映される——という、ソフトウェア開発で当たり前のフローを、ML特有のワークロードでも実現する。これがMLOpsの核心だ。
分散実行の土台はRayが担う。ローカルの小さな実験から、Anyscale上のクラスタでの大規模学習まで、同じコードのままスケールさせられる。新しい言語やフレームワークを覚え直さず、Pythonのまま分散化できるのがRayを採用する利点だ。
本番デプロイと監視(observability・A/Bテスト)
モデルをデプロイして終わり、ではない。本番に出した後こそMLOpsの本番だ。Productionセクションは、ジョブとサービス、CI/CDワークフロー、監視、データエンジニアリングを扱う。
配信はRay Serveを使い、serve.py でモデルをHTTPエンドポイントとして公開する。学習用のスクリプトと配信用のスクリプトを分けることで、推論側だけを独立してスケール・更新できる構成になる。
本番後に重要になるのが監視(observability)だ。モデルは時間とともに劣化する。学習時のデータ分布と、本番で流れてくるデータ分布がずれていく「データドリフト」「コンセプトドリフト」を検知できなければ、精度低下に気づけないまま運用し続けることになる。
デプロイ直後の精度は当てにならない。世界が変われば入力分布も変わり、モデルは静かに劣化する。「ドリフトを監視し、再学習のトリガを決め、CI/CDで自動的に回す」までを設計して、初めて本番MLは回り続ける。Made-With-MLはここまでをスコープに含める数少ない教材だ。
監視で異常を捉えたら、再学習のパイプラインを回す。Workloadsワークフローが学習と評価を自動化しているため、新しいデータで再学習し、評価をパスしたらデプロイ、という継続的な学習サイクル(Continuous Training)を組める。これが「設計・開発・デプロイ・反復」の「反復」にあたる部分だ。
新旧モデルの比較には、本番トラフィックを分けて性能を比べるA/Bテストやカナリアリリースの考え方が効く。いきなり全量を新モデルに切り替えるのではなく、一部に流して安全を確かめてから広げる。こうした「本番で安全にモデルを入れ替える」運用作法まで視野に入っているのが、研究寄りの教材との明確な違いだ。
監視で見るべき指標は精度だけではない。レイテンシ(応答速度)やスループット、エラー率といったシステム面の指標と、入力データの分布や予測の偏りといったML面の指標を、両輪で追う必要がある。前者が悪化すればユーザー体験が落ち、後者が悪化すれば気づかぬうちに誤った予測を返し続ける。Made-With-MLはこの二層の監視を、本番MLの当然の責務として扱う。
Productionセクションが最後にデータエンジニアリングに触れるのも示唆的だ。モデルは結局のところデータの質に支配される。本番で安定したパイプラインを回すには、データの取り込み・変換・検証を継続的に行う基盤が要る。「良いモデル」を一度作る話ではなく、「良いデータが流れ続ける仕組み」を作る話——ここまで踏み込んで初めて、MLOpsの全体像が閉じる。
日本語学習者向けの進め方
公式コンテンツは英語のみで、日本語版は存在しない。だが英文は平易でコードと図が多く、機械翻訳やLLM要約を併用すれば独学で十分に消化できる。ここでは遠回りせず実務力を付ける順序を示す。
まず前提のセルフチェックから始めたい。Python基礎(関数・クラス・仮想環境)とGitの基本操作があれば本編に入れる。MLが未経験ならFoundationsから、ある程度わかるならMLOpsトラックへ直行してよい。
・週5〜8時間で約8〜12週間を目安にする
・第1〜2週:環境構築とFoundationsで直感づくり
・第3〜6週:Design〜Modelを手を動かして1周(精度より「動かす」優先)
・第7〜9週:Testing〜Reproducibilityでテストとバージョニングを追加
・第10〜12週:ProductionでCI/CDと監視まで通す
英語の壁を下げるコツも具体的に挙げておく。レッスン本文はLLMに「日本語で要約して」と渡し、要点を掴んでから原文とコードに戻る。専門用語は無理に和訳せず英語のまま覚える(drift・registry・servingなどはそのまま使う方が後で困らない)。詰まったらまずエラーメッセージで検索する。
補助教材としては、機械学習そのものの理論が手薄だと感じたら和書や日本語の入門講座で線形代数・確率を補い、Rayの細部は公式ドキュメントで補完する。Made-With-MLは「型」を与えてくれる教材なので、個別ツールの最新仕様は一次ソースで都度確かめる前提で進めると齟齬が少ない。
最後に、必ず自分のタスクに置き換えて1本作ることを勧めたい。教材のテキスト分類をなぞるだけでなく、手元の業務データや興味のあるデータセットで同じパイプラインを組み直すと、定着が段違いになる。
他教材との比較(Coursera ML / fast.ai / Spinning Up等)
Made-With-MLの立ち位置は、他の有名教材と並べると鮮明になる。それぞれ目的が違うため、競合ではなく組み合わせて使うのが賢い。
| 教材 | 主眼 | 強み | Made-With-MLとの関係 |
|---|---|---|---|
| Made-With-ML | 本番MLOps・ソフトウェア工学 | 設計〜監視を1プロジェクトで通す | 本記事の対象 |
| Coursera 機械学習(Andrew Ng) | アルゴリズムの理論と直感 | 数学的な土台が固まる | 理論を補完。前段に最適 |
| fast.ai | 実践的な深層学習 | トップダウンで早く動かす | DLの実装感覚を補完 |
| Spinning Up(OpenAI) | 深層強化学習 | RLの理論と実装 | 領域が異なる。RL志向者向け |
| Full Stack Deep Learning | 実運用寄りのDL | プロジェクト全体像 | 近い領域。視点を増やせる |
ざっくり言えば、Coursera機械学習やfast.aiが「モデルを理解し、動かす」ところを担うのに対し、Made-With-MLは「動いたモデルを本番で運用し続ける」ところを担う。Spinning Upは強化学習という別ジャンルなので、目的が一致する人だけが選べばよい。
学習設計としては、ML未経験ならCourseraやfast.aiで土台を作り、そのうえでMade-With-MLに進むのが王道だ。すでにモデルは書けるが本番運用に自信がないエンジニアなら、Made-With-MLから直接入って構わない。「足りないピースはどこか」を見極めて選ぶのがコツになる。
注意したいのは、これらを「どれが一番優れているか」で選ばないことだ。教材はそれぞれ守備範囲が違うレンズであって、優劣ではない。理論が欲しいときはCoursera、実装の勘を養いたいときはfast.ai、本番運用の型が欲しいときはMade-With-ML——と、その時の課題に応じて持ち替えるのが現実的だ。MLエンジニアとして長く伸びる人ほど、複数のレンズを行き来している。
学習効果を最大化するコツ
同じ教材でも、進め方しだいで身につく量は大きく変わる。Made-With-MLを最大限に活かす実践的なコツをまとめる。
第一に、写経で終わらせないこと。コードを動かすだけなら数日で読み切れてしまうが、それでは何も残らない。各セクションの終わりで「このステップは何の問題を解いたのか」を一文で言語化する習慣をつけると、知識が構造化される。
第二に、自分のデータで1周すること。前述のとおり、教材のタスクを自分の興味あるデータセットに置き換えてパイプラインを組み直すと、暗黙だった理解が顕在化する。エラーにぶつかった数だけ実務力がつく。
第三に、テストとCI/CDを飛ばさないこと。学習の楽しい部分はモデリングだが、Made-With-MLの真価はTestingとProductionにある。ここを「面倒だから後で」と飛ばすと、ただのML入門教材に成り下がる。むしろここに時間を多く割くべきだ。
学んだ各セクションを自分の言葉でブログやノートにまとめると、理解の穴がはっきりする。GitHubに「自分のデータで作り直したMade-With-ML派生プロジェクト」を1本置けば、転職や案件獲得の際の実績にもなる。学習と成果物づくりを兼ねるのが効率的だ。
第四に、コミュニティや公式ドキュメントを併用すること。Made-With-MLは型を与えるが、Ray・MLflowの細かい仕様は本家ドキュメントが最新で正確だ。教材で全体像、公式で詳細、という役割分担を意識すると詰まりにくい。
よくある落とし穴
最後に、Made-With-MLを学ぶ際に陥りやすい失敗を挙げておく。先回りして知っておけば、無駄な遠回りを避けられる。
ひとつ目は「環境構築でつまずいて挫折する」パターンだ。RayやMLflow、Anyscale連携は依存関係が多く、最初の壁になりやすい。ここはローカルの最小構成(Rayをローカルモードで、MLflowをローカルサーバで)から始め、クラウドのAnyscale部分は後回しにすると挫折しにくい。
ふたつ目は「最新でないことを過度に気にする」パターンだ。更新が2026年3月だからと敬遠する人がいるが、Made-With-MLが教えるのは設計・テスト・CI/CD・監視という普遍的な型で、これらは数年で陳腐化しない。個別ツールのバージョン差は公式ドキュメントで吸収すればよく、本質的な価値は変わらない。
みっつ目は「モデリングだけ熱中する」パターンだ。精度を1%上げる作業は楽しいが、本教材の目的はそこではない。テスト・再現性・監視という地味な部分こそが、本番MLとそうでないMLを分ける。配点の重い部分を見誤らないことが肝心だ。
スクリプトが一度動いただけでは本番運用にはほど遠い。再現できるか、テストが守っているか、壊れたら気づけるか——この3点を自問する癖をつけたい。Made-With-MLはまさにこの問いに答えるための教材だ。
よっつ目は「Anyscale前提だと思い込む」パターンだ。CI/CDの本番例はAnyscaleを使うが、考え方自体はAWSやGCP、Kubernetes、あるいは自前のRayクラスタにも移植できる。特定ベンダーに縛られた教材ではなく、移植可能な原則を学んでいると捉えると応用が利く。
参考リンク
MLは書けるが本番運用は別物——その溝を埋めるのがMade-With-MLだ。設計から監視までを1本のプロジェクトで通す構成は、独学で実務力を付けたい人にとって今も有力な定番ロードマップであり続けている。まずは環境を最小構成で立ち上げ、自分のデータで1周することから始めてほしい。
参照ソース
・GokuMohandas/Made-With-ML(GitHubリポジトリ) — README・スクリプト構成・CI/CDワークフロー・ライセンス(MIT)
・Made With ML 公式サイト(madewithml.com) — Foundations / MLOpsトラックのカリキュラム構成・対象読者・前提知識
・MLOpsコース(madewithml.com/courses/mlops) — 8セクションのレッスン詳細