はじめに
SQLで機械学習モデルが作成できるAWSのサービス、RedshiftMLについてご紹介します。
この記事ではRedshiftMLの概要・どのようにして動いているのか?を紹介し、
AWS Redshift 活用術 ②では実際に触ってみた工程を紹介したいと思います。
概要・メリット
RedshiftMLとは、SQLから機械学習モデルを構築・利用・運用できるサービスです。
従来のAWS上の機械学習
これまで、データベースに格納してあるデータを用いて機械学習を行うには…
- 学習データをS3バケットにエクスポート
- Sagemakerノートブックインスタンスでモデルをトレーニング、予測をします
- 予測されたデータをデータベースにインポート
の手順が必要になり、機械学習を行う過程でSagemakerの扱いやプログラミング言語(PythonやR)のスキルが必要でした。
RedshiftMLでの機械学習
- RedshiftからSQLをたたく
- Amazon Sagemaker が実行され、起動・モデルが生成される
- 作成したモデルがS3バケットに保存される
RedshiftMLを使用すると、PythonなどのスキルがなくてもSQLコマンドだけで機械学習モデルが作成できるようになります。
Python、Rなどのプログラミング言語やSagemakerがよく分からないけど、SQLは知っているよ、という層も機械学習モデルが構築できるのが一番のメリットではないかと思います。
また、Amazon SageMaker Autopilot が裏で動いているので、
- 分類・回帰モデルを自動的に生成
- 特徴量エンジニアリング・モデルのチューニング
- XGBoost、線形学習器、深層学習アルゴリズムをサポート
なども行ってくれます。
さいごに
RedshiftMLの登場で、PythonやRはあまり詳しく知らないけど、SQLに精通しているデータベース開発者の方々が機械学習処理の構築に参入しやすくなったといえます。
AWS Redshift 活用術 ②では実際に触ってみた工程を紹介しているので、もしよかったらそちらも見てみてください。
参考URL
AWS公式ドキュメント:
Terms and concepts for Amazon Redshift ML – Amazon Redshift