Databricks Machine Learningのご紹介：データネイティブ、コラボレーティブなフルMLライフサイクルソリューション

[Introducing Databricks Machine Learning: a Data\-native, Collaborative, Full ML Lifecycle Solution \- The Databricks Blog](https://databricks.com/blog/2021/05/27/introducing-databricks-machine-learning-a-data-native-collaborative-full-ml-lifecycle-solution.html)の翻訳です。

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

本日我々は、データネイティブ、コラボレーティブ、全体のMLライフサイクルをサポートする史上初のエンタープライズMLソリューション、[Databricks Machine Learning](http://databricks.com/ml)を発表しました。このローンチにおいては、Databricksの既存のマネージドMLflow、新たなコンポーネントであるAutoML、Feature Storeを統合した機械学習(ML)に特化した新たなポータルを提供します。Databricks MLは、あらゆる種類の大規模データをサポートし、好きなMLフレームワークによるMLトレーニングを可能にし、大規模バッチスコアリングから低レーテンシーのオンラインサービングまで対応し、モデルデプロイメントのライフサイクルを管理することで、全てのMLライフサイクルに対するソリューションを提供します。
![](https://databricks.com/wp-content/uploads/2021/05/ML-Platform-Image-1024x502.jpg)

# AIの難点はデータです

MLにおける大きな課題を無視している多くのMLプラットフォームでは不十分です。それらのプラットフォームは、トレーニングに利用可能な高品質なデータが準備されていることを想定しています。このため、データチームはデータ処理には長けているがAIには適していないソリューションと、AIには長けているがデータ処理には適していないツールを組み合わせる必要があります。物事をさらに複雑にしているのは、データプラットフォームとパイプラインに責任を持つ人々(データエンジニア)は、MLモデルをトレーニングする人々(データサイエンティスト)、プロダクションアプリケーションをデプロイする人々(ビジネスアプリケーションを有するエンジニアリングチーム)と違うということです。結果として、MLソリューションは、データ、AI、必要となるツール、関係する人々の間のギャップを埋める必要があるのです。

# それに対する回答は、フルMLライフサイクルに対する、データネイティブ、コラボレーティブなソリューションです

**データネイティブ**

MLモデルはデータとコードを機械学習モデルに"コンパイル"した結果です。しかし、ソフトウェア開発に用いられる既存ツールは、データとコードの相互依存性を取り扱うには適していません。Databricks MLは、オープンなデータレイクハウス基盤の上に構築されている、史上初のデータネイティブなMLソリューションなのです。Databricks MLは以下の機能を提供します。

- **あらゆるデータソース、あらゆる規模、あらゆるタイプのデータ:** [機械学習ランタイム](https://docs.databricks.com/runtime/mlruntime.html)を用いることで、ユーザーは、画像、音声、動画、表形式、CSVファイルからIoTセンサーデータからの数テラバイトのストリーミングなどのあらゆるデータ形式を投入し処理することができます。オープンソースのコネクターエコシステムによって、あらゆるデータソース、クラウド、オンプレミス、IoTセンサーからデータを投入することができます。
- **ビルトインのデータのバージョン管理、リネージュ、ガバナンス:** Delta Lakeの[タイムトラベル](https://databricks.com/blog/2019/02/04/introducing-delta-time-travel-for-large-scale-data-lakes.html)機能によって、Databricks MLはモデルのトレーニングに使われたデータバージョンを自動的に追跡します。MLflowによって記録された他のリネージュ情報と組み合わせることで、頑健性のあるMLパイプラインを実現するエンドツーエンドのガバナンスを提供します。

**コラボレーティブ**

MLモデルを完全な本格運用に移行するためには、データエンジニア、データサイエンティスト、アプリケーションエンジニアの貢献が不可欠です。Databricks MLは、関係者のワークフローをDatabricksでサポートし、引き渡しの際に用いられるビルトインプロセスを提供することで、関係者間のコラボレーションを容易にします。コラボレーションの機能には以下のものが含まれます。

- **マルチ言語対応のノートブック:** Databricksノートブックでは、同じノートブックの中でPython、SQL、R、Scalaを利用できます。これによって、異なる言語を好むそれぞれのエンジニアのコラボレーション、異なる言語を組み合わせることができる柔軟性を実現します。
- **クラウドネイティブなコラボレーション機能:** Databricksノートブックは共有可能であり、リアルタイムで共同作業を行うことができます。ユーザはリアルタイムで誰がノートブックにアクセスしているのかを確認でき、他の人の変更をリアルタイムで確認することができます。ビルトインのコメント機能によって、コラボレーションを促進します。
- **モデルライフサイクル管理:** モデルレジストリはチームがMLモデルを共有できるコラボレーションハブであり、実験からオンラインでのテスト、実運用までの全てでコラボレーションが可能です。承認フローと連携し、MLのデプロイ、パフォーマンスを監視できます。
- **共有、アクセス管理:** セキュアなコラボレーションを行うためにDatabricksは、あらゆるオブジェクト(ノートブック、エクスペリメント、モデルなど)に対するきめ細かいアクセス制御を提供します。

**フルMLライフサイクル**

MLOpsはDataOps、DevOps、ModelOpsの組み合わせです。MLOpsを適切に行うためには、幅広いツールエコシステムを統合する必要があります。Databricks MLはフルMLライフサイクルと真のMLOpsをサポートするためにユニークなアプローチをとっています。
![](https://databricks.com/wp-content/uploads/2021/05/databricks-ml-img-2-1024x300.png)

- **DataOps:** データネイティブな特性を活かすことで、Databricks MLはビルトインのデータバージョン管理、ガバナンスを提供する唯一のMLプラットフォームとなっています。Databricks上で行われるすべてのMLモデルのトレーニングにおいては、使用されたデータのバージョンが記録されます。
- **DevOps:** Databricks MLはRepos機能を通じて、Gitプロバイダーと連携できます。これにより、データチームはベストプラクティスに従って、CI/CDシステムと連携することが可能になります。
- **ModelOps:** マネージドMLflowによって、Databricks MLはモデルおよび関連するパラメーター、メトリクスの追跡、デプロイメントライフサイクルの管理、あらゆるモード(バッチからオンラインスコアリング)でのあらゆるプラットフォーム(AWS、Azure、GCP、オンプレミス、オンデバイス)へのデプロイといった機能を利用できます。
- **完全な再現性:** 全体のMLライフサイクルに対してきちんと統合されたソリューションを提供することで、Databricks MLにおける作業においては、完全に再現性が保たれることになります。データ、パラメーター、メトリクス、モデル、コード、計算資源の設定、ライブラリのバージョンは追跡され、いつでも再現することができます。

**新たなペルソナベースのナビゲーション、機械学習ダッシュボード**

Databricksにおける完全なMLライフサイクルをシンプルにするために、新たなペルソナベースのナビゲーションを導入します。Machine Learningが新たなオプションとなり、Data Science & Engineering、SQLとともに選択可能です。Machine Learningを選択することで、ユーザはMLモデルをトレーニング、管理、デプロイするためのツール、機能にアクセスすることができます。また我々は新たなMLランディングページを提供し、ここでは最近アクセスしたMLのアセット(例：モデル、特徴量、エクスペリメント)とMLに関連するリソースを参照することができます。
![](https://databricks.com/wp-content/uploads/2021/05/databricks-ml-img-3.gif)

**Feature StoreとAutoMLのご紹介**

Databricks Machine Learningに追加された新機能はデータネィティブ、コラボレーティブプラットフォームの特性をさらに強化するものです。

**Feature Store**

Feature Storeは、データとMLOpsプラットフォームと共同設計された史上初のフィーチャーストアです。集中管理された特徴量レジストリによって特徴量の再利用を促進し、特徴量に対するオフラインアクセス、オンラインアクセスを可能にすることで、オンライン(モデルサービング)/オフライン(トレーニング、バッチスコアリング)の偏りのリスクを低減します。
![](https://databricks.com/wp-content/uploads/2021/05/databricks-ml-img-4-1024x479.png)

- **エンドツーエンドのリネージュとリネージュベースの検索**を実現するために、Feature Registryは全ての特徴量テーブル、特徴量テーブルを作成したコード、特徴量計算に用いられたソースデータ、特徴量の利用者(例：モデル、エンドポイント)を追跡します。これにより、生データから、生データに基づき計算された特徴量テーブル、特徴量テーブルを利用したモデルに至る完全なリネージュを提供します。
- **トレーニングとサービングの特徴量の一貫性を保ち、オフライン/オンラインの偏りを排除**するために、特徴量プロバイダーは高いスループットと低いレーテンシーで特徴量を提供します。特徴量プロバイダーはMLflowと統合されており、モデルデプロイメントのプロセスをシンプルにします。MLflowモデルフォーマットは、モデルがFeature Storeからどの特徴量を使用したのかに関する情報を格納し、デプロイメントの際にモデルは特徴量検索を行うので、モデルを呼び出すクライアントアプリケーションはフィーチャーストアを気にする必要がありません。

Feature Storeの詳細に関しては、Feature Storeローンチに関する[ブログ記事](https://qiita.com/taka_yayoi/items/3772150dd3557272f61d)をご覧ください。

**AutoML**

我々のAutoMLでは、データサイエンティスト初心者が推奨されたモデルをデプロイするためのUIベースのワークフローを提供するガラスボックスアプローチを採用しています。AutoMLは、データサイエンティストが自身で同じモデルを開発するさいに記述するであろうトレーニングのコードを生成します。この透明性は、厳しい規制のある環境や専門家とのコラボレーションにおいて重要な意味を持ちます。
![](https://databricks.com/wp-content/uploads/2021/05/databricks-ml-img-5-1024x565.jpg)

- 厳しい規制のある環境においては、**監査可能性と再現性**は厳しい要件となります。多くのAutoML製品は不透明なボックスであり、モデルのアーティファクトのみを提供するだけです。どのようなタイプのモデルがトレーニングされたのかを明らかにすべきであるという規制の要件に対応するのが困難です。Databricks AutoMLはトレーニングコードの完全なPythonノートブックを生成するので、規制元に対して完全な透明性を保つことが可能です。
- **データサイエンスの専門家とのコラボレーション**においては、生成されたコードがドメインの専門性を用いたモデル調整の開始地点となります。実際には、AutoMLはベースラインとして用いられ、モデルの有効性が見えてきたら、専門家が改善することができます。

AutoMLの詳細に関しては、AutoMLローンチの[ブログ記事](https://qiita.com/taka_yayoi/items/3bf4f4e89990b299c6c9)を参照ください。

# 使い始めましょう

本日からDatabricksのお客様はDatabricks Machine Learningを利用できます。あらなペルソナスイッチでMachine Learningを選択するだけです。新たなナビゲーションバーでMLの全ての機能にアクセスできます。MLダッシュボードは適切なリソースへのナビゲーションを提供し、最近塩湯されたMLアーティファクトへのアクセスを適用します。詳細に関してはそれぞれのドキュメント([AWS](https://docs.databricks.com/applications/machine-learning/index.html)、[Azure](https://docs.microsoft.com/en-us/azure/databricks/applications/machine-learning/)、[GCP](https://docs.gcp.databricks.com/applications/machine-learning/index.html))を参照ください。

Databricks Machine Learningの新機能に関しては、直接[Data + AIサミット(無料)](https://dbricks.co/2TmsWrs)で確認できます。

### Databricks 無料トライアル

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