DatabricksにおけるLLMOps

こちらのイベントで話した内容です。

https://machine-learning15minutes.connpass.com/event/297997/

資料のPDFはこちら。

https://sajpstorage.blob.core.windows.net/yayoi/LLMOps%20on%20Databricks%20-%20ML15min.pdf

今回の内容に関係するガバナンスのウェビナーを11月17日に開催します。講師は私です。

https://events.databricks.com/20231027-unitycatalog-jp

会社紹介。
![Screenshot 2023-10-28 at 15.40.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/7af65f94-3f58-15b5-c568-95c457c32429.png)

# MLOpsとは

MLOpsとは機械学習モデルライフサイクル全般を円滑にするために必要な体制・基盤・手法全般を意味します。

> MLOps(**M**achine **L**earning **Op**eration**s**)とは、データサイエンスチーム、運用チームなど、機械学習モデルの構築・運用に関わるチームが協調し、円滑に機械学習モデルを運用していくための体制・基盤を構築すること、その概念全般を意味します。

LLMOpsはこの考え方をLLMに拡張したものです。

> LLMOps(**L**arge **L**anguage **M**odel **Op**eration**s**)とは、データサイエンスチーム、運用チームなど、LLMの構築・運用に関わるチームが協調し、円滑にLLMを運用していくための体制・基盤を構築すること、その概念全般を意味します。

MLOpsはLLMで何が変わるのでしょうか？

| LLMの特性 | MLOpsの示唆 |
|:--|:--|
| 様々な形態でLLMを利用可能:<ul><li>課金API経由での一般的なプロプライエタリモデル、OSSモデル<li>すぐに利用できるオープンソースモデル<li>特定のアプリケーションにファインチューンされたカスタムモデル<li>カスタムの事前トレーニング済みモデル<ul>  |  **開発プロセス:**<ul><li>インクリメンタルな開発<li>APIからスタートしカスタムモデルへ<ul> |
| LLMは入力として自然言語のプロンプトを受け入れ:<ul><li>期待するレスポンスを得るためにプロンプトエンジニアリングが可能</ul>  | **開発プロセス:**<ul><li>LLMに問い合わせを行うテストテンプレートの設計が開発プロセスの重要な一部に</ul>**アーティファクトのパッケージング:**<ul><li>パッケージングされるアーティファクトとプロダクションにおけるプロンプトはモデルというよりパイプラインに</ul>  |
|  LLMにはサンプルやコンテキストを伴うプロンプトを指定可能 |  **サービングのインフラストラクチャ:**<ul><li>適切なコンテキストの検索に使用されるベクトルデータベースのような外部ツール</ul> |
| サードパーティのAPIプロバイダー経由でプロプライエタリモデルやOSSモデルを利用可能  | **APIガバナンス:**<ul><li>APIプロバイダーをスイッチできる選択可能性や柔軟性を持つために、APIガバナンスのための集中管理されたシステムを持つことが重要に</ul>  |
| LLMは非常に大きなディープラーニングモデルであり、多くの場合、数Gバイトから数百Gバイトに  |  **サービングのインフラストラクチャ:**<ul><li>LLMのサービングにはGPUが必要<li>モデルを動的にロードする必要がある場合には、高速なストレージが重要に</ul> |
| LLMにおいては、多くの場合、単一の「適切な」回答が存在しないため、従来のMLメトリクスを通じた評価が困難  | **人間のフィードバック:**<ul><li>LLMの評価、テストで必要になることが多い<li>将来的なファインチューニングのためには、テスト、モニタリングを含むMLOpsに直接組み込むことが重要に</ul>  |

これらの新たな要件に適合するために、多くの既存ツール、既存プロセスの修正は軽微です
- 開発、ステージング、プロダクションの分離は変わりません
- パイプラインやモデルをプロダクションに移行する際に、Gitのバージョン管理と[Unity CatalogにおけるMLflowモデルレジストリ](https://docs.databricks.com/ja/mlflow/models-in-uc.html)は依然として主要なパイプラインとなります。
- データ管理に対するレイクハウスアーキテクチャは、効率性のために依然として適切で重要です。
- 既存のCI/CDインフラストラクチャには変更はありません。
- モデルトレーニングのためのパイプライン、モデル推論のためのパイプラインなどを用いた、
- モジュール化されたMLOpsの構造は同じです。

![Screenshot 2023-10-28 at 15.49.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/750053f9-c9e8-e2e0-d025-d6c366b5ab7b.png)

# Lakehouse AI

AIライフサイクルにおけるサイロ化の課題はLLMでも同様です。データセットの準備からモデルの開発、アプリケーションのデプロイメントでシステムがサイロ化していると効率は上がらず、エラーが混入します。
![Screenshot 2023-10-28 at 15.49.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/0b817678-2092-f109-c7d2-74542aadd2de.png)

- モデル開発に必要なクリーンで信頼できるデータの取得が困難
- インテグレーション欠如による開発の遅延
- 完全なAIライフサイクルを制御、管理、追跡できないことによるリスクの増加

これらの課題を解決するために、我々はデータ中心アプローチのLakehouse AIを提供します。
![Screenshot 2023-10-28 at 15.52.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/d42976ef-07e4-55f0-8779-ce6114362d2a.png)

- データプラットフォーム(レイクハウス)上に構築
- 高速なデプロイメント
- ビルトインのガバナンスとモニタリング

# Lakehouse AIのコンポーネント

![Screenshot 2023-10-28 at 15.52.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/b36d560a-3580-1c39-857b-e0a89ebd6b4a.png)

## Unity Catalogにおける特徴量エンジニアリング

- 特徴量の効率的かつ高信頼な作成、管理、提供
- Unity Catalogのテーブルをトレーニングやサービングにおけるソースとして活用可能
- レイクハウスのDeltaテーブルに基づいて継続的に更新
- モデルサービングや外部エンドポイントを使用しているアプリにオンデマンドのサービング

## ベクトル検索(Vector Search)

- Unity Catalogのデータから自動更新されるベクトル検索インデックスの作成
- ビルトインのガバナンス、権限管理、リネージ
- フルマネージド、サーバレス、すぐに利用可能
- エンベディング生成においてMLflowやモデルサービングとインテグレーション

## MosaicML

- 大規模AIモデルのトレーニングを最大7倍高速、安価に
- 簡素化され、スケーラブルでコスト効率の高い大規模AIモデルのトレーニング 
- ご自身のセキュアな環境で自分のデータを用いて、自分の生成AIモデルをトレーニングあるいはファインチューニング
- モデルとデータプライバシーに対する完全なコントロール

## AutoML

- エンベディングのファインチューニングやモデル作成のためのローコードツール

![Screenshot 2023-10-28 at 15.55.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/8a94fd04-d672-7357-4d43-530433165f5b.png)

## MLflow

- エンドツーエンドのMLOpsとLLMOps
- 月間1,100万ダウンロードのMLOpsのスタンダード
- モデルの実験、追跡、評価、管理
- 権限管理やガバナンスを自動化するためのAI GatewayのようなLLMOpsの新機能

![Screenshot 2023-10-28 at 15.55.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1168882/7475cc0d-3a20-8445-dc0a-45dd914d6258.png)

# モデルサービング

- 最大10倍のレーテンシー削減、コスト削減を提供するモデルのリアルタイム推論
- 高可用性、低レーテンシー、ゼロまで自動スケールするサービング
- デプロイメントを自動化し、エラーを削減するための、自動特徴量検索、監視、統合ガバナンス
- 最大10倍のレーテンシー、コスト削減を実現するオープンソース生成AIモデルに最適化

# レイクハウスモニタリング

- インテリジェントなデータとモデルのモニタリング
- 数分でデータとモデルに対する完全な可視性を提供し、市場投入に要する時間とコストを削減
- データとモデルの異常をプロアクティブかつシンプルに検知
- 異常の根本原因を追跡することでシームレスにデバッグ


### Databricksクイックスタートガイド

[Databricksクイックスタートガイド](https://www.amazon.co.jp/dp/B09V1YXFVQ/)


### Databricks無料トライアル

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