注意
2022/4/18時点の記事です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
自動化された機械学習に対するガラスボックスアプローチを用いて、Databricks AutoMLはデータサイエンティストの初心者、エキスパートが自分のMLモデルを迅速にプロダクションに移行できるようにします
機械学習(ML)は様々な業界におけるイノベーションの中心となっており、新たな価値を追加し、コストを削減する新たな機会を生み出しています。同時にMLは難しいものであり、信頼性のあるMLモデルを構築し、デプロイするためには、膨大なスキルと時間を必要とします。Databricks AutoMLは、Databricks機械学習ランタイム10.4で正式提供(GA)となり、データセットに対して自動でモデルをトレーニングし、カスタマイズ可能なソースコードを生成し、MLプロジェクトに価値を提供するのに要する時間を劇的に削減します。自動化MLに対するこのガラスボックスアプローチは、MLエキスパートが再現、チューニング、改善するために、ベースラインモデルを作成するジャンプスタートする機会を提供しつつも、ローコード、ノーコードによるプロダクションへの現実的な道を提供します。
Databricks AutoMLは何をしてくれますか?
あなたのバックグラウンドがデータサイエンスであろうがなかろうが、AutoMLはクイックにプロダクションの機械学習に到達する助けになります。あなたが必要なのはトレーニングデータだけであり、AutoMLは残りを行います。AutoMLはトレーニングのためのデータを準備し、データ探索を実行し、複数のモデル候補をトレーニングし、それぞれのトレーニングに用いられたデータセットに仕立てられたソースコードを含むPythonノートブックを生成します。また、自動で分散ハイパーパラメーターチューニングを行い、すべてのエクスペリメントのアーティファクトと結果をMLflowに記録します。AutoMLをスタートするにはとんでもなく簡単であり、数百のお客様は今時点でも、様々な問題を解決するためにこのツールを活用しています。
例えば、Fableticsでは、顧客解約予測を行うためにデータの準備からモデルのデプロイメントにAutoMLを活用しています。電子ヘルスケアシステムのリーダーであるAllscriptsは、障害を予測することで自身のカスタマーサービスを改善するためにAutoMLを適用しています。両方のお客様においては、そのシンプルさだけでAutoMLを選択したのではなく、透明性とオープン性からAutoMLを選択しました。現在の市場にある多くの自動化機械学習ソリューションは内部に対する可視性を持たない不透明な箱となっていますが、Databricks AutoMLはモデルのソースコード、入力データのビジュアライゼーションとサマリー、特徴量の重要度、モデルの挙動に関する説明を含む編集可能なノートブックを生成します。
また、我々のお客様のユースケースではAutoMLの幅広い適合性を強調しています。Fableticsのデータサイエンティストチームは、チューニングし改善できるベースラインモデルをクイックに生成するためにAutoMLを活用しています。一方、Allscriptsでは、事前にデータサイエンスのバックグラウンドを持たない3人のカスタマーサクセスエンジニアが、数週間で分類モデルをトレーニングし、デプロイできるようになりました。両方のケースにおいて、この結果は印象的なものです。Fableticsは、(これまでは数日を要していましたが)30分でモデルを生成し、チューニングできるようになり、Allscriptsでは、彼らのAutoMLモデルをプロダクションに投入すると、彼らのカスタマーサービスのオペレーションでは劇的な改善が認められました。今では、AutoMLが両方の会社にとって新たなMLの取り組みのスタート地点となっており、彼らのデプロイメント処理は、Databricksレイクハウスに構築したマルチタスクワークフローの一部となっています。
AutoMLは正式提供(GA)になりました - どのようにスタートするのかを説明します
今やDatabricks AutoMLは正式提供(GA)となっています。 こちらでは、いくつかのクイックなステップでAutoMLをセットアップし実行できるのかを説明します。
ステップ1: データをレイクハウスに取り込みます
この例では、サーバーログに基づいて予測トラブルシューティングモデルを構築したいものとし、トレーニングデータを準備しているものとします。我々はノートブックでこれらの作業を行なっており、あなたはこのノートブックをインポートすることができ、数秒でこのデータをあなたのレイクハウスに取り込むことができます。
以下をクリックすると別タブで動画が再生されます
この例では、ネットワーク障害を起こす傾向が出るようにバイアスがかかったデータとノイズや相関のないデータをシミュレートする目的のランダムデータによって、500万行のネットワークログが生成されます。データの各行には、システムが最近障害を起こしたのか、そうでないのかを示す分類によってラベルが付与されています。
ステップ2: あなたのためにモデルをAutoMLに自動でトレーニングさせます
シンプルにデータをDatabricks AutoMLに流し込み、どのフィールドを予測したいのかを指定すると、AutoMLは提供されたデータにおいてベストなモデルを作成するために、数多くの異なるアプローチを用いてトレーニングとトラッキングを開始します。経験豊富なML実践者であっても、多くのモデルに対して自動で繰り返しを行い、結果のメトリクスを表出化させることで節約される時間の総量は相当なものです。
以下をクリックすると別タブで動画が再生されます
ステップ3: あなたの要件に最もフィットするモデルを選択し、最適化します
数分だけの時間で、AutoMLはいくつかのモデルをトレーニングし、モデルパフォーマンスの指標を出力します。この特定のデータセットにおいては、最もパフォーマンスが良かったのは決定木でしたが、ロジスティック回帰モデルも同様に良いパフォーマンスを示しました。両方のモデルは満足できるf1スコアを出しており、良く検証データにフィットしていることを示しています。しかし、これで全てではありません。AutoMLによって作成されたそれぞれのモデルは、データセットとモデル固有のカスタマイズ可能なソースコードノートブックとともに提供されます。これは、トレーニングしたモデルに可能性があることが確認された場合、必要とする閾値や使用に合致するように修正し始めるのが非常に簡単であるということです。
以下をクリックすると別タブで動画が再生されます
ステップ4: MLflowでデプロイします
ご自身のメトリクスの定義に従ってベストなモデルを選択し、MLflowのモデルレジストリに登録します。ここから、RESTエンドポイントとしてDatabricks上のMLflowモデルサービングを用いてモデルを提供することができます。
始める準備はできましたか?以下のリソースを活用してAutoMLにディープダイブしてみてください。
AutoMLの詳細を学びましょう
- 始めましょう!AutoMLのフリートライアルをチェックしてみてください。
- Databricks AutoMLのドキュメントにディープダイブしてください。
- こちらの紹介動画をチェックしてみてください: AutoML – A glass-box approach to automated machine learning
- 我々のお客様であるFableticsの素晴らしいユースケースをチェックしてみてください: Using AutoML to predict customer churn
- AutoMLによる時系列データの予測については、こちらのブログをチェックしてみてください。