amazon machine learning · • デプロイと管理...

Post on 31-Dec-2019

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

September 3rd, 2015

Amazon Machine Learning

Danny Lange

General Manager, Amazon Machine Learning

3種類のデータ駆動型開発

遡及的な分析と

レポーティング

Amazon RedshiftAmazon RDS Amazon S3

Amazon EMR

3種類のデータ駆動型開発

遡及的な分析と

レポーティング

即時の判断リアルタイム処理とダッシュボード

Amazon Kinesis Amazon EC2 AWS Lambda

Amazon Redshift, Amazon RDS Amazon S3

Amazon EMR

3種類のデータ駆動型開発

遡及的な分析と

レポーティング

即時の判断リアルタイム処理とダッシュボード

予測スマートアプリケーションを作成可能に

するAmazon Kinesis Amazon EC2 AWS Lambda

Amazon Redshift, Amazon RDS Amazon S3

Amazon EMR

機械学習とスマートアプリケーション

機械学習はデータから自動的にパターンを発見し、それを新しいデータが発生した時に予測として使うためのテクノロジー

データ + 機械学習 = スマートアプリケーション

主な活用カテゴリー

詐欺の検知 不正取引の検知、 スパムeメールのフィルタリング、 疑わしいレビューのマーキング …

パーソナライゼーション コンテンツのレコメンデーション、予測的なコンテンツロード、 ユーザエクスペリエンスの改善 …

ターゲットマーケティング オファーとお客様のマッチング、 マーケティングキャンペーンの選択、クロスセリングやアップセリング …

コンテンツ分類 ドキュメントのカテゴリー分類、履歴書と採用マネージャのマッチング …

離反予測 サービスを使うのを止めそうなお客様の検知、無料ユーザからアップグレードのオファー …

カスタマーサポート お客様からのメールの適切な転送先推測、ソーシャルメディアリスニング …

スマートアプリケーション開発は大変

専門家 技術 使いやすさ

データサイエンティストの人数は限られる

多くの選択肢があるが決定的なものが無い

複雑で間違いを起こしやすいワークフロー

外注するのは高くつく 使いこなし、スケールさせることが困難

特殊なプラットフォームとAPI

カスタムソリューションを作成するために多くの細かい作業が毎回必要になる

モデルライフサイクル管理を無駄に再発明

もし、より良い方法があったら?

Amazon MLの登場

使いやすく、マネージド

開発者のために作られた機械学習サービス

Amazon内部のシステムで利用されていた堅牢でパワフルな機械学習の技術

AWSクラウドにすでに格納されているデータを元にモデルを作成可能

モデルを一瞬で本番環境に適用できる

使いやすく、開発者にとって扱いやすい

直感的でパワフルなサービスコンソールを使って初期モデルの作成、調査

• データの取得• モデルのトレーニング、クオリティ評価、チューニング

• デプロイと管理

フル機能のAPIとSDKでモデルのライフサイクルを自動化

• Java, Python, .NET, JavaScript, Ruby, PHP

スマートiOS, AndroidアプリケーションをAWS Mobile SDKで作成可能

パワフルな機械学習テクノロジー

Amazonで鍛えられた百戦錬磨の内部テクノロジーがベース

アルゴリズムだけの提供ではなく:• スマートなデータ変換

• データ入力およびモデルクエリーのアラート

• 業界のベストプラクティスを内蔵

ニーズに合わせて成長• 最大100GBまでのトレーニングデータに対応

• 10億個の予測を生成

• バッチもしくはリアルタイムに予測を取得

Amazon MLにおける3種類の予測機能

Binary Classification(二項分類): Yes/No質問に対する予測

- この注文は詐欺ではないか?

- このお客さまは購入されるか?

- 次にどちらの品物をお奨めすべきか?

Multi-class classification(多項分類): リストから正しいカテゴリーを予測

- この映画はどのジャンル?

- このお客さまとのコンタクトのおおもとは何?

Regression(回帰分析): 値を予測

- 来週このアイテムは何個売れるのか?

- このユーザセッションは、あとどれくらい続くのか?

Amazon MLを利用したスマートアプリケーションの構築

1.対象となるデータをAmazon S3、Amazon Redshift、またはRDSへ格納

2. Amazon MLで提供されるウィザードを使って:1.Amazn MLにデータソースを作成2.モデルを作成3.モデルを評価4.必要に応じて繰り返し(モデル再作成)

3.作成したモデルを使って予測を実行1.Amazon MLを用いたバッチ予測2.SDKを用いたリアルタイム予測

Amazon Machine Learning APIs

データソースを作成する

>>> import boto

>>> ml = boto.connect_machinelearning()

>>> ds = ml.create_data_source_from_s3(

data_source_id = ’my_datasource',

data_spec= {

'DataLocationS3':'s3://bucket/input/',

'DataSchemaLocationS3':'s3://bucket/input/.schema'},

compute_statistics = True)

データを調査し、理解する

モデルをトレーニング(学習)する

>>> import boto

>>> ml = boto.connect_machinelearning()

>>> model = ml.create_ml_model(

ml_model_id=’my_model',

ml_model_type='REGRESSION',

training_data_source_id='my_datasource')

モデルを評価する

モデルの解釈を調整する

バッチ予測

非同期、巨大なボリュームに対しての予測生成

サーバコンソールもしくはAPIからリクエスト

データソースをバッチで取得するアプリケーションに適している

>>> import boto

>>> ml = boto.connect_machinelearning()

>>> model = ml.create_batch_prediction(

batch_prediction_id = 'my_batch_prediction’

batch_prediction_data_source_id = ’my_datasource’

ml_model_id = ’my_model',

output_uri = 's3://examplebucket/output/’)

リアルタイム予測

同期、短い遅延、高いスループットで予測を生成

サービスAPI、サーバ、モバイルSDKからリクエスト

個別のデータレコードに対して、インタラクション処理を実行するアプリケーションに適している

>>> import boto

>>> ml = boto.connect_machinelearning()

>>> ml.predict(

ml_model_id=’my_model',

predict_endpoint=’example_endpoint’,

record={’key1':’value1’, ’key2':’value2’})

{

'Prediction': {

'predictedValue': 13.284348,

'details': {

'Algorithm': 'SGD',

'PredictiveModelType': 'REGRESSION’

}

}

}

スマートアプリケーションのためのアーキテクチャパターン

EMRを使用したバッチ予測

Amazon ML batch APIで予測をクエリーするEMRで処理

S3にある生データ 集計済データをS3に 予測データをS3に

アプリケーション

Amazon Redshiftを使ったバッチ予測

Amazon Redshiftに構造化データ

Amazon Redshiftに予測データをLOAD

-もしくは-S3から直接、

予測データを読み取り

S3上の予測データ

Amazon ML batch APIで予測をクエリーする

アプリケーション

インタラクティブアプリケーション用のリアルタイム予測

アプリケーション

Amazon ML Real-Time APIで予測をクエリーする

既存データフローに予測を追加する

アプリケーションAmazon

DynamoDB

AmazonML

+

Lambdaでイベントトリガー+

Amazon ML Real-Time APIで予測をクエリーする

AmazonLambda

Try Amazon Machine Learning ataws.amazon.com/machine-

learning

Learn more at the AWS Big Data Blog

Danny Lange

General Manager, Amazon Machine Learning

top related