SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
機械学習システム
デザインパターン
2021/06/04
shibui yusuke
自己紹介
shibui yusuke
● 自動運転スタートアップのティアフォー所属
● 前職メルカリでAIとかKubernetesとか
● 文学部の大学院卒(イギリス史)
● もともとクラウド基盤の開発、運用。
● ここ5年くらいMLOpsで仕事。
● Github: @shibuiwilliam
● Qiita: @cvusk
● FB: yusuke.shibui
● 最近やってること: UnityとFlutterとIstio
cat : 0.55
dog: 0.45
human : 0.70
gorilla : 0.30
物体検知
今日話すこと
1. 少年時代からの夢が叶った!
2. 『機械学習システムデザインパターン』が生まれた背景
3. 課題、プロセス、運用
少年時代からの夢が叶った!
私の半生(反省)
文学部
イギリス史
文学部大学院
イギリス史
SIer
クラウド作る
メルカリ
MLOpsとか
ティアフォー
データ?
いろいろ
少年時代
本ばかり読む
~2003年
~2007年
~2009年
~2015年
2017年頃
2018年
2020年
本を書くのが夢
挫折
クラウドデザイン
パターンに出会う
機械学習を
始める
本を書く
本の元ネタ
機械学習システムデザインパターン
● 2020年5月に機械学習システムの作り方をパターン化して公開。
「デザインパターン」と呼ぶには偉大な先人に畏れ多い。。。
○ https://github.com/mercari/ml-system-design-pattern
● その内容をメルカリ卒業直前の
2020年8月のPyConJP 2020で公演。
○ https://pycon.jp/2020/timetable/?id=203111
● 翔泳社様にお声がけいただいて本を執筆。ついでに独自実装を公開。
○ https://github.com/shibuiwilliam/ml-system-in-actions
本を出版しました!
● AIエンジニアのための
機械学習システムデザインパターン
● 2021年5月17日発売
● https://www.amazon.co.jp/dp/4798169447/
● 機械学習と銘打ってるのに KubernetesとIstioに
詳しくなれる一冊です!
Amazon.co.jp
情報学・情報科学部門 1位!
人工知能部門 1位!
増刷決定!
韓国語訳も出るらしい!
みんなありがとう!
● 翔泳社編集の宮腰さん、高橋さん、村上さん
● レビュアーのメルカリ上野さんと木村さん、ティアフォー関谷さん
● いろいろな機械学習プロジェクトでご一緒した皆様
● ウィリアム(真ん中)、マルグレーテ(右)
『機械学習システムデザインパターン』
が生まれた背景
機械学習の実用化の課題
● 機械学習チームのソフトウェア開発の理解不足
● ソフトウェア開発チームの機械学習の理解不足
● 機械学習を0->1だけで終わらせているプロジェクトを散見
→ 機械学習を実用化し運用する方法をパターン化して共通理解を作る
最近の機械学習界隈の状況
● 研究から利用へ
データ 機械学習
デプロイ 利用
課題
ユーザ
システム
解決
開発
機械学習とビジネスの間を埋める
● 仕組みを作る
システムを作る
ビジネスのもととなるユーザ課題を分析する
機械学習で課題を解決する
データを知る
データ 機械学習 課題
ユーザ
システム
0->1の次を目指す
● 解決策を洗練させる
データ 機械学習 課題
ユーザ
システム
0->1 機械学習で課題を解決する
データから課題解決を評価する
データで理解する
1->10 プロダクトの成長を実現する
機械学習でビジネスをレベルアップする
● 開発と運用のサイクルを作る
データ 機械学習 課題
ユーザ
システム
機械学習で課題を解決する
機械学習を含めたUI/UXに反応する
データ、機械学習、システムでユーザ体験をレベルアップする
データを使う
ユーザ価値を改善することでチームを育成する
● 技術利用から課題解決へ
データ 機械学習 課題
ユーザ
システム
機械学習で課題を解決する
機械学習を含めたUI/UXに反応する
データ、機械学習、システムでユーザ体験をレベルアップする
データを使う
サイクルを繰り返しスケールすることで課題解決の速度と質を向上させる
主体的な開発と運用を繰り返すことでチームのレベルアップを実現する
→ DevOps、MLOps
データ
ML
SWE
SRE
PdM
LevelUP
!!
ユーザに使ってもらえる機械学習へ
固定化された
デザイン
画像処理
写真を撮る
タイトル入力
説明入力
登録する
自然言語処理
違反検知
あるコンテンツ登録アプリ
機械学習を使ったプロダクト例
画像処理
写真を撮る
タイトル入力
説明入力
登録する
自然言語処理
違反検知
登録情報から違反を
フィルタリング
入力情報から
入力補助
超解像による
画質改善
ねこ
検索 協調フィルタリングや
ランク学習による
並べ替え
あるコンテンツ登録アプリ
画像分類と
検索
機械学習を使ったプロダクトの課題例
画像処理
写真を撮る
タイトル入力
説明入力
登録する
自然言語処理
違反検知
登録情報から違反を
フィルタリング
入力情報から
入力補助
超解像による
画質改善
ねこ
検索 協調フィルタリングや
ランク学習による
並べ替え
あるコンテンツ登録アプリ
画像分類と
検索タグ
どう学習する?
→定期的
→不定期
→評価が悪くなったとき
いつ推論する?
→検索時
→データ登録時
→1時間ごとにまとめて
どう評価する?
→Accuracy, Confusion Matrix
→検索数、CTR、いいね数
機械学習を使ったプロダクトのシステム例
写真を撮る
タイトル入力
説明入力
登録する
ねこ
あるコンテンツ登録アプリ
ログ
DB
Storage
監視
学習 モデル
proxy
画像
API
推論
API
batch
BI
デプ
ロイ
認証
認可
ID
検索
API
Item
API
推薦
API
Text
API
課題、プロセス、運用
WFH with Catパターン
● ネコとともに在宅勤務するパターン。
● 仕事中、食事中、睡眠中、あらゆる状況で
障害が発生する。
● 作業を中断してネコが満足するまで撫でる
必要がある。
● 撫でずに無視すると以下の障害を招く。
○ キーボード歩き。
○ 椅子爪研ぎ。
○ ゴミ箱倒し。
● 多頭飼いでは他ネコも平等に撫でないと
上記の障害を招く。
→安定稼働しているシステムでも不意に
 アラートが発生する。
→ひとつ対策を立ててもまた別の課題が生じる。
課題
Good
● プロダクトの課題からはじめる
● リリースからはじめる
● ユーザへの価値からはじめる
Bad
● 機械学習からはじめる
● 汎用基盤からはじめる
● 技術的な課題からはじめる
Issueからはじめる
プロダクトを考える
ネコ
ネコ
イヌ
・・・
ネコ
個数 位置
明るさ 場所
容易さ 便利さ
画像をアップロード
用途次第
カテゴリを選択
テキスト検索
フリーテキスト入力
自然言語処理
フリーテキストと属性
画像分類+物体検知+
自然言語処理
画像から類似画像を検索
特徴量抽出+ANN
3
暗 外
上
プロダクトを設計する
● 課題:
被写体が検索可能になるまでの時間が
長すぎる
● 条件:
○ 被写体を検索できる必要がある
○ コンテンツは違反検知を通して
問題ないと判定されている必要が
ある
● 成功の定義:
コンテンツが登録され検索可能になる
までの時間をxx分以内に短縮する
写真を撮る
タイトル入力
説明入力
登録する
ねこ
XX分
モデル開発
学習の課題
● 実用可能なモデルを開発するために実験しながら
各プロセスを行き来する
● 各プロセスのアウトプットの管理
● 機械学習だけでなくモデルのシステム面での
パフォーマンスや可用性(重すぎない、壊れない)
● 学習を運用するためのコードのリファクタリングと
学習の障害対応
データ分析、取得
前処理
学習
評価
ビルド
モデル選定
パラメータ整理
システム評価
アンチパターン:Only meパターン
● コード、データ、モデルが管理されず、
開発者の環境でしか再現できない。
(開発者の環境でも再現できないこともある)
● DVCやML Metadataでステップごとに
アウトプットを記録することを推奨。
● Data validation:推論のサンプルデータと
インターフェイス(入力データの型と
shape、出力
データの型とshape、意味)を定義する。
import
load local data
evaluate
retrain
define ml
train
save model
git
no training data
99.99% ???
学習のシステムと運用
データ取得
前処理
学習
評価
ビルド
● データパイプラインやMLパイプラインは
有向非巡回グラフとして定義。
● 取得したデータを各フローで処理し、
結果をモデルレポジトリに記録。
● ビルドのアウトプットは実行環境含めてDocker
イメージとしてビルドすることも
あれば、モデルのみをビルドし、実行環境は
メタデータとして定義することもある。
● メタデータにはモデルの学習、評価に
使った再現可能なデータ、パラメータ、
評価値を登録。
DWH
ストレージ
テスト
データセット
メタデータ
モデルレポジトリ
Image builder
Docker registry
Docker registry
モデル選定
パラメータ整理
システム評価
モデルリリース
モデルリリースの課題
インフラ、OS
ライブラリ
モデル
入力 前処理 推論 出力
データ取得
前処理
学習
評価
ビルド
インフラ、OS
ライブラリ
学習環境のみ
- Jupyter Notebook
- バッチ学習用のライブラリ
 (例:PyTorch、TensorFlow、Keras)
- バッチ学習用のインフラ(
GPUとか)
- データ・モデルバージョニングツール
- モデルビルダー
両環境に共通
- モデルファイル
- 前処理で使うライブラリ
 (例:Sklearn、PIL、Mecab)
- 入出力のデータ型と形
推論環境のみ
- 推論用のライブラリ
 (例:ONNX Runtime, TF Serving)
- ランタイムと外部インターフェイス
- ロガーとモニタリングツール
サーバサイドにモデルをリリースする
1. モデルインイメージパターン
推論器のイメージにモデルを含めてビルドするパターン。
Dockerイメージサイズは大きくなるため、 Docker pullに時間を要する。
ベースイメージを共通化することで pull時間を短縮することが可能。
2. モデルロードパターン
モデルファイルと推論器イメージを別に管理するパターン。
Dockerイメージを共通かつ軽量に保つことが可能。
学習時と推論イメージでソフトウェアのバージョン不一致が発生する可能性が残る。
学習環境と推論イメージでバージョニングする必要がある。
サーバサイドのモデルリリース
推論用
Dockerイメージ
ランタイム
モデル
学習 Docker
イメージビルダー
モデル管理
推論器
推論器
推論用Docker
ベースイメージ
ランタイム
Dockerレジストリ
保存
モデルファイル
モデルを含めて
Dockerビルド
モデルインイメージパターン
モデル管理
保存
モデルファイル
推論用Docker
ベースイメージ
ランタイム
デプロイ
モデルロードパターン
デプロイ時に
モデルをロード
推論システム
課題 推論のタイミング
ユーザの行動に対する推論のタイミング
● リアルタイム:行動とほぼ同時に推論
用途例:自動運転、AR、ゲーム
● 同期:行動ごとに推論を返す
用途例:検索、Web、手続き的な業務
● 非同期:行動と切り離して推論
用途例:画面遷移等タイムラグのある用途
● バッチ:データを溜めて推論
用途例:需要予測等、一括処理の用途
リアルタイム
同期
非同期
バッチ
返さない
課題2 推論器のインターフェイス
Docker image
Runtime
Model
入力
前処理
推論
出力
一度は経験する間違い:
float32で学習した
モデルをfloat16で推論して結果がおかしい。
REST API + Json
● Webではポピュラーな実装。
● サーバ側でJsonを定義するが、
型が曖昧になるため、
入力値の検査が必要。
GRPC + Protocol Buffers
● TF ServingやONNX Runtime Serverで
標準提供。
(両者ともREST API + Jsonも標準提供)
● .protoファイルで入出力の型含めて
定義可能。クライアント、サーバで
共通化できるが、Webに弱い。
値の範囲や形式
● 正常に推論可能なデータの範囲。
● 自然言語の言語。
● 画像のフォーマット、
RGB、その他。
{input_data: []}
((1,3,224,224))
float32
{prediction: []}
(1000,)
float32
Node pool
Node
LB
Edge AIパターン
クラウドで学習
Python
クライアントで推論
Kotlin/Swift/C++ 後処理
前処理 学習
前処理 推論
モデル
モデル
変
換
同期推論パターン
ロードバランサー
REST API
Docker Python image
Gunicorn
Uvicorns
FastAPI
Model
● 最もシンプルな構成の推論器。
● すぐリリースしたいときに有効。
● GunicornやUvicornをベースに
FlaskやFastAPIで稼働。
Gunicorn(WSGI)
Uvicorn
(ASGI)
Uvicorn
(ASGI)
Gunicorn(WSGI)
Flask Flask
非同期推論パターン
メッセージ
推論器
● 推論結果を同期的に得る必要がない場合に
有効なパターン。
● クライアントと推論器の中間にKafkaやRedisを
配置することで実現。
● 非同期の方式はリクエスト非同期型、
Publish/Subscribe型、Notification型等がある。
ワークフローに応じて選択。
● ただしディープラーニングでは、ユーザを
待たせないために非同期とし、許容時間内のみ
ポーリングすることも可能。
Docker Python image
multiprocessing
Model
Runtime
Client
クライアント
時間差推論パターン
● 複数の推論器でレイテンシーに差がある場合、
速い推論器は同期的に返し、遅い推論器の
レスポンスを非同期にする。
● クライアントと推論器の中間にProxyを置き、Proxyで
各推論器へのリクエストを制御する
構成。
● 推論器は同期、非同期両方のエンドポイントを
公開しておくことで、より柔軟な対応が可能。
この構成の場合、メッセージングではなく
CeleryやBackgroundTasksで実装。
Client LB
Sklearn
SyncA
Deep learning
AsyncB
Proxy
キャッシュ
Environment Variable
- SVC_A: SyncA
- SVC_B: AsyncB
- SVC_A_EP: predict
- SVC_B_EP: async
バッチ推論パターン
● データを収集して定期的に一括処理する
● 周辺システムのデータ処理によって推論に
使えるデータに差異が生まれる
● 学習の段階で推論時に使えるタイミングの
データを想定して開発する必要がある
● スケジューリングが肝
DB
バッチ処理
Docker
Batch
Model
木 金
木
水
火
月 土 日 月 火 水 木 金 土
金
この1週間の需要を予測する
デッドライン
バッチ推論完了
失敗時はリトライ
需要予測
バッチ起動
水
火
月 土 日
土 日
テストデータ
学習
データ
日
機械学習の品質と運用
アンチパターン:Nobody knowsパターン
● 稼働中の推論器がなぜ動いているのか
誰も知らないパターン。
歴史的にシステムが複雑になっていくと
頻繁に発生する。
● MLプロジェクトの初期にプロトタイプで
作ったモデルや、緊急対応で稼働させた
推論器を残しておくと「Nobody knows」に
なる。
● 学習データが残っていない状態は珍しくない。
学習コードもJupyter Notebookのみという
場合、モデルの評価や再現が困難。
LB
API API
API
ML?
API
ML?
このモデルを作った
のは誰だあっ!!
ぴえん(T_T)
アンチパターン
● 推論器が遅すぎてユーザを待たせてる。 ● 性能劣化した推論器でも継続して
すべてのリクエストに推論を返す。
test data
accuracy:
99.99%
5秒/req
2015年の
accuracy:
99.99%
ネコ!
イヌ!
2015年
2020年
5秒で離脱
機械学習システムの品質
機械学習システムの品質には
3カテゴリある。
1. 機械学習の推論モデル
a. 推論モデルのパフォーマンス
b. 本番データの変化による劣化とエラー
c. 問題定義とソリューション
2. 推論モデルを稼働させるシステム
a. 入出力のデータやデータ型
b. 推論スピードと可用性
c. 例外処理
3. 運用と体制
a. モデルの再現および再学習
b. 推論器の再現およびロールバック
c. 維持可能な運用体制
Client LB LB
int float
test data
accuracy:
99.99%
何のML
だっけ?
1sec/req
モデル作った
VM消したよ
dockerimg:latest
上書き
error率
0.01%
アサイン
変わった
me
too
転
職
商品カテゴリ
追加削除
そして誰も
いなくなった
機械学習の推論スピード
● 推論器のボトルネックは推論。 Deep learningの場合、9割Deep learningなこともある
● 学習コストの高いDeep learningは学習後に測定するのではなく、学習前に測っておく
入力
前処理
推論
後処理
出力
通信
前処理
推論
後処理
出力
通信
入力
所要時間
通信
可用性
● サーキットブレーカー
○ 急激な負荷増で処理能力やスケールアウトが
間に合わない場合、一部のリクエストを
遮断して全断を防ぐ。
○ NginxやEnvoy proxyで標準装備。
● 推論のバックアッププランと例外処理
○ デフォルトの推論結果や挙動を決めておいて、
エラー発生時はデフォルトの挙動を発動。
○ 障害発生時や遅延時に有効。
○ 本番データの傾向が変わって推論器が性能劣化
している場合も環境変数でデフォルトの推論を
返すようにすることもできる。
Client LB
Nginx 推論器
circuit break
over 300rps
Client LB LB
<= 300rps: 推論
> 300rps: default 0
● 推論するデータを分ける
O コスト
O 全ユーザから新モデルの評価を得る
X 同じデータの比較ができない
● アクセスするユーザを分ける
O 同じデータで比較できる
O 新モデルへの移行が比較的簡単
X コスト
A/Bテストを作る
新モデル
現モデル
新モデル
現モデル
機械学習システムの監視
Client LB LB
時間
RAM
CPU
group
A
CTR
group
B
時間
req/sec
レイテンシー(ms)
時間
nodes
時間
error rate
● ユーザ価値は機械学習だけではない
→各コンポーネントの稼働がユーザ価値を支える。
時間
本に書きたかったけど
書ききれなかったこと
本に書きたかったけど書ききれなかったこと
● 各パターンを組み合わせたシステム
● 機械学習の実務的評価とデータドリフトやコンセプトドリフトの対処
● Edge AIにおけるモデル評価と配布。あと MediaPipeやUnity Barracuda
● Data Validationと機械学習システムに特化したコーディング規約とユニットテスト
● あと本書の英語版と中国語版を出版したいです。
ご清聴
ありがとうございました。

Mais conteúdo relacionado

Mais procurados

統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-Shiga University, RIKEN
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptxBERT分類ワークショップ.pptx
BERT分類ワークショップ.pptxKouta Nakayama
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法Hirokatsu Kataoka
 
【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデル【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデルDeep Learning JP
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイするTakayuki Itoh
 
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces UnderfittingDeep Learning JP
 
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話cyberagent
 
オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?Kouji Kozaki
 
AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話ItohHiroki
 
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット森 哲也
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...Deep Learning JP
 
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜SSII
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018Takahiro Kubo
 
GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介Takashi Suzuki
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門Shuyo Nakatani
 

Mais procurados (20)

統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptxBERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデル【DL輪読会】マルチモーダル 基盤モデル
【DL輪読会】マルチモーダル 基盤モデル
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting【DL輪読会】Dropout Reduces Underfitting
【DL輪読会】Dropout Reduces Underfitting
 
マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話マッチングサービスにおけるKPIの話
マッチングサービスにおけるKPIの話
 
オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?
 
AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話
 
落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット落合流先生流の論文要旨フォーマット
落合流先生流の論文要旨フォーマット
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
【DL輪読会】An Image is Worth One Word: Personalizing Text-to-Image Generation usi...
 
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
 
機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018機械学習で泣かないためのコード設計 2018
機械学習で泣かないためのコード設計 2018
 
GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
Active Learning 入門
Active Learning 入門Active Learning 入門
Active Learning 入門
 
実機で動かす深層強化学習(画像なし)
実機で動かす深層強化学習(画像なし)実機で動かす深層強化学習(画像なし)
実機で動かす深層強化学習(画像なし)
 

Semelhante a ML system design_pattern

第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けてThe Whole Brain Architecture Initiative
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18Shunya Ueta
 
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_MobileTFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobileyusuke shibui
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII
 
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会Takayuki Shimizukawa
 
Html5 でアプリを作るということ
Html5 でアプリを作るということHtml5 でアプリを作るということ
Html5 でアプリを作るということNaruto TAKAHASHI
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたJupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたSatoshi Yazawa
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまc-mitsuba
 
Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)Koki Natsume
 
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話Yuhei Miyazato
 
業務系WebアプリケーションがStrutsから旅立つ日
業務系WebアプリケーションがStrutsから旅立つ日業務系WebアプリケーションがStrutsから旅立つ日
業務系WebアプリケーションがStrutsから旅立つ日Mitsuru Ogawa
 
受託開発とRubyGems
受託開発とRubyGems受託開発とRubyGems
受託開発とRubyGemsKoichi ITO
 

Semelhante a ML system design_pattern (20)

Ml system in_python
Ml system in_pythonMl system in_python
Ml system in_python
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18Kubeflowで何ができて何ができないのか #DEvFest18
Kubeflowで何ができて何ができないのか #DEvFest18
 
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_MobileTFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobile
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
 
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
jOOQの紹介
jOOQの紹介jOOQの紹介
jOOQの紹介
 
Metro#1
Metro#1Metro#1
Metro#1
 
Html5 でアプリを作るということ
Html5 でアプリを作るということHtml5 でアプリを作るということ
Html5 でアプリを作るということ
 
My portfolio
My portfolioMy portfolio
My portfolio
 
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみたJupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくま
 
Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)Goで学ぶDApp(aizu.go#2)
Goで学ぶDApp(aizu.go#2)
 
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
 
業務系WebアプリケーションがStrutsから旅立つ日
業務系WebアプリケーションがStrutsから旅立つ日業務系WebアプリケーションがStrutsから旅立つ日
業務系WebアプリケーションがStrutsから旅立つ日
 
受託開発とRubyGems
受託開発とRubyGems受託開発とRubyGems
受託開発とRubyGems
 
鹿駆動
鹿駆動鹿駆動
鹿駆動
 

Mais de yusuke shibui

Creative as Software Engineering for GenAI LT
Creative as Software Engineering for GenAI LTCreative as Software Engineering for GenAI LT
Creative as Software Engineering for GenAI LTyusuke shibui
 
Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索yusuke shibui
 
機械学習システム構築実践ガイド
機械学習システム構築実践ガイド機械学習システム構築実践ガイド
機械学習システム構築実践ガイドyusuke shibui
 
機械学習でテスト実行を効率化するLaunchable.pdf
機械学習でテスト実行を効率化するLaunchable.pdf機械学習でテスト実行を効率化するLaunchable.pdf
機械学習でテスト実行を効率化するLaunchable.pdfyusuke shibui
 
Reviewing_machine_learning_program.pdf
Reviewing_machine_learning_program.pdfReviewing_machine_learning_program.pdf
Reviewing_machine_learning_program.pdfyusuke shibui
 
DevSummit_2022_summer_MLOps.pdf
DevSummit_2022_summer_MLOps.pdfDevSummit_2022_summer_MLOps.pdf
DevSummit_2022_summer_MLOps.pdfyusuke shibui
 
machine_learning_failure_apocalypse.pdf
machine_learning_failure_apocalypse.pdfmachine_learning_failure_apocalypse.pdf
machine_learning_failure_apocalypse.pdfyusuke shibui
 
Launchable and efficient test execution
Launchable and efficient test executionLaunchable and efficient test execution
Launchable and efficient test executionyusuke shibui
 
MLOps failure(1_108)
MLOps failure(1_108)MLOps failure(1_108)
MLOps failure(1_108)yusuke shibui
 
Rosbag search system
Rosbag search systemRosbag search system
Rosbag search systemyusuke shibui
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSSyusuke shibui
 
Testing machine learning development
Testing machine learning developmentTesting machine learning development
Testing machine learning developmentyusuke shibui
 
Twillio deadshot made me happy
Twillio deadshot made me happyTwillio deadshot made me happy
Twillio deadshot made me happyyusuke shibui
 
Getting started with MLOps
Getting started with MLOpsGetting started with MLOps
Getting started with MLOpsyusuke shibui
 
Machine learning quality for production
Machine learning quality for productionMachine learning quality for production
Machine learning quality for productionyusuke shibui
 
Traffic light detection for self driving car
Traffic light detection for self driving carTraffic light detection for self driving car
Traffic light detection for self driving caryusuke shibui
 
Devsumi 2021 MLOps for Self-driving car
Devsumi 2021 MLOps for Self-driving carDevsumi 2021 MLOps for Self-driving car
Devsumi 2021 MLOps for Self-driving caryusuke shibui
 
Quality of ml_system
Quality of ml_systemQuality of ml_system
Quality of ml_systemyusuke shibui
 

Mais de yusuke shibui (20)

Creative as Software Engineering for GenAI LT
Creative as Software Engineering for GenAI LTCreative as Software Engineering for GenAI LT
Creative as Software Engineering for GenAI LT
 
Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索
 
機械学習システム構築実践ガイド
機械学習システム構築実践ガイド機械学習システム構築実践ガイド
機械学習システム構築実践ガイド
 
機械学習でテスト実行を効率化するLaunchable.pdf
機械学習でテスト実行を効率化するLaunchable.pdf機械学習でテスト実行を効率化するLaunchable.pdf
機械学習でテスト実行を効率化するLaunchable.pdf
 
Reviewing_machine_learning_program.pdf
Reviewing_machine_learning_program.pdfReviewing_machine_learning_program.pdf
Reviewing_machine_learning_program.pdf
 
DevSummit_2022_summer_MLOps.pdf
DevSummit_2022_summer_MLOps.pdfDevSummit_2022_summer_MLOps.pdf
DevSummit_2022_summer_MLOps.pdf
 
machine_learning_failure_apocalypse.pdf
machine_learning_failure_apocalypse.pdfmachine_learning_failure_apocalypse.pdf
machine_learning_failure_apocalypse.pdf
 
Launchable and efficient test execution
Launchable and efficient test executionLaunchable and efficient test execution
Launchable and efficient test execution
 
MLOps failure(1_108)
MLOps failure(1_108)MLOps failure(1_108)
MLOps failure(1_108)
 
Rosbag search system
Rosbag search systemRosbag search system
Rosbag search system
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
Lets start mlops
Lets start mlopsLets start mlops
Lets start mlops
 
Testing machine learning development
Testing machine learning developmentTesting machine learning development
Testing machine learning development
 
Twillio deadshot made me happy
Twillio deadshot made me happyTwillio deadshot made me happy
Twillio deadshot made me happy
 
Getting started with MLOps
Getting started with MLOpsGetting started with MLOps
Getting started with MLOps
 
How to start MLOps
How to start MLOpsHow to start MLOps
How to start MLOps
 
Machine learning quality for production
Machine learning quality for productionMachine learning quality for production
Machine learning quality for production
 
Traffic light detection for self driving car
Traffic light detection for self driving carTraffic light detection for self driving car
Traffic light detection for self driving car
 
Devsumi 2021 MLOps for Self-driving car
Devsumi 2021 MLOps for Self-driving carDevsumi 2021 MLOps for Self-driving car
Devsumi 2021 MLOps for Self-driving car
 
Quality of ml_system
Quality of ml_systemQuality of ml_system
Quality of ml_system
 

ML system design_pattern