Databricks AutoMLのご紹介 : 機械学習開発の自動化に対するガラスボックスアプローチ

[Introducing Databricks AutoML: A Glass Box Approach to Automating Machine Learning Development \- The Databricks Blog](https://databricks.com/blog/2021/05/27/introducing-databricks-automl-a-glass-box-approach-to-automating-machine-learning-development.html)の翻訳です。

> [Data \+ AIサミット2021で発表されたDatabricksの新機能](https://qiita.com/taka_yayoi/items/d4111246048089588cc7)のコンテンツです。

前処理、特徴量エンジニアリング、モデルのトレーニング、チューニングと言った負荷の高い作業を自動化することで、機械学習モデルを迅速に構築、デプロイできるツール、[Databricks AutoML](https://docs.databricks.com/applications/machine-learning/automl.html)を本日発表しました。この機能のローンチによって、データチームは、データセットの選択、トレーニングの設定、モデルのデプロイまでをすべてUIを通じて行えるようになります。また、我々は、データサイエンティストが、それぞれのトレーニングに対応して生成されたソースコードを含むノートブックにアクセスすることでトレーニングをカスタマイズしたり、実運用に向けて専門家とコラボレーションできる先進的なエクスペリエンスを提供します。Databricks AutoMLは、自動的に実験におけるメトリクス、パラメーターを追跡する[MLflow](https://databricks.com/product/managed-mlflow)や、デプロイメントに向けてチームがモデルを登録しバージョン管理を行える[Databricksモデルレジストリ](https://databricks.com/product/mlflow-model-registry)を含むDatabricksの機械学習エコシステムと統合されています。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-1-1024x592.jpg)

# AutoMLに対するガラスボックスアプローチ

現在、多くの既存のAutoMLツールは不透明な箱となっています。すなわち、ユーザーはモデルがどのようにトレーニングされたかを知ることができません。これらのツールを使っているデータサイエンティストは、ドメイン特有の修正を行う際や、業界における規制の要求に応えるために監査を行う際に壁に突き当たることになります。このため、データチームはモデルをカスタマイズするために時間とリソースを投入することになり、本来得るべき生産性とは逆行するようなリバースエンジニアリングを行う羽目になります。

このような状況を受けて、我々は開発者の皆様がワークフローを拡張できるように、全てのトレーニングに対応するPythonノートブックを提供するガラスボックスのAutoMLアプローチであるDatabricks AutoMLを提供したのです。

データサイエンティストは、自身のドメイン知識を活用して生成されたノートブックに対してセルの修正、追加を容易に行えます。また、データサイエンティストは、定型文の記述をスキップして迅速にML開発に着手するために、Databricks AutoMLが生成したノートブックを活用することもできます。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-2-1024x714.jpg)

# データセットを素早く確認する

Databricks AutoMLは、モデルトレーニングとモデル選択に加えて、データセットの基本的な統計サマリーを得るための探索用ノートブックを生成します。多くの方が面倒と感じるデータ探索ステージを自動化することで、Databricks AutoMLはデータサイエンティストの時間を節約し、データセットがトレーニングに適しているかどうかを迅速に確認することができます。データ探索用ノートブックは、高いカーディナリティ、高い相関、ヌル値などの警告、変数の分布に関する情報をユーザーに提供するために[pandas profiling](https://github.com/pandas-profiling/pandas-profiling)を使用します。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-3-1024x566.png)

## MLのベストプラクティスを学ぶ

AutoMLのエクスペリエンスは、実験時にメトリクス、パラメーターを追跡するAPIである我々の[MLflow](https://databricks.com/product/managed-mlflow)と統合されています。また、データサエンスチームの生産性を改善するためのMLのベストプラクティスを活用しています。

- Experimentページから、データサイエンティストはトレーニングの実行結果を比較し、[Databricksモデルレジストリ](https://databricks.com/product/mlflow-model-registry)にモデルを登録し、[モデルサービング](https://docs.databricks.com/applications/mlflow/model-serving.html)を行うことが可能です。
- 生成されるノートブックにはトレーニングに用いられたコードが含まれます。コードには、データのロードから、テストセット・トレーニングセットの分割、ハイパーパラメーターのチューニング、説明可能性のための[SHAP](https://databricks.com/blog/2019/06/17/detecting-bias-with-shap.html)プロットまでが含まれます。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-4-1024x620.jpg)

# AutoMLパブリックプレビューの機能

Databricks AutoMLのパブリックプレビュー版では、(二値、マルチクラス)分類、回帰問題に対する[sklearn](https://scikit-learn.org/stable/)モデル、[xgboost](https://xgboost.readthedocs.io/en/latest/)モデルに対して並列トレーニングを行うことが可能です。数値、カテゴリー、タイムスタンプの特徴量をサポートしており、自動的にone-hotエンコーディング、null値の補完を行います。トレーニングされたモデルは、全てのデータ前処理が推論モデルでラッピングされるように、[sklearn pipelines](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html)となっています。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-5-1024x936.jpg)

加えて、Databricks AutoMLにはいくつかの高度なオプションがあります。多くのチームはAutoMLはすぐに答えを必要としますので、お客様が停止条件(タイムアウト時間、トレーニングの実行回数)を設定することで、どのくらいAutoMLのトレーニングを行うのかを制御することができます。モデルのパフォーマンスを評価するためのメトリクスを設定することも可能です。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-6-1024x518.jpg)

# パブリックプレビューのDatabricks AutoMLを使い始める

Databricks AutoMLはパブリックプレビューで利用可能であり、Databricksの機械学習エクスプリエンスの一部として利用できます。利用を開始するには以下の手順を踏みます。

- UIの左側にあるサイドバーから"Machine Learning"を選択して、Databricks AutoMLにアクセスします。左のナビゲーションバーから"(+) Create"をクリックして"AutoML Experiment"をクリックするか、Experimentページで"Create AutoML Experiment"をクリックします。
- [ドキュメント](https://docs.databricks.com/applications/machine-learning/automl.html)にあるAutoML APIを使用します。
![](https://databricks.com/wp-content/uploads/2021/05/automl-blog-img-7-1024x537.jpg)

Databricks AutoMLをトライする準備はできましたか？Databricks AutoMLの詳細に関しては、[AWS](https://docs.databricks.com/applications/machine-learning/automl.html)、[Azure](https://docs.microsoft.com/azure/databricks/applications/machine-learning/automl)、[GCP](https://docs.gcp.databricks.com/applications/machine-learning/automl.html)のドキュメントを参照ください。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)