Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Databricks勉強会資料

Azure Databricks勉強会資料

Azure Databricksと銘打っていますが、他のクラウドでも適用できます。サンプルノートブックも含めているのでご自身で試すことも可能です。

初学者向け
・データ分析とは何か?
・Databricksの良いところ
・Azure Databricksアップデート
・Azure DatabricksにおけるAIアシスタントの活用(ハンズオンあり)
・Azure Databricksで始めるデータ分析(ハンズオンあり)

解析経験者向け
・MLflowとMLのパフォーマンス管理
・Azure DatabricksにおけるLLMの活用
・Apache SparkとDelta Lake

Takaaki Yayoi

May 29, 2024
Tweet

More Decks by Takaaki Yayoi

Other Decks in Technology

Transcript

  1. ©2024 Databricks Inc. — All rights reserved Azure Databricks のご紹介

    2024/5/29 Databricksとは何か? 生成AIの活用と開発を促進する データインテリジェンスプラットフォーム
  2. ©2023 Databricks Inc. — All rights reserved 自己紹介 弥生 隆明

    (やよい たかあき) Databricks アカウントSA部 部長 ▪ 2020年からデータブリックス ジャパンにお いて、プレセールス、POCに従事 ▪ 前職はコンサルティングファーム、 総合電機メーカーにてデータ分析・Web サービス構築などに従事。 インド赴任経験あり。 ▪ Qiitaでいろいろ書いています。 2 @taka_aki
  3. ©2024 Databricks Inc. — All rights reserved Learning Spark 2nd

    Editionの翻訳 + αの内容となっています! Apache Spark徹底入門 本書は、ビッグデータを主な対象としたデータ分析フレームワークである Apache Spark、MLflow、Delta Lake の中級入門書です。「動かしてみる」だけではなく、どのような仕組みになっているのか、 どうすれば効率的な実装が行えるかまで踏み込みつつ、データ AIの実装者がApache Spark、MLflow およびDelta Lakeを使いこなすための解説を行います。 • Python、SQL、Scala、またはJavaの高レベルの構造化 APIの学習 • Spark の操作とSQLエンジンの理解 • Spark 構成とSpark UIを使用したSpark操作の検査、調整、デバッグ • JSON、Parquet、CSV、Avro、ORC、Hive、S3、またはKafkaといったデータソース への接続 • 構造化ストリーミングを使用してバッチ データとストリーミング データの 分析を実施 • オープンソースのDelta LakeとSparkを使用して信頼性の高いデータ パイプラインを構築 • MLlibを使用する機械学習パイプラインの開発、 MLflowを使用するモデルの 管理、本番化 • [日本語版オリジナルコンテンツ ]pandas dataframe、spark dataframeに関する各 種データフレームの使い分け • [日本語版オリジナルコンテンツ ]LLMやEnglish SDK for SparkなどAIを活用 した新たなコーディングスタイル、 LLMの利用方法の実践
  4. ©2024 Databricks Inc. — All rights reserved スケジュール # 時間枠

    テーマ 説明 対象者 1 13:00-13:30 データ分析とは何か? データ分析とはどのようなもので、Databricksが どのように役立つのかをご説明します。 初学者 2 13:30-14:00 Azure Databricksアップデート ここ最近のAzure Databricksのアップデートを説 明し、Q&Aを行います。 3 14:00-14:30 Azure Databricksにおける AIアシスタントの活用 AIアシスタントの活用方法をハンズオンで 学びます。 4 14:30-15:00 Azure Databricksで始める データ分析 Pandasを用いたデータの加工、可視化を ハンズオンで学びます。 5 15:00-16:30 MLflowとMLのパフォーマンス 管理 MLflowの概要を説明し、Q&Aを行います 解析経験者 6 16:30-17:00 Azure DatabricksにおけるLLMの 活用 Azure DatabricksにおけるLLM活用について 説明し、Q&Aを行います。 7 17:00-17:30 Apache SparkとDelta Lake Apache SparkとDelta Lakeについて説明し、 Q&Aを行います。
  5. ©2024 Databricks Inc. — All rights reserved データ分析とは何か? • データ分析はビジネス上の課題を解決

    するための手段の 1 つです。 • データ分析においては、ビジネス洞察を得 るためにデータの加工、集計を行い ます。得られた洞察をアクションに 繋げることで収益の改善、コスト削減 などのビジネス価値を生み出すことが 目的となります。 • データ分析というと機械学習モデルが 脚光を浴びがちですが、それはデータをビ ジネス価値につなげる長い道のりの ほんの一部です。 Databricks を活用した データ分析によるビジネス価値の創出
  6. ©2024 Databricks Inc. — All rights reserved データ分析の(終わり無き)長いプロセス 1. ビジネス課題の特定

    2. データ分析における仮説の立案 3. データ分析アプローチの検討 4. データソースの調査、分析データの入手 5. 分析データの読み込み 6. 探索的データ分析(EDA: Exploratory Data Analysis) 7. 分析データの前処理 8. 分析アルゴリズムの検討 9. 分析パイプラインのレビュー 10. モデルの構築 11. モデルの評価 12. モデルのチューニング 13. モデルのデプロイ 14. 精度・性能のモニタリング 今回はステップ1から6にフォーカスします。
  7. ©2024 Databricks Inc. — All rights reserved ステップ 1〜4:ヒアリングやディスカッション •

    ステップ 1:ビジネス課題の特定 あるマーケティング担当者の悩み:「マーケティングを効率的に進めるために、年収の高いお客様を簡単に特定できないだろう か?」 ビジネス課題: 富裕層を特定することによるマーケティングの効率化 • ステップ 2:データ分析における仮説の立案 あるデータサイエンティストの思い:「デモグラフィック情報から収入を予測できれば、ユーザー情報登録時に年収を 予測できるのではないか?」 データ分析における仮説:デモグラフィック情報から年収を予測できる いきなりデータ分析を始めるプロジェクトはまず存在しません。データ分析には必ずビジネスに つながる目的があるべきです。 ¥ ¥¥ ¥¥¥ ¥ ¥¥¥ 居住地 学歴 職業 居住地 学歴 職業
  8. ©2024 Databricks Inc. — All rights reserved ステップ 1〜4:ヒアリングやディスカッション •

    ステップ 3:データ分析アプローチの検討 マーケティング担当者とデータサイエンティストの議論:「具体的な年収を予測するのではなく、年収が一定額以上か 未満かを識別するだけで十分ではないか」 データ分析アプローチ:年収が 5 万ドル以上か否かを分類する二値分類問題に取り組む • ステップ 4:データソースの調査、分析データの入手 データサイエンティストと DWH 担当者の会話:「過去に蓄積したデモグラフィック情報と年収情報は利用できそうだ」 分析データ: 過去に蓄積したデモグラフィック情報、年収情報 いきなりデータ分析を始めるプロジェクトはまず存在しません。データ分析には必ずビジネスに つながる目的があるべきです。 5万ドル以下 5万ドル超え 居住地 学歴 職業 居住地 学歴 職業 ユーザーID 居住地 学歴 職業 年収 1 AA 大学 会社員 xxxxx 2 BB 大学院 会社員 xxxxx 3 BB 大学 会社役員 xxxxx
  9. ©2024 Databricks Inc. — All rights reserved ステップ 5:データの読み込み 前のステップで特定したデータを分析環境に読み込みます。分析データはファイル、データベースに格納されているテーブル、スト

    リーミングデータであったりします。 ファイルである場合、CSVファイル、JSONファイル、Parquetファイル、Deltaファイルなど様々なフォーマットが 存在するので、それらに合わせた読み込み手順が必要となります。 • CSVファイル:カンマ区切りの表形式のデータ • JSONファイル:入れ子構造を表現できるデータ形式 • Parquet/Deltaファイル:大規模データを高速に処理できる列指向データフォーマット、 DeltaはDatabricksの デフォルトフォーマットです。 また、読み込むデータは、数値、テキスト、画像、音声など様々な 形式となるので、それらに合わせたデータの加工が必要となりま す。 • 数値:計算処理、集計処理 • テキスト:文字列操作、形態素解析など • 画像:白黒処理、サイズ圧縮など このセッションでは、以降のステップを人気のプログラミング言語 Pythonとデータ分析ライブラリPandasを用いて 実施していきます。 探索的データ分析( EDA)のステップと方法について実データ ×Pythonで理解しよう!|スタビジ
  10. ©2024 Databricks Inc. — All rights reserved ステップ 6:探索的データ分析 (EDA:

    Exploratory Data Analysis) データを理解するための EDA は非常に重要です。EDA を通じて取り扱うデータの素性を理解することで、以降のデータ分析での手戻り を減らすことができます。 • どこにどんなデータがあるか確認する • データの質と量を大まかに把握する • 各種統計量を把握する • 相関関係を確認する • 欠損値を把握する • 外れ値を把握する • 集計やドリルダウンを通してデータを可視化する 探索的データ分析( EDA)のステップと方法について実データ ×Pythonで理解しよう!|スタビジ
  11. ©2024 Databricks Inc. — All rights reserved Databricksの良いところ • 探索的データ分析(EDA)、ETL、機械学習モデル構築、モデル配備、BIまでを

    一つのプラットフォームで実行できます • インフラ管理が簡単です。すぐに分析環境を準備できます。 • データベースのインストールが不要です • リモートワークでのコラボレーションが簡単です • ノートブックのバージョンが自動で管理されます • プログラミング言語を柔軟に切り替えることが できます • データを簡単に可視化できます • 大量データを高速に処理できます Databricksの良いところ(Jupyter notebookとの比較) #Databricks - Qiita
  12. ©2024 Databricks Inc. — All rights reserved インフラ管理が簡単 • インフラ管理が簡単です。すぐに分析環境を準備できます。

    • GUIから簡単に計算資源(クラスター)を準備できます。 • 大量データを取り扱うケースでも必要なスペックの計算資源を柔軟に作成できます。 • クラスターはオートスケーリング するのでコストを最適化できます。 • クラスターにはPython/Pandas などがプレインストールされて いますので追加の設定は不要です。 • ライブラリを追加することも できます。
  13. ©2024 Databricks Inc. — All rights reserved ノートブックを通じたコラボレーション • コラボレーション機能(同時参照/同時編集/コメント)を活用することで、他の方との連

    携が容易になります。 • ノートブックは自動でバージョン 管理されるので、容易に前の状態 に戻すことができます。 • アクセス権を設定することが できます。 • Python/SQL/R/Scalaといった 複数の言語を活用できます。
  14. ©2024 Databricks Inc. — All rights reserved ネイティブのGit連携 DatabricksでGit操作を行うことで迅速にコードをデプロイ UIベースのGit操作

    UIベースのGit操作を通じてデータチームでベ ストプラクティスを活用 Gitワークフローの自動化 著名なCI/CDツールとの連携を通じてワーク ロードを自動化するAPI エンタープライズにおけるGit デプロイメント プライベートネットワークのエンタープライズGit のサポート
  15. ©2024 Databricks Inc. — All rights reserved Jupyter Notebookとの違い Jupyter

    Notebook Databricks 計算リソース Juypter Notebookが稼働しているラップトップ、サー バーのリソースに制限を受けます。多くの場合、 pandas の利用が前提となるのでメモリーの制約を受けます。 クラウドプロバイダー(AWS/Azure/GCP)が提供する リソースを理論上無制限に活用できます。 pandasに 加えてSparkも活用できるので、並列処理による恩恵を 享受することができます。 コラボレーション ラップトップで動作している Jupyter Notebookでの他 のユーザーとのコラボレーションは限定的であり、 JupyterHubを用いたとしてもその機能は限定的です。 複数ユーザーによるコラボレーションを前提としており、ノート ブックやデータに対するアクセス制御や ノートブックの同時参照、同時編集をサポートして います。 ガバナンス ラップトップで動作している Jupyter Notebookでは、個 人のデータサイエンティストによる管理しか行えず、企業 全体でのデータやコード、機械学習モデルの管理を統一 することができません。 MLOpsを前提としており、データ、コード、機械学習 モデルは全てUnity Catalogによって管理されます。 本格運用(Production) ラップトップ上で実験的にPythonを実行するには適して ますが、本格運用するためにジョブを組むには別のシス テムが必要となります。 Databricksにはワークフローの機能が搭載されているので、 実験・テストを経たロジックを簡単に本格運用に 移行することができます。また、 さまざまなAPIを公開 しているので、他のシステムとの連携も容易です。
  16. ©2024 Databricks Inc. — All rights reserved Unity Catalog アクセス制御

    リネージ データ共有 モニタリング 検索 監査 テーブル ファイル ダッシュボード/ ノートブック 他のデータ システム ユーザー アプリ モデル オープンAPI においては、統合されたガバナンス、セ キュリティ、コラボレーションが 基盤となります Databricks Unity Catalog データインテリジェンスプ ラットフォーム
  17. ©2024 Databricks Inc. — All rights reserved リネージ リアルタイムで自動生成されるデータとAI資産に対する カラムレベルのリネージ

    システムテーブル経由でのプログラムによるアクセスによって、インパクト分析 のようなキーユースケースを促進 Unity Catalog アクセス 制御 リネージ データ共有 モニタ リング 検索 監査 すべての言語と製品界面で捕捉。ジョブ、DLT、ノートブック、ML、 DBSQL…
  18. ©2024 Databricks Inc. — All rights reserved レイクハウス フェデレーション 外部データソースに対するガバナンス

    すべてのソースにわたるデータ アクセス、 きめ細かいアクセス制御、リネージおよび監査 • MySQL • PostgreSQL • Amazon Redshift • Snowflake • Microsoft SQL Server • Azure Synapse (SQL Data Warehouse) • Google BigQuery
  19. ©2024 Databricks Inc. — All rights reserved Databricksワークフロー - ワークフロージョブ

    32 ▪ これは何? DAG(有効非巡回グラフ)による容易なコードの 作成、スケジュール、オーケストレーション ▪ キーとなる機能 ▪ シンプルさ: UIでの容易な作成とモニタリング ▪ ワークロードに合わせた多数のタスク タイプ ▪ Databricksに完全にインテグレーションされてお り、結果の調査とデバッグを迅速に ▪ 立証されたDatabricksスケジューラの信頼性 ▪ 容易にステータスをモニタリングする 観測可能性 ワーク フロー ジョブ タスクの DAG
  20. ©2024 Databricks Inc. — All rights reserved Genieデータルーム 33 •

    ビジネスユーザー向けの自然言語に よるAI支援検索 • AIが生成する検索提案、パーソナライズさ れた回答 • ボタンのクリックでデータをチャート可視化 • DatabricksのSQLウェアハウスが アクセスするデータで強化 • パブリックプレビュー中
  21. ©2024 Databricks Inc. — All rights reserved Databricks SQLサーバレス 優れた生産性:

    待ち時間を削減 することでより多 くのことを • より高速なウェアハウ スの起動 • 高速なオート スケーリング • アイドル状態の コスト削減 優れた セキュリティ: 複数レイヤーの 分離 セキュリティ分離 レイヤーを実装する ことでお客様の セキュリティを維持 優れた信頼性: 価値を生まないク ラウドタスクを排 除 • キャパシティ プランニング • ネットワーク設定 • etc. 多くの機能: サーバレスに 最適化された 機能 • マテリアライズド ビュー • キャッシュ • etc. シンプルかつ即時に利用できるマネージドな計算資源
  22. ノートブックのセルに以下を記入し、セルが選択されている状態にします。 53 Databricksアシスタントへ問い合わせ セルが選択されている状態でアシスタントに以下の問い合わせを行います。 import pandas as pd # テーブル

    "samples.nyctaxi.trips" からデータを読み込む df = spark.read.table("samples.nyctaxi.trips") PySpark DataFrameをPandas DataFrameに変換し、fare_amount列に基づい てdfから最も高価な10件のトリップを選択して表示するためのPandasコードを生成し てください。
  23. • できるだけ具体的に指示してください。テーブルを指定し、データがどのような ものであるかを示す例を提供してください。 • Databricks アシスタントは、テーブルと列のスキーマとメタデータを認識しま す。これにより、自然言語を使用して非常に正確なクエリーを生成することが できます。たとえば、テーブルに列 userID と

    State がある場合、Databricks アシスタントにワシントンに住むユーザーのリストを生成するよう依頼できま す。 • Databricks アシスタントはテーブルと列のメタデータにのみアクセスでき、行 レベルのデータにはアクセスできません。そのため、実際のデータがユニーク な形式をしている場合、クエリーを正しく記述できない場合があります。 • Databricks アシスタントは会話の履歴を考慮するため、会話を進めながら質 問を改善していくことができます。 57 アシスタントに問い合わせる際の注意点 https://docs.databricks.com/ja/notebooks/databricks-assistant-faq.html
  24. ML コード 設定 データ収集 データ 検証 特徴量抽出 マシン リソース管理 分析ツール

    プロセス 管理ツール サービング インフラストラク チャ モニタリング Hidden Technical Debt in Machine Learning Systems - Google NIPS 2015 中央の緑の箱に示すように、MLコードは現実世界のMLシステムのほんの一部です。必要となる周辺の インフラストラクチャは広大で複雑です。 MLでもっと困難なのはMLではなくデータです
  25. MLライフサイクルは手動で一貫性 がなく分断されています • エクスペリメント追跡に対する アドホックアプローチ • 実験の再現が非常に困難 データ準備 • 密結合した複数のデプロイメント

    オプション • フレームワークごとに異なるモニ タリングアプローチ モデル構築 モデルデプロイ • データとMLの低レベルのイ ンテグレーション • モデルで使用されるデータ の追跡が困難
  26. エンドツーエンドのMLラ イフサイクル オープン、プラグイン可能 アーキテクチャ データ準備 モデル構築 モデルのデプロイ/監視 MLランタイムと 環境 オンライン

    サービング バッチ スコアリング ワークスペース AutoML データ&MLのエンドツーエンドのライフサイクルを統合
  27. MLflowのコンポーネント 75 トラッキング エクスペリメントの記 録、クエリー: コード、 データ、設定、結果 プロジェクト 任意のプラットフォー ムで再現可能なランの

    パッケージフォーマット モデル 様々なデプロイメント ツールがサポートする 汎用モデルフォーマッ ト mlflow.org github.com/mlflow twitter.com/MLflow databricks.com/mlflow モデルレジストリ 集中管理かつコラボ レーティブなモデルラ イフサイクル管理
  28. MLflowプロジェクトの例 my_project/ ├── MLproject │ │ │ │ │ ├──

    conda.yaml ├── main.py └── model.py ... conda_env: conda.yaml entry_points: main: parameters: training_data: path lambda: {type: float, default: 0.1} command: python main.py {training_data} {lambda} $ mlflow run git://<my_project> mlflow.run(“git://<my_project>”, ...)
  29. with mlflow.start_run() as run: lr = ElasticNet(alpha=alpha, l1_ratio=l1_ratio) lr.fit(train_x, train_y)

    predictions = lr.predict(test_x) (rmse, mae, r2) = eval_metrics(test_y, predictions) mlflow.log_param("alpha", alpha) mlflow.log_metric("rmse", rmse) mlflow.sklearn.log_model("model", lr) ...
  30. MLflowモデルの例 my_model/ ├── MLmodel │ │ │ │ │ └──

    estimator/ ├── saved_model.pb └── variables/ ... TensorFlowモデルフォーマットを理 解できるツールで利用可能 Pythonを実行できる任意のツー ルで利用可能 (Docker, Spark等!) run_id: 769915006efd4c4bbd662461 time_created: 2018-06-28T12:34 flavors: tensorflow: saved_model_dir: estimator signature_def_key: predict python_function: loader_module: mlflow.tensorflow
  31. モデルレジストリ ビジョン: 集中管理、コラボレーティブなモデルライフサイクル管理 トラッキング サーバー パラメータ メトリクス アーティファ クト Experimental

    Staging Production Archived モデル メタデータ モデルレジストリ データサイエンティスト デプロイメントエンジニア
  32. 一つのコラボレーティブハブ 機能 1. 左のメニュー: Models 2. 登録モデルの概要とStagingや Productionにあるモデルバージョンが表 示 3.

    名前、ステージなどでモデルを検索、フィ ルタリング 1 2 ペインポイント • モデルが様々な場所に保存され検索で きない。 • モデルがプロダクションにあるのかなど の可視性がない。 3
  33. ガバナンスや監査可能性 1.a 機能 1. レジストリにあるプロダクションモデル を... a. 生成したラン b. ランを生成したノートブック

    c. ランを生成したノートブックの正確 なバージョン ペインポイント • 特定のプロダクションモデルにおいて、 由来を見つけることが不可能 1.b 1.c
  34. ©2024 Databricks Inc. — All rights reserved DatabricksにおけるMLOpsとエンドツーエンドのリネージ Staging Production

    Archived V2 V3 V1 モデルレジストリ Labels week 1 Requests + predictions week 1 モデルサービング Client / app モデルモニタリング Labels week 2 Requests + predictions week 2 Metric computation & logging Monitoring Alerting Request logging & label joining Powered by
  35. ©2024 Databricks Inc. — All rights reserved 自動化されたトラッキングと再現性の確保 実験に関するあらゆる情報を自動で記録します コーディング不要のMLネイティブロギ

    ング Tensorflow、Pytorch、Scikit-Learn、MLlib などのトレーニングを自動で記録 ビルトインのデータバージョン ロギング Delta Lakeによるデータバージョンの自動記 録
  36. ©2024 Databricks Inc. — All rights reserved 自動化されたトラッキングと再現性の確保 実験に関するあらゆる情報を自動で記録します アウトオブボックスの再現性

    コード、クラスター設定、ライブラリのバージョン も記録 コーディング不要のMLネイティブロギ ング Tensorflow、Pytorch、Scikit-Learn、MLlib などのトレーニングを自動で記録 ビルトインのデータバージョン ロギング Delta Lakeによるデータバージョンの自動記 録
  37. ©2024 Databricks Inc. — All rights reserved ノートブック、SQLエディタ、 ファイルエディタでネイティブに 動作する文脈を解するAIアシスタント

    コードやクエリーの生成、オートコンプリート 問題の説明と修正 企業の知識グラフを用いてお使いのデータ資産に適した文脈 考慮の結果を取得 96 Databricksアシスタント
  38. ©2024 Databricks Inc. — All rights reserved 97 LLMで強化されたQ&Aによってビ ジネスユーザーがデータを

    操作できるように 自然言語で質問を行い、テキストと可視化の 回答を取得 カスタム指示によるデータセット固有体験のキュレー ション Powered by Databricks SQL & DatabricksIQ Genie Data Room
  39. ©2024 Databricks Inc. — All rights reserved Databricksデータインテリジェンスプラットフォーム データ中心AI 生成AI

    • カスタムモデル • モデルサービング • RAG エンドツーエンドAI • MLOps (MLflow) • AutoML • モニタリング • ガバナンス あなたのデータのセマンティクスを理解するために生成AIを活用 データインテリジェンスエンジン オープンデータレイク すべての生データ (ログ、テキスト、音声、動画、画像) Databricks SQL Text-to-SQL ワークフロー 過去の処理に基づく ジョブのコストの最適化 Delta Live Tables データ品質の自動化 Mosaic AI カスタムLLMの作成チュー ニング サービング Unity Catalog 自然言語でセキュアに洞察を取得 Delta Lake UniForm 利用パターンに基づいてデータレイアウトを自動で最適化 ©2024 Databricks Inc. — All rights reserved 98
  40. ©2024 Databricks Inc. — All rights reserved DBRXのご紹介 DBRXはDatabricksによるオープンソースLLMです •

    DBRX Base 事前トレーニング済みモデル ◦ スマートなオートコンプリートのように動作 - 何を言ったとしても 続きを生成します。 ◦ ご自身のデータでファインチューニングする際に有用です。 • DBRX Instruct ファインチューニングモデル ◦ 質問回答や指示追従を行うように設計されています。 ◦ ドメイン固有のデータに対する追加トレーニング、指示追従のためのファイン チューニングを行うことでDBRXをベースとして構築されています。
  41. ©2024 Databricks Inc. — All rights reserved DBRXをどのように構築したのか データ探索やキュレー ションのためのLilac

    AI データクレンジングと処 理のための ノートブックとApache Spark データストレージとガバ ナンスのためのUnity Catalog モデルトレーニングの ためのMosaic Multi-Cloud Training (MCT) 実験トラッキングのため のMLflowとLakeview • 評価とレッドチームのためのFoundation Model APIと AI Playground • モデルをトレーニングするための、Composer、StreamingDataset、LLM Foundryを含むオープンソースライブラリの最適化バージョン DBRXはDatabricksの様々なチームおよびAIコミュニティのサポートを受け Mosaic Researchチームによって構築されました。
  42. ©2023 Databricks Inc. — All rights reserved Fine Tuning Model

    Serving Pre-training Model Serving Vector Search Model Serving MLflow AI Gateway MLflow Evaluation MLflow Prompt Engg Unity Catalog | レイクハウスモニタリング 生成AIソリューションの構築を始めましょう プロンプト エンジニアリング Retrieval Augmented Generation (RAG) ファイン チューニング 事前トレーニング LLMの挙動をガイドする 特殊プロンプトを作成 LLMと企業データを結合 特定のデータセットや ドメインに事前学習LLMを 適合 最初からLLMを トレーニング 複雑性/計算量 Databricksはすべてのアーキテクチャパターンを実現する唯一のプロバイダー
  43. ©2024 Databricks Inc. — All rights reserved プロダクションの生成AIアプリの構築 あなたのユース ケースにベストな

    モデルの評価、特定 生成AIモデルの 選択 あなたの組織のIPと データをモデルにエ ンコード 生成AIモデルの 文脈付け 生成AIアプリの デプロイ、監視 フィードバックの実 装 アプリの デプロイと監視
  44. ©2024 Databricks Inc. — All rights reserved プロダクションの生成AIアプリの構築 あなたのユース ケースにベストな

    モデルの評価、特定 生成AIモデルの 選択 あなたの組織のIPと データをモデルにエ ンコード 生成AIモデルの 文脈付け 生成AIアプリの デプロイ、監視 フィードバックの実 装 アプリの デプロイと監視
  45. ©2024 Databricks Inc. — All rights reserved Mosaic AIモデルサービング 105

    すべてのタイプのAIモデルを管理するために統合されたUI、API、SDK モデルサービング カスタムモデル Foundation Models API 外部モデル サーバレスコンピュートに よるREST APIとしてすべてのモ デルをデプロイし MLflowで管理。 CPUとGPUをサポート。 Feature Store、Vector Searchと連携。 外部のモデルとAPIを管理。 これによって、LLMに対するMLflowデ プロイメントのガバナンスと、 従来のDatabricksモデルサービングの モニタリングとペイロード記録を提供。 Databricksがトップの基盤モデルを 厳選、シンプルなAPIで提供。 自分でサービングをセットアップする ことなしに、すぐに実験を スタート。
  46. ©2024 Databricks Inc. — All rights reserved Mosaic AI Playground

    • Databricks内外でホストされている 基盤モデルと容易にインタラクショ ン • 複数のモデルにおけるアウトプッ ト、レーテンシー、その他のパフォー マンス特性を比較 • プロンプトエンジニアリングとテキス ト生成パラメータのチューニングに 対するクイックな実験 様々な基盤モデルとのインタラクションを比較
  47. ©2024 Databricks Inc. — All rights reserved プロダクションの生成AIアプリの構築 あなたのユース ケースにベストな

    モデルの評価、特定 生成AIモデルの 選択 あなたの組織のIPと データをモデルにエ ンコード 生成AIモデルの 文脈付け 生成AIアプリの デプロイ、監視 フィードバックの実 装 アプリの デプロイと監視
  48. ©2024 Databricks Inc. — All rights reserved 基盤モデルに対する文脈付け プロンプト エンジニアリング

    Retrieval Augmented Generation(RAG) パラメータ効率の高いファ インチューニング 完全な ファインチューニング 手法 プロンプトテンプレート 適切かつ新鮮な コンテキストの取得 LLMに「顧客」レイヤーとパ ラメータを追加 モデルの重みの チューニング テクニック Few-shot学習、 システムプロンプト Vector Search Adapter、LoRA SFT、RLHF 利用時の注意点 モデルがリクエストの 意図と文脈を理解できるよ うにプロンプトを 最適化すること。 事実に基づく新鮮な情報と ソース情報の透明性をしっ かりと定着させる こと。 必要となるビジネス理解、内部パターン、ローカルな文脈 情報を可能な限り取り込むこと。 組織のIPとデータをエンコードすることで大きなビジネス価値を解放
  49. ©2024 Databricks Inc. — All rights reserved • レイクハウスプラットフォームで ベクトル検索をインテグレーションする

    もっともシンプルな方法 • ビルトインのガバナンス、 権限管理、リネージ • エンべディング生成でMLflowと モデルサービングと連携 RAG向けのMosaic AI Vector Search あなた専用のデータで基盤モデルを拡張
  50. ©2024 Databricks Inc. — All rights reserved Vector Search API

    あなたのユースケースに最も適したAPIを選択しましょう 3つのAPIオプション 取り込みパイプライン エンべディングの計算 メモ マネージドエンべディングによ るDelta Sync API 自動 & マネージド モデルサービング エンドポイント経由の マネージド テキストのみ 一番シンプル セルフマネージドのエンべディ ングによるDelta Sync API 自動 & マネージド 自分で管理 任意のデータ Direct access CRUD API 手動 & 自分で管理 自分で管理 任意のデータ 一番柔軟 110
  51. ©2024 Databricks Inc. — All rights reserved Mosaic AI Fine

    Tuning API • シンプルなインタフェースを 通じてあなたのデータを用いて 基盤モデルをプライベートに カスタマイズ • 業界最先端の最適化技術で最も 効率的なトレーニング処理を実現 • ファインチューンしたモデルを 容易に評価、デプロイ あなた自身のデータで基盤モデルをカスタマイズ プライベートプレビュー
  52. ©2024 Databricks Inc. — All rights reserved Mosaic AI Pre-training

    シンプルかつスケーラブル、コ スト効率の高い大規模 AIモデルのトレーニング 自分のセキュアな環境で自分 のデータを用いてご自身の モデルをトレーニング、 ファインチューニング あなたのモデルとデータの プライバシーに対する完全なコ ントロール 大規模AIモデルのトレーニングを最大7倍高速、安価に あなたのセキュアな環境のあなたのデータ、あなたのモデル 113
  53. ©2024 Databricks Inc. — All rights reserved プロダクションの生成AIアプリの構築 あなたのユース ケースにベストな

    モデルの評価、特定 生成AIモデルの 選択 あなたの組織のIPと データをモデルにエ ンコード 生成AIモデルの 文脈付け 生成AIアプリの デプロイ、監視 フィードバックの実 装 アプリの デプロイと監視
  54. ©2024 Databricks Inc. — All rights reserved 低レーテンシーですべてのAI資産をデプロイ AIモデルとワークフローに対するシンプルなデプロイメント すべてのAI資産をデプロイ:

    サーバレス コンピュートのAPIとして、基盤モデル、langchain、カ スタムモデルを含むすべての 資産をデプロイ TCOの削減: レーテンシーとコストを削減するLLM 固有の最適化がなされたスケーラブルな 計算資源 セキュアなデプロイメント: マルチレイヤーのセキュ リティコントロールと厳密な コンプライアンスによる高可用性かつ セキュアなインフラストラクチャ
  55. ©2024 Databricks Inc. — All rights reserved 推論テーブル • 予測結果を改善、デバッグする

    ために継続的にDeltaテーブルに リクエストとレスポンスを記録 • レイクハウスモニタリングによるモデル パフォーマンスとドリフトの計算の自動 化 • ビジネスメトリクスと結合や、 モデルのレスポンスの比較によるオン ライン評価の実施 基盤モデルの監視と診断
  56. ©2024 Databricks Inc. — All rights reserved レイクハウスモニタリング インテグレーション: ガバナンスを

    シンプルにするための、トレーニングデータ、 特徴量テーブル、モデル、推論ログに対する Unity Catalogのエンドツーエンドのリネー ジ シンプル: 自動で推論テーブルに記録し、メト リックテーブルとダッシュボードを生成 プロアクティブ: テーブル品質やカスタムメト リクスに基づくアラートを自動化しデータやモ デルの問題を診断 高信頼、洞察的、シンプルなデータからAIパイプラインの統合モニタリング
  57. ©2024 Databricks Inc. — All rights reserved 記録 REST API

    Databricks内あるいはREST APIによる セキュアな接続 自動で 同期 RAG アーキテクチャ チャットアプリケーション UI/UX、ユーザー認証、セッション管理など 既存アプリ Salesforce、Webポータル等 Lakehouse Apps Databricksがホスト モニタリング レイクハウス モニタリング レイクハウス: ストレージ & ガバナンス モデル GenAI Model serving データ & ベクトルサービング Feature Serving Vector Search データ&ベクトルの準備 ワーク フロー Delta Live Tables ワークフロー バッチ/ストリームパイプライン RAGチェーン アプリからの質問に反応するために、認証情報の管理、ガバナンス、ロギングを 含むモデルとデータのオーケストレーション モデルサービング LangChain, Python, … Unity Catalog Deltaテーブル ボリューム Mosaic AIの機能 (AI) Lakehouseの機能 (Data + AI)
  58. ©2024 Databricks Inc. — All rights reserved サンプルコードを用いてクイックにRAGアプリ ケーションを構築し、エンド ポイントとしてチェーンをデプロイ

    事前定義されているメトリクスを用いたこれら のアプリケーションのオンライン & オフライン での評価の実施 デプロイしたチェーンに対する詳細な トレースログとフィードバックをUCに 格納されている推論テーブルから収集 オンライン、オフライン評価で審判と してLLMを活用 (AI Playgroundをベースとした)レビューUIで 専門家ユーザーからのフィード バックを収集 RAG Studio 高品質なRAGを構築するための最高クラスのワークフローと評価ツール ロードマップ
  59. ©2024 Databricks Inc. — All rights reserved 新規バージョンの定義 フィードバック &

    ログの収集 メトリクスの評価 改善領域の調査 ユーザー LLM-as-a-judge 評価セット LLM & ユーザー フィードバック プロダクションに デプロイ 監視 精度 / コスト / レーテンシーの ターゲットを達成 精度 / コスト / レーテンシー ターゲット未達 RAGチェーン RAG データパイプライン データ取り込み 構造化 非構造化
  60. ©2024 Databricks Inc. — All rights reserved Mosaic AIの機能 (AI)

    レイクハウスの機能 (Data + AI) Mosaic AIはすべてのタイプのAIで動作します - 古典的なML、ディープラーニング、 RAGを含む生成AI MLOps + LLMOps MLflow アセットバンドル (DAB) CI/CDサポート データとベクトルの準備 ネイティブツールでデータと特徴量を準備 SQL ワークフロー Delta Live Tables ノートブック アプリケーションの提供 リアルタイムアプリにモデルを提供して監視 モデル サービング AI Functions SQLからモデル呼出 Lakehouse Apps レイクハウス モニタリング モデルの構築と評価 カスタムモデルのトレーニング、ファインチューニング 事前学習モデルのプロンプトエンジニアリング MLランタイムと ノートブック AutoML Fine Tuning マーケット プレースのモデル MPT LLaMA2 AI Playground MLflow Track & Evaluate データとベクトルの提供 Feature Serving Vector Search Function Serving ガバナンス モデルレジストリ in Unity Catalog Unity Catalog Feature Store in Unity Catalog データプラットフォーム Deltaテーブル 構造化データ ファイル (ボリューム) 非構造化データ Mosaic AI
  61. Sparkアーキテクチャ概要:目的 • Spark分散アーキテクチャの主要なコンポーネントの理解 • アプリケーションがどのようにジョブ、ステージ、タスクに分かれているかの理解 • 以下の用語の理解 ◦ シェアリソース (Shared

    resources) ◦ 並列化 (Parallelization) ◦ パーティション (Partitions) ◦ ジョブ、ステージ、タスク (Jobs、 Stages、 Tasks) ◦ ドライバー (Drivers) ◦ エグゼキューター (Executors) ◦ クラスター、ノード (Clusters、 Nodes) ◦ スロット、コア、スレッド (Slots、 Cores、 Threads)
  62. But becoming a data-first company is hard ビジネス上の課題を解決する ために、非構造化データを管 理する必要性を95%の企業

    が言及しています 貧弱なデータ品質は アメリカ経済で年間 最大3.1兆ドルのコストと なっています しかし効率的なデータ活用は容易ではありません 最大73%の企業データが分 析、意思決定に用いられて いません
  63. データウェアハウス はBI、レポーティングに特化 されていますが… ▪ 動画、音声、テキストの未サポート ▪ データサイエンス、MLの未サポート ▪ ストリーミングに対する限定的なサポート ▪

    クローズド、プロプライエタリなフォーマット このため、多くのデータはデータレイク、 blobストレージに格納されています ETL 外部データ 稼働データ データウェアハウス BI レポート
  64. データレイク はデータサイエンス、MLに 必要な全てのデータを取り 扱えますが… ▪ 信頼性の低いデータスワンプ ▪ 貧弱なパフォーマンス ▪ 最小限のセキュリティ

    BI データ サイエンス 機械学習 構造化、準構造化、非構造化データ データレイク リアルタイム データベース レポート データウェアハウス データ準備、検証 ETL
  65. Delta Lakeの提供機能 ▪ ACIDトランザクション ▪ インデックス ▪ タイムトラベル、監査ログ ▪ スキーマエンフォースメント

    ▪ バッチとストリーミングの統合 ▪ DMLオペレーション ▪ オープンフォーマット ▪ 大規模メタデータ管理 以下の機能でも活用されています ▪ Delta Sharing ▪ Delta Live Tables 高パフォーマンス、ガバナンスをデータレイクにもたらします Transactional Log Parquet Files Databricks optimized engine OSS Delta Lakeとの違い:キャッシュ、データスキッピング、Z-Orderなどパフォーマンス面での改善が図られています。
  66. ©2024 Databricks Inc. — All rights reserved 参考資料 • Azure

    Databricks のドキュメント | Microsoft Learn • はじめてのDatabricks #Databricks - Qiita • Databricksチュートリアル #Databricks - Qiita • Databricks記事のまとめページ(その1) #Databricks - Qiita