SlideShare a Scribd company logo
分散学習にSageMakerが提供するソリューション
機械学習プラットフォーム5つの課題
と
Amazon SageMakerの4つの利点
産業規模データの機械学習
研究の世界ではスケーラビリティへ
対応する多数の研究がある
連続的に進化する巨大なデータセット
を使ったモデルのトレーニングは、困
難でお金がかかる
実際のデータは
変化する
データの変化が機械学習に与える影響は大きい。
データの変化に対応できるプラットフォームが必要となる。
スケーラビリティ + 変化
今回紹介する論文
● 論文
○ タイトル: Elastic machine learning algorithms in amazon sagemaker.
○ 著者: Liberty, Edo, et al.
○ 投稿: Proceedings of the 2020 ACM SIGMOD International Conference on
Management of Data. 2020.
● サマリ
○ 産業規模の機械学習プラットフォームの5つの課題を提示
○ 機械学習プラットフォームの課題に対応するための、Amazonの機械学習プラッ
トフォームであるSageMakerの4つの利点を紹介
○ 産業規模データセットでSageMakerとJVMベースの機械学習アルゴリズムを比較
機械学習プラットフォームの5つの課題
● インクリメンタルトレーニングとモデルの鮮度の維持のサポート
● トレーニングコストの予測性
● 柔軟性とジョブの停止・再開のサポート
● 一時的なデータの使用
● ハイパーパラメータ最適化とモデルのチューニングの自動化
現在の研究やオープンソースでは多くが取り組まれていない
課題1. インクリメンタルトレーニングとモデルの鮮度の維
持のサポート
● データは継続的に生成され続け、静的に変化しないデータセットは稀
● トレーニングコストと精度のトレードオフが発生
○ データの大部分を使ってトレーニングを行うと、正確なモデルが得られるが、コ
ストと時間が非常にかかる
○ 一方、データを少しずつ更新しながらトレーニングを行うと、コストは低いが、
正確な結果が得られない可能性がある
● 産業用機械学習プラットフォームでは、定期的にコストをかけずに既存のモデルの更
新と段階的なモデルトレーニングのサポートが必要
Old New
常に変化し続ける
毎回新しいデータを含めて
学習し直すのは大変
課題2. トレーニングコストの予測性
● 大容量のデータの場合、顧客は事前にトレーニングにかかる時間や費用の大
まかな予測が必要となる
● 一方、スケーラブルなシステムでは事前にコストを見積もることが困難
○ 多くのシステムではインクリメントラーニングの定期実行がサポートされていない
○ 高次元モデルで想定外のパフォーマンスの低下が発生
●トレーニングにかかる時間
●トレーニングにかかる費用
課題3. 柔軟性とジョブの停止・再開のサポート
● 産業規模のデータを扱う機械学習では、作業量が不均衡になることがよくある
○ 例) データサイエンティストがデータ収集やコード作成のために数日間ジョブを実行せ
ずに過ごした後、数百台のマシンでトレーニングジョブを同時に実行
● ジョブを一時停止、再開したい場合も存在
○ 例) ハイパーパラメータチューニングなど
作業量が不均衡
ジョブの停止・再開を
できるようにしたい
課題4. 一時的なデータの使用
● 産業規模の機械学習プラットフォームでは保存されることがないデータストリームも存
在
○ 例) ネットワークトラフィックやビデオストリームなど
● 保存されることがないデータを取り込み、トレーニングすることは困難
○ 一時的なデータを扱える必要がある
● 一時的なデータを扱えるようにする仕組みが必要
通常データ
ビデオストリームデータ
課題5. ハイパーパラメータ最適化とモデルチューニング
● 機械学習プラットフォームはハイパーパラメータ最適化とモデルチューニングをでき
るだけ自動化することが必要
● ハイパーパラメータ最適化とモデルチューニングの自動化は以下の点で重要
○ トレーニングコストの削減
○ 機械学習に精通していないユーザのサポート
自動化により、機械学習に精通していなくても
ハイパーパラメータの最適化とモデルチューニ
ングができる
Amazon SageMaker
● SageMakerとは (https://aws.amazon.com/jp/sagemaker/)
○ 「ML 専用に構築された幅広い一連の機能をまとめて提供することにより、データサイエンティストとデベロ
ッパーが高品質の機械学習 (ML) モデルを迅速に準備、構築、トレーニング、およびデプロイするのを支援」
○ 「ラベル付け、データ準備、特徴エンジニアリング、統計的バイアス検出、自動 ML、トレーニング、調整、
ホスティング、説明可能性、モニタリング、ワークフローなど、ML 開発のあらゆるステップのための専用ツ
ールでイノベーションを加速」
○ チームの生産性を10倍、トレーニングにかかる費用を90%削減、推論にかかる費用を75%削減
○ 「AWS の歴史の中で最も急速に成長しているサービスの 1 つ」
https://aws.amazon.com/jp/sagemaker/
SageMaker: 計算モデル
● SageMakerは分散ストリーミングデータと共有されたモデルのステートを想定
● 目的関数の最適化のためには3つの関数を実装すればよい
○ Initialize (初期化)
■ トレーニングが開始するモデルの初期のステートを設定
○ Update (更新)
■ データストリームとステートを受け取り、それらに応じてステートを更新
○ Finalize (最終状態の決定)
■ ステートを受け取り計算の最終結果を出力
Initialize Update Finalize
SageMakerで必要な3つの関数
ステートを共有
SageMakerの価値
● 顧客はどんなマシンを使ったかは関係なく、時間と費用を減らしたい
● SageMakerの4つの利点
○ 現代的なハードウェアでの実行
○ パラメータサーバによる分散学習とステートマネジメント
○ モデルの抽象化と表現力豊かなステート
○ モデルのチューニングとハイパーパラメータ最適化
どんなマシンを使ったかは重要でない トレーニングにかかる時間と費用が重要
利点1. 現代的なハードウェアでの実行
● シームレスにCPUとGPU間で操作するためにMXNetを使用
○ 機械学習アルゴリズムをテンソル演算子の計算グラフを通して表現し、最適化
○ 演算をデバイスに割当て
○ 効率的に並列計算を実行
https://github.com/ROCmSoftwarePlatform/mxnet
利点2. パラメータサーバによる分散学習とステートマネジメント
● パラメータサーバが全てのトレーニングで使用されるモデルの共有ステートを保存
● パラメータサーバは非同期コミュニケーションを通じて高速に更新されるように設計
● パラメータ更新の一貫性を緩和可能
● MXNetのパラメータサーバであるKVStoreを用いて、共有ステートの抽象化と計算モデル
に必要な集計機能を実装
パラメータサーバ
トレーニング用マシン
利点3. モデルの抽象化と表現力豊かなステート
● 異なるモデル間で共通の動作をさせるために、アルゴリズムの出力を抽象化
● モデルは2つの関数を実装する必要がある
○ score (モデル評価用のスコア関数): デバッグやハイパーパラメータ最適化にも使用
○ evaluate (評価関数): データの一部を受け取りモデルの出力を計算
● ステートから多くの異なるモデルを作成できるように、表現力豊かなステートを
維持できるように設計
○ 例) k-meansでは指定したk_max以下の値kであれば再トレーニングなしで使用可能
ML Model
● score
● evaluate
Expressive
State
Object
Model1
Model2
Model3
利点4. モデルチューニングとハイパーパラメータ最適化
● ストリーミングモデルの一時停止・再開が可能
○ ユーザは毎日モデルにデータを追加可能で、過去のデータを再トレーニングする
必要がない
○ 複数のモデルのトレーニングを同時に行い、結果がよくないものを早期に中止さ
せるというハイパーパラメータ最適化が可能
1月1日のデータ
1月2日のデータ
1月3日のデータ
新しいデータを
追加するだけ
NEW Model1
Model2
Model3
大量のトレーニングを行
い、パフォーマンスが出
ない場合は、トレーニン
グを早期に中止
スケーラブルな機械学習においてSageMakerとJVMベースのソリューション (Apache Spark Mlib,
Mallet) などを比較
1. Linear Learner: 精度は同等で、SageMakerはMLlibより8倍高速、同一時間では2 ~ 3倍コストが
安い
2. Factorization Machine: 線形に近いスケーラビリティ
3. K-Means: SageMakerはMlibより10倍高速、スコアが5 % ~ 8 %改善されながら非常に低コスト
4. Neural topic model (NTM): 5以上のトピック数でNTMはより良いperplexityを示した
5. DeepAR: M4 forecasting competitionにおけるもっとも高精度を達成
SageMakerの性能評価
今後の課題: 前処理
前処理 学習 予測
SageMakerで処理
分割されたシステムで実施
多くの場合、前処理は分割されたシステムで実施されるため
SageMakerの恩恵を受けられない可能性がある
まとめ
● 機械学習プラットフォームの5つの課題
○ インクリメンタルトレーニングとモデルの鮮度の維持のサポート
○ トレーニングコストの予測性
○ 柔軟性とジョブの停止・再開のサポート
○ 一時的なデータの使用
○ ハイパーパラメータ最適化とモデルのチューニングの自動化
● 顧客は、どんなマシンを使うかよりも、トレーニングにかかる時間と費用をいか
に削減できるかを気にする
● Amazon SageMakerの4つの利点
○ 現代的なハードウェアでの実行
○ パラメータサーバによる分散学習とステートマネジメント
○ モデルの抽象化と表現力豊かなステート
○ モデルのチューニングとハイパーパラメータ最適化
● SageMakerはJVMベースのソリューションよりも高い性能を示した
チャンネル紹介
● チャンネル名: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル
● URL: https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg
● チャンネルの内容
○ 経営・データサイエンス・開発に関する情報を発信しています。
○ 例: アジャイル開発、データパイプライン構築、AIで使われるアルゴリズム4種類など
● noteでも情報発信しています → https://note.com/kenichiro
APPENDIX
SageMaker: Algorithms
● 深層学習がますます使用されるようになっているが、オンライン広告のクリ
ック予測などの問題では、古典的な解釈性の高い機械学習アルゴリズムはい
まだに需要が高い
● ストリーミングという条件で幅広く使用され、よく適している古典的なアプ
ローチ
○ Linear Learner
○ Factorization machine
○ K-Means
○ PCA
○ Neural Topic Model
○ DeepARを用いた時系列予測

More Related Content

PPTX
Amazon SageMakerでカスタムコンテナを使った学習
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
PPTX
AWSで作る分析基盤
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
PPTX
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
PDF
Machine learning CI/CD with OSS
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
PDF
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤
Amazon SageMakerでカスタムコンテナを使った学習
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWSで作る分析基盤
The Twelve-Factor Appで考えるAWSのサービス開発
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
Machine learning CI/CD with OSS
Amazon S3を中心とするデータ分析のベストプラクティス
202106 AWS Black Belt Online Seminar 小売現場のデータを素早くビジネス に活用するAWSデータ基盤

What's hot (20)

PDF
AWSではじめるMLOps
PDF
【AI:ML#16】Amazon Lexを用いたチャットボットの構築.pdf
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
PDF
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
PDF
Amazon Athena 初心者向けハンズオン
PDF
20191001 AWS Black Belt Online Seminar AWS Lake Formation
PDF
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
PDF
[AKIBA.AWS] VGWのルーティング仕様
PDF
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
PDF
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
PDF
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
PDF
データ活用を加速するAWS分析サービスのご紹介
PDF
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
PDF
AWS Glueを使った Serverless ETL の実装パターン
PDF
20200617 AWS Black Belt Online Seminar Amazon Athena
PDF
テスト文字列に「うんこ」と入れるな
PPTX
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
PDF
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
PDF
20200804 AWS Black Belt Online Seminar Amazon CodeGuru
PDF
マイクロサービス 4つの分割アプローチ
AWSではじめるMLOps
【AI:ML#16】Amazon Lexを用いたチャットボットの構築.pdf
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
Amazon Athena 初心者向けハンズオン
20191001 AWS Black Belt Online Seminar AWS Lake Formation
Google Cloud ベストプラクティス:Google BigQuery 編 - 02 : データ処理 / クエリ / データ抽出
[AKIBA.AWS] VGWのルーティング仕様
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
データ活用を加速するAWS分析サービスのご紹介
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
AWS Glueを使った Serverless ETL の実装パターン
20200617 AWS Black Belt Online Seminar Amazon Athena
テスト文字列に「うんこ」と入れるな
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20200804 AWS Black Belt Online Seminar Amazon CodeGuru
マイクロサービス 4つの分割アプローチ
Ad

Similar to 機械学習プラットフォーム5つの課題とAmazon SageMakerの4つの利点 (20)

PPTX
エンタープライズと機械学習技術
PDF
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
PPTX
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
PDF
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
PDF
14. BigQuery ML を用いた多変量時系列データの解析.pdf
PPTX
機械学習 - MNIST の次のステップ
PDF
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
PDF
機械学習アーキテクチャ・デザインパターン
PDF
機械学習応用アーキテクチャ・デザインパターン概観
PPTX
ML Sagemaker Dev.IO
PPTX
機械学習応用のためのソフトウェアエンジニアリングパターン
PPTX
AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための 要求工学と安全性
PDF
開催の辞
PDF
鷲崎弘宜, "機械学習システムの多面的モデリング・パイプライン統合フレームワーク", 第6回 AI/IoTシステム安全性シンポジウム, 2024
PPTX
1028 TECH & BRIDGE MEETING
PPTX
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
PDF
メルペイあと払いを実現するData Pipeline
PDF
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
PDF
AIシステム開発のプロジェクトマネジメント
PDF
データ分析ランチセッション#24 OSSのAutoML~TPOTについて
エンタープライズと機械学習技術
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
14. BigQuery ML を用いた多変量時系列データの解析.pdf
機械学習 - MNIST の次のステップ
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
機械学習アーキテクチャ・デザインパターン
機械学習応用アーキテクチャ・デザインパターン概観
ML Sagemaker Dev.IO
機械学習応用のためのソフトウェアエンジニアリングパターン
AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための 要求工学と安全性
開催の辞
鷲崎弘宜, "機械学習システムの多面的モデリング・パイプライン統合フレームワーク", 第6回 AI/IoTシステム安全性シンポジウム, 2024
1028 TECH & BRIDGE MEETING
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
メルペイあと払いを実現するData Pipeline
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
AIシステム開発のプロジェクトマネジメント
データ分析ランチセッション#24 OSSのAutoML~TPOTについて
Ad

More from 西岡 賢一郎 (20)

PPTX
Amazon SageMaker Foundation Modelsで事前学習済みモデルを利用する
PPTX
Amazon SageMaker Ground Truthを使って手動のラベル付けを簡略化する
PPTX
Amazon SageMakerのNotebookからJobを作成する
PPTX
リモートワークで知っておきたい コミュニケーション時の過大な期待
PPTX
リモートワークで意識すべき7つのこと
PPTX
Amazon SageMaker ML Governance 3つの機能紹介
PPTX
Feature StoreのOnline StoreとOffline Storeの違いについて理解する
PPTX
機械学習の特徴量を管理するAmazon SageMaker Feature Store
PPTX
Amazon SageMakerでscikit-learnで作ったモデルのEndpoint作成
PPTX
Amazon AthenaでSageMakerを使った推論
PPTX
Amazon Athenaで独自の関数を使う Amazon Athena UDF - AthenaでTweetの感情分析
PPTX
未来のカタチ x AI
PPTX
TorchDataチュートリアル解説
PPTX
Amazon SageMaker JumpStart
PPTX
Amazon SageMaker Studio Lab紹介
PPTX
Amazon SageMaker Canvasを使ったノーコード機械学習
PPTX
PMFを目指すプロダクト開発組織が組織拡大するときににやるべきこと
PPTX
H2O Waveを使ったAIアプリケーション作成入門
PPTX
H2Oを使ったノーコードのAutoML
PPTX
AutoGluonではじめるAutoML
Amazon SageMaker Foundation Modelsで事前学習済みモデルを利用する
Amazon SageMaker Ground Truthを使って手動のラベル付けを簡略化する
Amazon SageMakerのNotebookからJobを作成する
リモートワークで知っておきたい コミュニケーション時の過大な期待
リモートワークで意識すべき7つのこと
Amazon SageMaker ML Governance 3つの機能紹介
Feature StoreのOnline StoreとOffline Storeの違いについて理解する
機械学習の特徴量を管理するAmazon SageMaker Feature Store
Amazon SageMakerでscikit-learnで作ったモデルのEndpoint作成
Amazon AthenaでSageMakerを使った推論
Amazon Athenaで独自の関数を使う Amazon Athena UDF - AthenaでTweetの感情分析
未来のカタチ x AI
TorchDataチュートリアル解説
Amazon SageMaker JumpStart
Amazon SageMaker Studio Lab紹介
Amazon SageMaker Canvasを使ったノーコード機械学習
PMFを目指すプロダクト開発組織が組織拡大するときににやるべきこと
H2O Waveを使ったAIアプリケーション作成入門
H2Oを使ったノーコードのAutoML
AutoGluonではじめるAutoML

機械学習プラットフォーム5つの課題とAmazon SageMakerの4つの利点

Editor's Notes

  • #2: 今回は、機械学習プラットフォーム5つの課題とAmazon Sage Makerの4つの利点というテーマでお話します。 機械学習を実施するためのプラットフォームを運用しようとすると、様々な課題に直面します。 そのような課題に対応してくれるソリューションとして、Amazonが開発するSage Makerがあります。 この動画では、機械学習プラットフォームにおける課題とは何なのか、それに対応するSage Makerの利点とはどんなものがあるかについてお話します。 機械学習のプラットフォームを作ろうとしている人や、SageMakerが気になっている人に役立つ知識となっているので、ぜひ最後までご視聴ください。 このチャンネルでは、データサイエンスを活用するための基盤づくりや、スタートアップの話をしていきます。 興味のある方はぜひチャンネル登録をお願いいたします。
  • #3: ここ最近、大量のデータが安価に取得できるようになり、産業規模のデータで機械学習をすることが一般的になってきています。 そして、産業規模のデータに対して、機械学習のアルゴリズムを適用できるような研究が盛んにされており、複数台のマシンを用いて機械学習を実施することが簡単になってきています。 しかし、実際に機械学習をやっていく場面になると、産業規模データが常に変化し続けることの影響を受け始めます。 データが変化することにより、頻繁にトレーニングをし直す必要が出てきて、その度に多くの時間や費用がかかってしまいます。 そのため、産業規模のデータで機械学習を実施する企業や研究では、データの変化による機械学習への影響を把握し、データの変化に対応できるプラットフォームの構築が必要になります。
  • #4: そこで、今回はそのような機械学習プラットフォームの1つである、Amazon Sage Makerに関する論文を解説します。 2020年に投稿されたもので、比較的新しい論文です。 この論文では、産業規模の機械学習が抱える5つの課題が示されており、どの課題も機械学習のプラットフォームを運用する人が知識として持つべき内容となっています。 そして、その課題に対するソリューションであるAmazonの機械学習プラットフォームであるSage Makerが提供する4つの利点が紹介されています。 論文内では、AmazonのSage Makerが、既存の機械学習に比べてどの程度優れているかを、実験的に比較しています。 それでは解説していきます。
  • #5: さっそくですが、産業規模の機械学習プラットフォームを構築するときの課題は5つあります。 1つ目がインクリメンタルトレーニングとモデルの鮮度の維持のサポート。 2つ目がトレーニングコストの予測性。 3つ目が柔軟性とジョブの停止・再開のサポート。 4つ目が一時的なデータの使用。 そして、最後5つ目がハイパーパラメータ最適化とモデルのチューニングの自動化です。 この5つに含まれるものの多くは、現在の研究やオープンソースでは取り組まれていません。 それぞれどんな課題であるか1つ1つ説明していきます。
  • #6: まず、1つめのインクリメンタルトレーニングとモデルの鮮度の維持のサポートについてです。 機械学習で用いるデータは、継続的に生成され続けるもので、静的で変化しないデータはほとんどありません。 データが増え続ける状況における機械学習では、トレーニングコストと予測の精度にトレードオフが発生してしまいます。 新しく増えたデータも含めた、データの大部分を使ってトレーニングをすると、トレーニングにかかるコストは莫大に増えますが、正確なモデルを得られる可能性があります。 一方、新しく増えたデータだけを用いて、トレーニングをすると、トレーニングのコストは低くなるが、正確な結果を得られない可能性が出てきます。 つまり、高い精度のモデルを実現するためには、新しく増えたデータを含めて、できるだけ頻繁にモデルのアップデートをかける必要があり、トレーニングにかかる時間も費用も爆発的に増えていくということです。 精度を0.01でも上げるために、毎日数時間のトレーニングを実施しないといけないというのであれば、その0.01の精度向上を諦めて、トレーニングのコストを下げるという選択肢も取りうるということです。 産業用機械学習プラットフォームでは、定期的にコストを掛けずに、学習済みの既存のモデルを更新し、段階的にモデルをトレーニングすることが必要となります。
  • #7: 2つ目の課題はトレーニングコストの予測性です。 大容量のデータを取り扱う場合、顧客はトレーニングにどのくらいの時間がかかるかと、どのくらいの費用がかかるかを大まかに把握する必要が出てきます。 大きなデータを解析したおかげで、数週間結果が帰ってこなかったりとか、数百万円の請求が来てしまってはビジネスの継続自体が難しくなりますよね。 しかし、スケーラブルなシステムでは、事前にこのようなコストを見積もることが非常に難しいです。 多くのシステムでは、インクリメントラーニングの定期実行がサポートされていなかったり、高次元モデルを取り扱ったときに想定外のパフォーマンスの低下が発生したりします。 こういうシステムでは、少しずつ実験し測定しながら、データを増やしていくしかありません。
  • #8: 3つめの課題は、柔軟性とジョブの停止・再開のサポートです。 産業規模のデータを扱う機械学習では、機械学習でさばかないといけない作業量が不均衡になることがあります。 例えば、データ収集やコードを作成するために、しばらくの間、機械学習のジョブを実行しなかった場合、ジョブを再開したときに、大量の作業を実施することになります。 この場合は、大量の作業をさばくために、一時的に計算マシンの台数を増やして対応するなど、柔軟性が必要となります。 また、走らせはじめたジョブを途中で停止したり、停止したジョブを再び再開したりすることも現場では必要となります。 わかりやすい例としては、ハイパーパラメータのチューニングなどが考えられます。 ハイパーパラメータのチューニングは果てしない探索をしなければいけないため、途中で中止してトレーニングを切り上げたり、あとから必要なタイミングで新しいデータを含めてトレーニングを再開したりすることがあります。
  • #9: 機械学習のプラットフォーム4つ目の課題は、一時的なデータの使用です。 産業規模の機械学習プラットフォームでは、保存されないデータストリームも存在します。 ネットワークのトラフィックやビデオストリームなどが例として挙げられます。 これらを保存してしまうと、すぐにディスク容量が足りなくなるため、保存すること無く捨ててしまうのが一般的です。 どんどん破棄されるデータを取り込んだトレーニングは難しいです。 しかし、この一時的なデータもモデルに組み込むことで、精度をあげられる可能性があるため、機械学習プラットフォームでは一時的なデータを使用可能にする必要があります。
  • #10: 最後の5つめの課題は、ハイパーパラメータの最適化とモデルのチューニングです。 もはや、これらは産業規模のデータを使わない場合でも当たり前に必要となっており、高性能のモデルを実現するためには欠かすことができないものとなっています。 ハイパーパラメータの最適化とモデルのチューニングは、非常に人的コストがかかる作業となるため、自動化しておくことが重要となります。 自動化により、トレーニングコストの削減や、機械学習に精通していない人でも高性能のモデルを作り出すことを可能にすることができます。 以上が、機械学習プラットフォームの5つの課題でした。 ここからは、今回紹介するソフトウェアであるAmazonのSageMakerについて解説していきます。
  • #11: Amazon SageMakerは公式サイトでは、ML 専用に構築された幅広い一連の機能をまとめて提供することにより、データサイエンティストとデベロッパーが高品質の機械学習 (ML) モデルを迅速に準備、構築、トレーニング、およびデプロイするのを支援すると書かれています。 また、ラベル付け、データ準備、特徴エンジニアリング、統計的バイアス検出、自動 ML、トレーニング、調整、ホスティング、説明可能性、モニタリング、ワークフローなど、ML 開発のあらゆるステップのための専用ツールでイノベーションを加速するということで、聞いてるだけでお腹いっぱいになりそうな盛り盛りのソフトウェアとなっています。 SageMakerを使うことで、チームの生産性が10倍になったり、トレーニングにかかる費用を90%削減できたり、推論にかかる費用を75%削減できると謳われています。 そして、AWSの歴史の中で最も急速に成長しているサービスの一つでもあるということで、AWSの多くのソフトウェアの中でも重要度が高いソフトウェアであることが分かります。 機械学習が様々なサービスに導入されるようになってきた今だからこそ、より簡単により柔軟に機械学習を使うことができるソフトウェアが求められているわけですね。
  • #12: SageMakerでは、分散ストリーミングデータと共有されたモデルのステートを想定しています。 つまり、学習中もしくは学習済みのモデルをうまく共有しつつ、分散学習ができるようになっているということですね。 そして、SageMakerでは、たった3つの関数を実装するだけで、目的関数の最適化をすることができます。 3つの関数のうち1つ目が、トレーニングの開始時のモデルの初期のステートを設定するInitialize, 2つ目がデータストリームとステートを受け取り、ステートを更新するUpdate, そして3つ目がステートを受け取り、計算結果の最終結果を出力するFinalizeです。
  • #13: 機械学習のプラットフォームの5つの課題について、さきほど解説しましたが、結局のところ顧客は、どんな高性能なマシンを使ったかは気にしておらず、トレーニングにかかる時間と費用を減らしたいということです。 そこで、SageMakerは、次にあげる4つの利点により、この顧客の要望に答えています。 1つめの利点が、現代的なハードウェアでの実行。 2つめの利点がパラメータサーバによる分散学習とステートマネジメント。 3つめの利点がモデルの抽象化と表現力豊かなステート。 最後、4つめの利点がモデルのチューニングとハイパーパラメータ最適化です。 それぞれについて説明します。
  • #14: まず、1つめの利点である、現代的なハードウェアでの実行です。 効率のよい演算を行うためには、様々な種類のハードウェア上で計算を実行する必要があります。 SageMakerでは、シームレスにCPUやGPU間の操作をするために、MXNetを使用しています。 MXNetとはスケーラブルで、高速モデルトレーニングが可能で、柔軟なプログラミングモデルと複数のプログラミング言語をサポートしているソフトウェアです。 MXNetは、機械学習のアルゴリズムをテンソル演算子の計算グラフを通して表現し、最適化したり、演算を各デバイスに振り分けたり、効率的に並列計算を実行したりします。
  • #15: SageMakerの2つめの利点は、パラメータサーバによる分散学習とステートマネジメントです。 分散学習で重要となるのが、トレーニングしているモデルのステートを共有するパラメータサーバです。 パラメータサーバは、非同期コミュニケーションによって、モデルのステートを高速に更新できるようになっています。 また、パラメータ更新の一貫性も緩和させることができるようにもなっています。 SageMakerでは、MXNetのKVStoreを通して、共有ステートの抽象化と計算モデルに必要な集計機能の実装を行っています。 パラメータサーバは、大量にあるトレーニングマシンの情報統制をしているコミュニケーターのようなイメージですね。
  • #16: SageMakerの利点の3つめは、モデルの抽象化と表現力豊かなステートです。 SageMakerでは異なるモデルの間で共通の動作をさせるために、アルゴリズムの出力を抽象化しています。 そのため、SageMaker内のアルゴリズムはScoreとEvaluateという2つの関数の実装がされています。 Scoreは、モデル評価用のスコア関数で、デバッグやハイパーパラメータ最適化にも使用できます。 Evaluateは評価関数で、データの一部を受取り、モデルの出力を計算します。 scikit-learnのAPIと似たようなイメージで、出力結果を揃えることで、モデルの入れ替えなどを簡単にしているようですね。 またステートから多くの異なるモデルを作成できるように、表現力豊かなステートを維持できるような設計になっています。 例えば、k-meansでは、最大のクラスタの数k-max以下でクラスタを分けたい場合は、再度k-meansでトレーニングをしなくても、k-maxで分けた時のステートを用いてクラスタを計算できます。
  • #17: SageMakerの利点4つめは、モデルのチューニングとハイパーパラメータ最適化です。 SageMakerではストリーミングモデルの一時停止や再開が可能になっています。 これによって、ユーザがモデルに毎日データを追加しても、過去のデータを再度トレーニングしなくてすむため、トレーニングのコストを抑えることができます。 また、複数のモデルのトレーニングを同時に行うとき、結果が良くないトレーニングを早期に中止させることもできるようになっています。 精度の悪いトレーニングを早めに中止することで無駄な計算を削減できるということですね。 ここまでSageMakerの利点について説明してきました。 なんとなくSageMakerが便利そうということが分かったかと思います。 では、実際にSageMakerと既存の機械学習を比べた実験を紹介します。
  • #18: 比較実験では、SageMakerとJVMベースの機械学習ソリューションであるApache Spark Mlibやマレットなどを使っています。 まず1つめの実験結果はLinear LearnerでSageMakerとMlibを比較したものです。 SageMakerとMlibでは精度は変わらなかったのですが、SageMakerはMlibよりも8倍高速で、同じ時間のトレーニングをやったときに2、3倍安いコストで済んだとのことです。 つぎに、Factrization Machineでの実験結果です。 こちらはMlibには実装がないためSageMakerのみを用いた実験となっています。 この図を見て分かるように、クラスターサイズとコストが線形の関係となるスケーラビリティを持つことが分かります。 安心してクラスターサイズを大きくできそうですね。 次にK-Meansの実験結果です。 SageMakerはMlibよりも10倍高速でスコアが5 ~ 8%改善された上に、コストも非常に安く計算ができています。 速度、精度、費用のすべてにおいてSageMakerが優位ということです。 次は、Neural topic modelです。 こちらは、マレットとの比較となります。 5以上のトピックでマレットよりもNeural topic modelはよいperplexityとなっています。 そして、最後は、DeepARの実験です。 SageMakerのDeepARはM4 forecasting competitionのデータで最もよい精度を達成したということです。 5つのアルゴリズムと、その実験結果を紹介しました。 SageMakerでは、早く、低コストでスケーラブルな機械学習が実現できることが実験的に示されていました。 少し駆け足となってしまったので、詳細を確認したい方はぜひもとの論文を読んでみてください。
  • #19: ここまでSageMakerの利点を紹介してきましたが、SageMakerももちろん万能ではない部分があります。 それは、機械学習における前処理です。 機械学習では、前処理が7 ~ 8割をしめると言われることもあるぐらい、前処理が重要です。 しかし、この前処理は、一般的に分割されたシステムで実施されれるため、SageMakerの分散の恩恵を受けられなくなります。 SageMakerで高速に学習が実施できると思ったら、前処理に予想外に時間を取られてしまうことはありえます。 前処理をどこで実施するかなどを想定しつつ、SageMakerをうまく利用していきましょう。
  • #20: まとめをします。 今回は、機械学習プラットフォーム5つの課題とAmazon SageMakerの4つの利点というテーマでお話しました。 機械学習のプラットフォームには大きく分けて5つの課題があります、 1つめは、日々変化するデータに対応しなければいけないという、インクリメンタルトレーニングとモデルの鮮度の維持のサポート。 2つめは、前もってどのくらいの時間と費用がかかるかを把握するトレーニンコストの予測性。 3つめは、不均衡なデータに対応するための柔軟性と、モデルの学習を停止したり再開したりすることのサポート。 4つめは、ビデオストリーミングなど通常は保存されない、一時的なデータの使用。 5つめは、手間がかかるハイパーパラメータ最適化とモデルのチューニングの自動化です。 プラットフォームに5つの課題がある中で、顧客が一番求めているのは、どんなマシンを使うかなどではなく、トレーニングにかかる時間と費用をいかに削減できるかでした。 この要望を満たすために、SageMakerでは高速かつコストを削減する機械学習のプラットフォームが提供されています。 SageMakerの4つの利点をおさらいします。 1つは、現代的なハードウェアでの実行です。 SageMakerでは、MXNetとAWS上にある様々なマシンを使って機械学習を実行できます。 2つめは、パラメータサーバによる分散学習とステートマネジメントです。。 パラメータサーバで共有したステートを管理しつつ、分散学習を可能にします。 3つめがモデルの抽象化と表現力豊かなステートです。 抽象化された関数を実装することで、異なるモデルの挙動を同じものにします。 また、再トレーニングが必要ないように、表現力豊かなステートから複数のモデルを生成できるようにしています。 4つめがモデルのチューニングとハイパーパラメータ最適化です。 トレーニングを中止したり、再開したりすることで、より効率的なトレーニングを可能にしています。 最後に、SageMakerとJVMベースの機械学習を比較し、SageMakerが高速かつコストが低いことを実験的に示しました。 高速に計算できて、コストが低いのであれば、SageMakerを利用しない理由はなさそうですね。 もし、実際のSageMakerの使い方を知りたいという方がいらっしゃれば、このチャンネルでSageMakerの実際の利用方法についても取り上げて行きたいと思います。
  • #21: 最後にチャンネルの紹介をさせてください。 このチャンネルでは、経営やデータサイエンスや開発の話をしていきます。 聞きたい話のリクエストも募集中です。 もし、この動画が役に立ったら高評価とチャンネル登録をお願いいたします。
  • #23: SageMakerでは、