Databricks AutoMLのサーバレス予測を試してみる

こちらのリリースです。

https://qiita.com/taka_yayoi/items/57923e2d159a65a22118#%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF-ai-%E3%83%A2%E3%83%87%E3%83%AB%E3%83%88%E3%83%AC%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0---%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%83%AC%E3%82%B9%E4%BA%88%E6%B8%AC-%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF-%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC

マニュアルはこちら。

https://docs.databricks.com/ja/machine-learning/train-model/serverless-forecasting.html

元々はクラシックコンピュートを使うAutoMLでしたが、時系列予測をサーバレスで行えるようになりました。

クラシックとサーバレスでは機能に違いがあるので、[こちら](https://docs.databricks.com/ja/machine-learning/train-model/serverless-forecasting.html#serverless-forecasting-vs-classic-compute-forecasting)でご確認ください。

サーバレスでは特徴量ストアとの連携は現時点ではサポートされていませんが、それ以外の対応アルゴリズムや日本の休日のサポート、モデルサービングとの連携など多くの面で機能が拡充されています。

ということで動かしてみます。例によってCOVID感染者数データを使います。

![Screenshot 2024-12-16 at 16.48.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/82a336ed-2ac3-9ce2-9b74-eda01c97b415.png)

サイドメニューから**エクスペリメント**にアクセスして、**予測**を開きます。

![Screenshot 2024-12-16 at 16.23.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/012f7783-7190-5be0-bf67-7373ebf094db.png)

項目が追加されており、UIもリニューアルされてますね。

![Screenshot 2024-12-16 at 16.23.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/9869d555-9245-b694-bf18-7e0a45948bfb.png)

Unity Catalogとの連携も進んでおり、以前はできなかったモデルの直接登録もサポートされています。

![Screenshot 2024-12-16 at 16.23.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/9820370d-dd8f-3c05-1261-50d40374d9d6.png)

アルゴリズムに`DeepAR`が追加されています。

![Screenshot 2024-12-16 at 16.23.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/e310e78a-b7ad-cc87-7bba-afce08cdbc8a.png)

あと、国ごとの休日も選べるようになっています。以前はUSの休日しかサポートされていなかったので嬉しい。

![Screenshot 2024-12-16 at 16.24.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/bcbdc649-d565-59ef-086f-2ad623b1422d.png)

トレーニングをスタートすると、マシンのセットアップが始まります。

![Screenshot 2024-12-16 at 16.24.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/dbb81a41-343e-6a67-035d-6113f1a7aa52.png)

トレーニングが始まるとモデルが記録されていきます。

![Screenshot 2024-12-16 at 20.13.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/9ee234a7-e91b-75fb-537a-76efa2b5662d.png)

ちなみに、背後ではサーバレスジョブが作成されて実行されています。

![Screenshot 2024-12-16 at 20.55.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/41e0c227-1231-b307-e23a-22fff0cfd532.png)

完了しました。サービングエンドポイントの作成や、推論ノートブックへのリンクボタンが表示されています。

![Screenshot 2024-12-16 at 20.27.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/bfbe40dd-70e6-56bd-f004-8bc2d510f89b.png)

予測結果が記録されています。

![Screenshot 2024-12-16 at 20.57.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/36f42887-813c-e05e-0e7a-b102ca21ea9b.png)

Unity Catalogにモデルが記録されています。

![Screenshot 2024-12-16 at 20.54.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/f3d5a688-0c28-56bb-c26c-075b75326f08.png)

予測結果を可視化します。

```sql
SELECT
  date_timestamp,
  yhat as Cases,
  Prefecture
FROM
  takaakiyayoi_catalog.japan_covid_analysis.forecast_predictions_1734346274629
ORDER BY
  Prefecture,
  date_timestamp
```

![visualization (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/fd89e180-9f75-75b1-d6a0-bccfaec05297.png)


予測に用いたデータと予測結果を`UNION`して可視化してみます。

```sql
SELECT
  date_timestamp,
  yhat as Cases,
  Prefecture
FROM
  takaakiyayoi_catalog.japan_covid_analysis.forecast_predictions_1734346274629
UNION
SELECT
  date_timestamp,
  Cases,
  Prefecture
FROM
  takaakiyayoi_catalog.japan_covid_analysis.covid_cases
WHERE date_timestamp >= '2023-05-01'
ORDER BY
  Prefecture,
  date_timestamp
```

元のデータは2023/5/8までとなっているので、それ以降が予測結果です。

![visualization.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/03191234-fc23-79f8-bebb-663691c0e272.png)

以前は予測結果がテーブルに格納されるところまででしたが、モデルの管理やデプロイまでもカバーされるようになりました。お手軽に時系列予測モデルをトレーニング、デプロイできますので、是非ご活用ください。

### はじめてのDatabricks

[はじめてのDatabricks](https://qiita.com/taka_yayoi/items/8dc72d083edb879a5e5d)

### Databricks無料トライアル

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