Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MLOpsを実現するSRE激闘の歴史
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenta Sato
September 19, 2020
Technology
1.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MLOpsを実現するSRE激闘の歴史
XP祭り2020登壇資料
MLOpsを実現するSRE激闘の歴史
Kenta Sato
September 19, 2020
More Decks by Kenta Sato
See All by Kenta Sato
Infra Study #4 AI SaaSの機械学習インフラ基盤とMLOpsの取り組み
kenta_sato3
1
1.2k
Other Decks in Technology
See All in Technology
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
24
7.5k
4人目のSREはAgent
tanimuyk
0
170
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
190
入門!AWS Blocks
ysuzuki
1
190
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
130
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
470
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.4k
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
480
2026-06-24_人とAIの責務分離に基づく開発プロセスの提案.pdf
takahiromatsui
0
120
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
10
2.5k
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
0
140
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Producing Creativity
orderedlist
PRO
348
40k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
180
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Faster Mobile Websites
deanohume
310
32k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
The Invisible Side of Design
smashingmag
301
52k
Transcript
.-0QTΛ࣮ݱ͢Δ43&ܹಆͷྺ࢙ ετοΫϚʔΫגࣜձࣾ 4JUF3FMJBCJMJUZ&OHJOFFSࠤ౻ ݡଠ 91ࡇΓ
4UPDLNBSL *OD ࣗݾհ
4UPDLNBSL *OD ࣗݾհ • 佐藤 賢太 (@kenta_sato3) • 36歳 •
2児の父 • 福岡出身 • 元野球選手(アメリカ・オーストラリア・スウェーデン) • コールセンター・企業向けUC (ユニファイドコミュニケーション)パッケージ製品べンダーのSEと して5年ほど経験し、2019年10月にストックマークにSREとして入社 • ストックマークではクラウド、AWSやGCP上でのシステム構築及び運用、SREやMLOpsに携わる
© 2020 Stockmark Inc. 会社名 ストックマーク株式会社 Stockmark Inc. オフィス 東京都港区南青山1丁目12-3
LIFORK MINAMI AOYAMA S209 設 立 2016年11月15日 創業者 代表取締役CEO 林 達 取締役CTO 有馬 幸介 事業内容 自然言語処理技術を活用した ビジネス意思決定サポートサービスの提供 従業員数 54名 (2020年6月 現在) URL http://stockmark.co.jp | 会社概要 会社概要
4UPDLNBSL *OD ࣍
4UPDLNBSL *OD ࣍ • プロダクト概要 • システムアーキテクチャ概要とMLで実現したいこと • ML初心者SREがMLOpsに挑戦することになった背景 •
MLOpsとはなにか、なぜ必要か • MLOpsを実現するSREの激闘の歴史 • 課題設定と継続的な改善 • これから
4UPDLNBSL *OD プロダクト概要
© 2020 Stockmark Inc. Z c"TUSBUFHZͷػೳ ಛఆͷྖҬʹରͯ͠ɺओཁಈɾւ֎ಈɺͦͷଞͷಈ͖ͱͯࣗ͠ಈͰྨɻ ͜Ε·ͰߏԽͰ͖ͳ͔ͬͨࢢͷಈ͖ͱϓϨΠϠʔΛՄࢹԽɻ େͳใΛ၆ᛌ্ͨ͠ͰಛఆྖҬΛ"*͕ߏԽ ػೳ
Ωʔϫʔυ͔ΒಛఆͷྖҬΛݕࡧ ۀքߏΛ"*͕ߏԽ ओཁͳϓϨʔϠʔΛநग़
© 2020 Stockmark Inc. ֤اۀ͕ͲͷΑ͏ͳࣄۀʹऔΓΜͰ͍Δͷ͔Λཧɺ ֤ࣾͷࠩผԽཁҼΛՄࢹԽ͠ɺଧͪखग़ͷώϯτΛఏڙɻ ಛఆྖҬͷاۀͷऔΓΈͱࠩผԽཁҼͷՄࢹԽ ػೳ c"TUSBUFHZͷػೳ
ࠩผԽཁҼΛՄࢹԽ اۀผʹهࣄΛྨ
© 2020 Stockmark Inc. ϓϨΠϠʔͷࢀೖλΠϛϯάͱهࣄྔΛՄࢹԽ͢Δ͜ͱͰɺ ಛఆྖҬͷ৳ͼΛఆྔతʹ͍ɺࢢͷՄೳੑΛ୳ΔώϯτΛఏڙɻ ࣌ܥྻͰࢀೖϓϨΠϠʔͱهࣄͷ৳ͼΛՄࢹԽ ػೳ c"TUSBUFHZͷػೳ
ϓϨΠϠʔΛϦετΞοϓ ݄ผͷهࣄྔΛදࣔ
© 2020 Stockmark Inc. اۀ໊நग़ʹ͍ͭͯ اۀ໊Λਖ਼͘͠நग़͢Δʹɺจ຺͔Β୯ޠͷ ҙຯΛஅ͢Δඞཁ͕͋Γɺίϯϐϡʔλʔʹ ͱ͍ͯ͠ɻ 4UPDLNBSLɺจ຺ΛߟྀͰ͖Δ"*ͷʮ#&35ʯ Λ༻͍ͨख๏Λ։ൃɻ
˔ ˔ cࢀߟ
4UPDLNBSL *OD システム概要とMLで実現したいこと
4UPDLNBSL *OD ΞʔΩςΫνϟ • サーバレス基盤で記事データ収集 • Cloud TPUで汎用言語モデルを作成 • オンプレGPUでモデルのファインチューニング
• AWSのGPUでMLバッチ処理 • マイクロサービスウェブアプリケーション
4UPDLNBSL *OD هࣄσʔλऩू
4UPDLNBSL *OD Ϗδωεʹڧ͍ࣄલֶशࡁΈ൚༻ݴޠϞσϧ
4UPDLNBSL *OD Cloud TPU: 事前学習済み汎用言語モデル構築 出典: https://cloud.google.com/tpu?hl=ja • ディープラーニングを高速化 •
精度向上
4UPDLNBSL *OD オンプレGPU: モデルのファインチューニング • 汎用言語モデルをタスクに特化してチューニング • 長時間要するタスク
4UPDLNBSL *OD ΣϒΞϓϦέʔγϣϯΞʔΩςΫνϟ
4UPDLNBSL *OD .-όονͰΓ͍ͨ͜ͱ
© 2020 Stockmark Inc. Z c"TUSBUFHZͷػೳ ಛఆͷྖҬʹରͯ͠ɺओཁಈɾւ֎ಈɺͦͷଞͷಈ͖ͱͯࣗ͠ಈͰྨɻ ͜Ε·ͰߏԽͰ͖ͳ͔ͬͨࢢͷಈ͖ͱϓϨΠϠʔΛՄࢹԽɻ େͳใΛ၆ᛌ্ͨ͠ͰಛఆྖҬΛ"*͕ߏԽ ػೳ
Ωʔϫʔυ͔ΒಛఆͷྖҬΛݕࡧ ۀքߏΛ"*͕ߏԽ ओཁͳϓϨʔϠʔΛநग़
4UPDLNBSL *OD .-ॳ৺ऀ͕.-0QTʹઓ
4UPDLNBSL *OD .-ॳ৺ऀ͕.-0QTʹઓ MLOpsの必要性感じています 佐藤さん興味あります? ͱ͋Δͷ͜ͱ
4UPDLNBSL *OD ࢲͷͦΕ·Ͱͷ.-ࣝ • DevOps実践 • MLシステム運用歴なし • MLは個人的に勉強(実務経験なし) •
Coursera Machine Learning • Kaggleに登録したら次にやること ~ これだけやれば十分闘える Titanicの先へ行く入門 10 Kernel ~
4UPDLNBSL *OD .-ॳ৺ऀ͕.-0QTʹઓ やらせてください! ϊϦͰ"TUSBUFHZͷ.-0QTΛΒͤͯΒ͏͜ͱʹ
4UPDLNBSL *OD .-0QTͱɺͳͥඞཁ͔
4UPDLNBSL *OD .-0QTͱ • 明確な定義はなく、Googleの人が提唱したのが最初(自分の観測範囲) • DevOpsのML版 • MLOpsは、MLシステム開発(Dev)とMLシステムオペレーション(Ops)を統合することを目的とし たMLエンジニアリングの文化と実践です。MLOpsを実践するということは、統合、テスト、リリー
ス、デプロイ、インフラストラクチャ管理を含む、MLシステム構築のすべてのステップで自動化 とモニタリングを提唱することを意味します。 出典: MLOps: 機械学習における継続的デリバリーと自動化のパイプライン https://cloud.google.com/solutions/machine-learning/mlops-continuous-delivery-and- automation-pipelines-in-machine-learning?hl=ja
4UPDLNBSL *OD ͳͥ.-0QT͕ඞཁ͔ • 役割の溝 • データ収集 → データエンジニア •
モデル構築 → データサイエンティスト • 本番運用 → ソフトウェアエンジニア、SRE • 同一の予測結果を得る難しさ • CACEの原則 • データや実験の管理 • 経済的な問題 • 継続的な学習とサービングの必要性 • 予測時のデータが学習時から変わってくる
4UPDLNBSL *OD .-γεςϜෳࡶ ML システムの要素。機械学習システムの隠れた技術的負債からの抜粋
4UPDLNBSL *OD .-4VQFSIFSP なんでもできるML superheroに依存するとスケールしなくなる ML superhero What is ML
Ops? Best Practices for DevOps for ML (Cloud Next '18)から転載.
4UPDLNBSL *OD .-0QTΛ࣮ݱ͢Δ43&ͷܹಆͷྺ࢙
4UPDLNBSL *OD .-0QTΩοΫΦϑϛʔςΟϯά • MLエンジニアの感じている課題感を共有してもらう • コードとモデルのCI/CD機構がほしい • ニュース記事のローデータ(HTML)が欲しい •
オンプレで作成しているモデルのデプロイをもっといい感じにしたい • MLバッチシステムは構築済みなので、一緒にどこから手を付けて行けばよいかを深堀りすることに
4UPDLNBSL *OD ॳظߏ • CloudWatch Eventをトリガー • LambdaでRDSのデータを抽出 • S3にデータを格納
• EC2でバッチ処理 • Elasticsearchに登録
4UPDLNBSL *OD ॳظߏͷ՝ • コード更新のたびに手作業であたたかみのあるデプロイ • EC2 x 2(CPU, GPUインスタンス)
• SCPコマンドで開発環境からコードをアップロード • SCPコマンドでモデルのアップロード (合計10 GB超え) • SSHでEC2にログインし、Docker imageをビルド (1時間弱) • Lambda x 3にzipで固めたコードをコンソールからデプロイ • 直列で10種類のMLタスクを回すので実行時間が長くなる • デバッグが大変
4UPDLNBSL *OD MLタスク毎にインスタンスを用意して並列処理
4UPDLNBSL *OD MLタスク毎にインスタンスを用意して並列処理 インフラ構築、デプロイ、運用全て一人のMLエンジニアをがやっていた
4UPDLNBSL *OD σϓϩΠ͖ͭ͗͢ൃੜ コード x モデルを各インスタンスに手動デプロイで大半の時間を取られる
4UPDLNBSL *OD ՝ઃఆᶃ 1. 継続的インテグレーション (CI) 機構がない。 → テストで防げるような不具合が検知できないため、デ プロイ後に発覚して手戻りが発生する。
2. 継続的デプロイ (CD) 機構がない。 → デプロイ運用コストが大きく、かつ手動デプロイによるミスが 発生しやすい。 3. 監視機構がない。 → バッチ処理が無事完了したかどうかを毎日手動でElasticsearchとS3に確認しないと いけない。
4UPDLNBSL *OD $*$% $PEF .PEFM • CI • PR作成時にAWS CodeBuild上で自動テスト
• CD • PRマージ • Lambda: Serverless Framework • EC2 • Python boto3のec2とssm • ML model • S3にpush • EFSへ同期し、EC2からマウント
4UPDLNBSL *OD όονࢹ • Lambdaを定期実行し、期待するデータが 期待する場所に入っていることをチェック
4UPDLNBSL *OD ۤ࿑ͨ͜͠ͱ • 全体の構成の把握 • 構成図等はなく、MLエンジニアの頭の中をdumpしてまとめる作業 • Dockerビルドに長時間かかる •
マルチスレッドのPythonスクリプトを書いて並列リモートビルド • EC2へのコード、モデルのデプロイ方法
4UPDLNBSL *OD ޮՌ MLエンジニアの運用負荷が激減
4UPDLNBSL *OD ޮՌ MLエンジニアが本来のML研究開発など創造的な仕事に集中することができるようになった
4UPDLNBSL *OD ՝ઃఆᶄ • EC2インスタンスの管理が必要 • 新しいMLタスクができた時などは専用のEC2を立ててプロビジョニングする必要がある • 各EC2を起動するLambdaの作り込みが必要 •
S3更新を起点で処理が走り、記事数が多い時は複数データファイルに分割して並列処理をするようにし ているが、lock制御などをシェルスクリプトで作り込む必要がある • 実行結果監視用機構を作り込む必要がある • 全体のフローの把握が困難
4UPDLNBSL *OD ղܾํ๏ • コンピューティング環境は、EC2からAWS Batchに移行する • EC2の管理が不要になる • Step
Functionsから直接ジョブ登録できる • ワークフロー制御にはStep Functionsを使う • ワークフローを一元管理し、ジョブの依存関係(DAG)表現できる • フローの途中で通知処理を加えたい場合などに、アプリケーションロジックと分離して実装できる • 並列、配列処理やリトライ、例外処理がフローで実装でき、アプリケーションロジックをシンプル にできる • インフラはterraformでコード化する • インフラ構成をコードとしてドキュメント化 • 変更管理をGitでレビュー • インフラもCI/CDに組み込める
4UPDLNBSL *OD "84#BUDI4UFQ'VODUJPOT • 重いMLジョブもデータを分割して、配列ジョブとして実行 • 異なるMLタスクは並列実行
4UPDLNBSL *OD "84#BUDI4UFQ'VODUJPOT
4UPDLNBSL *OD "84#BUDI4UFQ'VODUJPOTʢޭ࣌ʣ
4UPDLNBSL *OD "84#BUDI4UFQ'VODUJPOTʢࣦഊ࣌ʣ
4UPDLNBSL *OD $*$% • GitHub & CodeBuild • ServerlssフレームワークでLambdaをデプロイ •
Terraformでインフラ管理 • DockerfileやPipfile変更時にDockerイメージをビル ドし、ECRにPUSH • モデルはS3からEFSに同期
4UPDLNBSL *OD ۤ࿑ͨ͜͠ͱ • 並列実行で、共有ファイルシステムの同じ名前のtmpファイルに同時に読み書き(想定外)に失敗 • Step Functionsで拾えない例外に遭遇し、GPUサーバーが暴走
4UPDLNBSL *OD ޮՌ • 全体のフローが可視化できて良い • リトライ処理などをアプリケーションに組み込 む必要がなくなり、コードが減り保守しやすく なった •
処理の途中経過をSNSに通知することで、他のア プリケーションが連携しやすくなった。 • トラブルシューティングが容易になった。 • MLタスクの追加が容易になった。
4UPDLNBSL *OD ՝ઃఆͱܧଓతͳվળ
4UPDLNBSL *OD ՝ઃఆͱܧଓతͳվળ • なぜやるのかを明確にする • 「MLOpsをする」ことは目的ではない • ツールありきではない •
ユーザー(MLエンジニア)と話したり、ボトルネックを特定し、課題を明確にする • どうやるのか • 自分のスキルで解決できそうな課題からやる。ドメイン知識やスキルが増えると徐々に他のところ にも手を出せるようになる。 • すぐに完璧を目指さない。
4UPDLNBSL *OD ͜Ε͔Β
4UPDLNBSL *OD ͜Ε͔Β • 実験管理, • データのバリデーション • データ・パイプラインのバージョン管理とか
4UPDLNBSL *OD ͜Ε͔Β • 実験管理, • データのバリデーション • データ・パイプラインのバージョン管理とか •
引き継つぎました
© 2020 Stockmark Inc. | Product | Anewsの機能 AIが人力では抽出できない膨大なビジネスニュースから、 組織や個人の関心事に合わせて、ビジネスに直結したニュースをレコメンド。
テーマに合わせてAIが組織に必要なニュースを配信 機能 01
4UPDLNBSL *OD ͜Ε͔Β • インフラもゼロから構築 • CI/CD • 運用・監視 •
B2B SaaSの推薦システム 独特の課題
4UPDLNBSL *OD ࢀߟ
4UPDLNBSL *OD ࢀߟ https://tech.stockmark.co.jp/
4UPDLNBSL *OD