Help us understand the problem. What is going on with this article?

機械学習基盤/MLOpsまわりの勉強をしたときに参考にさせていただいた記事(2018.12時点)

はじめに

機械学習基盤/MLOpsについて知らなければと思い立ち、勉強したときに参考にさせていただいた記事の自分用メモです。

1. アーキテクチャ例

Apache Airflowでエンドユーザーのための機械学習パイプラインを構築する

  • 概要
    • 「本連載では、Apache Airflowを用いて機械学習の専門家ではないユーザー(=エンドユーザー)が、機械学習を活用するためのパイプラインの構築を目指します。」
  • ポイント、所感
    • 既存の機械学習パイプラインがどのような処理を行なっているかをサーベイし、それを受けてApache Airflowで構築した事例
    • 機械学習パイプライン全体を俯瞰することができる
    • Airflow流行っている?AWSでもマネージドサービス出して欲しい、、、。
  • 関連技術
    • Airflow,機械学習パイプライン

Jupyter だけで機械学習を実サービス展開できる基盤

  • 概要
    • GCPを活用した機械学習基盤構成例(リクルートライフスタイル社)
      • ①分析・モデリング環境、②学習バッチ実行環境、③APIサービング環境
  • ポイント、所感
    • JupyterNotebookを業務フローの中心に据えた構成を実現するには
    • TFXを参考にしている
    • GKE使って、コンテナベースで環境構築をしているので、柔軟性が高そう
  • 関連技術
    • JupyterNotebook,papermill,Flask,GKE,lstio,GCR,BigQuery,GCS,CloudFunctions,Git

クックパッドの機械学習基盤 2018

  • 概要
    • 「クックパッド社の機械学習基盤の変遷」
  • ポイント、所感
    • ChatBot経由で開発者にGPUインスタンスを提供、はやった方がいいなと思った(つけっぱなし対応含め)
    • GoogleCloudMLEngine,FloydHub,AmazonSageMakerの比較(主にデプロイまわり)がありがたい
    • 「各モデル実装者がデプロイまで行う体制へ」を目標にするのはいいなと思った
  • 関連技術
    • GoogleCloudMLEngine,FloydHub,AmazonSageMaker

開発を爆速にするキスモの機械学習基盤

  • 概要
    • オンプレ機械学習基盤構成例(キスモ社)
  • ポイント、所感
    • 機械学習基盤をオンプレで構築する場合とクラウドで構築する場合のメリデメを比較している
    • 既存の計算資源があったので、Kubernetes化して、RancherによりGUIで利用できるようにした
    • 開発者は使いたいGPUを指定して学習することができる
  • 関連技術
    • オンプレ,Docker,Rancher,Kubernetes,etcd

検索組織の機械学習実行基盤

  • 概要
    • GCPを活用した機械学習実行基盤例(リクルートテクノロジーズ社のQaasチーム)
  • ポイント、所感
    • サービスごとに属人化していた->コンテナ技術を使ってロジックの移植性を向上させた+ワークフローエンジンを採用して簡単に処理を実行できるようにした->サービスを横断した資産の活用が活発になった
    • データソース->dockerでデータ加工->共有ストレージに->dockerの機械学習ロジックで加工->出力
    • ワークフローエンジンはDigdag。Dockerのイメージを指定し、そのコンテナで処理を実行できる。CI/CDツールはDrone。BigQueryにデータを集約。
  • 関連技術
    • Docker,Drone,Digdag,BigQuery,GCS,GCR

Kubernetes を利用したコンテナベース機械学習基盤の構築

  • 概要
    • GCPを活用した機械学習基盤構成例(Livesense社)
  • ポイント、所感
    • 「Kubernetes 上でのコンテナのデプロイは本当に簡単/柔軟に行え、これであれば柔軟な機械学習システムの開発に十分活用出来る」
    • 設定のコード化、素早いデプロイ・ロールバック、クラスタ内の各Pod・Serviceの連携が楽、ConfigMap・Secretsによる設定の共通化、CronJobによるバッチ運用
    • データ分析基盤はRedshift。バッチ処理なので転送コストやレイテンシは問題ない。
  • 関連技術
    • GCR,GKE,CloudLB,GCE,CloudStorage,helm,CronJob,Redshift

多角型事業と集約型事業、 それぞれのMLOps / AI基盤

  • 概要
    • 機械学習基盤構成例(DeNA社)
  • ポイント、所感
    • 前提情報大事。「多角型事業組織でドメインを定めず大小多数のサービスと事業で成立している」からこういう機械学習基盤。(クラウドをシンプリに活用、とか)
    • シンプルでクイックに機械学習基盤を構築する際に意識すること、MLOpsでMLエンジニアがやること一覧。
    • ElasticBeanstalk Docker Multiple Containerを利用している。パイプラインはSQS。
  • 関連技術
    • EB,DynamoDB,SQS

メルカリに学ぶ深層学習基盤

  • 概要
    • メルカリAI部が構築している機械学習基盤(MLOps)について
  • ポイント、所感
    • kubernetes利用
    • インサンプルでモデルの精度をウォッチして、閾値以下の精度になると自動でtrainし直す
    • 機械学習基盤のポイントは、ML/DLを『全自動で』『精度を保ったまま』『動かし続ける』ことの
  • 関連技術
    • kubernetes

2. 個別技術要素解説

コンテナ

Docker

コンテナ型の仮想環境を作成、配布、実行するためのプラットフォーム

Kubernetes

コンテナ化されたアプリケーションの展開、スケーリング、および管理を自動化するためのオープンソースシステム

etcd

設定情報共有とサービス検出のための高可用KVS

Istio

マイクロサービスをセキュアにマネージメントするためのOSS
サービス間の認証やモニタリング、L7での柔軟なロードバランシングなど

argo

Kubernetes 上で動作するコンテナネイティブなワークフローエンジン

Kubeflow

Kubernetesのコンテナに機械学習をさせるためのツール
以下から構成される
1. JupyterHub (Jupyterを複数ユーザーで使えるようにしたもの)
2. TensorFlow Training Controller (学習用の分散環境が簡単に構築できる)
3. TensorFlow Serving (構築したモデルを公開できる)

GCP

GCP

Googleがクラウド上で提供するサービス群の総称
Googleだからこそ作ることのできるデータ解析や機械学習系のサービス、そして Google が得意とするアプリケーションのスケールアウトが可能な Google App Engine

Cloud ML Engine

Googleの提供する、TensorFlowの実行環境

AWS

AWS

Amazonがクラウド上で提供するサービス群の総称

ECS, EKS, Fargate

AWSにおけるコンテナ関連サービス

SageMaker

Amazonの提供する、完全マネージド型の機械学習サービス

ワークフロー管理

Digdag

Treasure Data製のワークフローエンジンのOSS
バッチ処理の依存関係を明確に定義できたり、ジョブの管理する

Airflow

Airbnbが提供しているオープンソースのタスクスケジューリング・モニタリングのフレームワーク

  • Apache Airflow でタスクスケジューリングしてみた ~Airflowによって開発負荷が変わる~

Webフレームワーク

Flask

FlaskはWebフレームワークで軽量で機能がそこまで備わっていないということが最大の特徴

Django

PythonのフルスタックWebフレームワーク

FastAPI

標準のPythonタイプヒントに基づいてPython 3.6+でAPIを構築するための最新の高速(高性能)Webフレームワーク

おわりに

こっそりしれっと随時追記していく気もします。

future
ITを武器とした課題解決型のコンサルティングサービスを提供します
http://future-architect.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした