Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

©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の利用方法の実践

Slide 4

Slide 4 text

©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を行います。

Slide 5

Slide 5 text

©2024 Databricks Inc. — All rights reserved データ分析とは何か? 5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

©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にフォーカスします。

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

©2024 Databricks Inc. — All rights reserved Databricksの良いところ 12

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

©2024 Databricks Inc. — All rights reserved インフラ管理が簡単 ● インフラ管理が簡単です。すぐに分析環境を準備できます。 ● GUIから簡単に計算資源(クラスター)を準備できます。 ● 大量データを取り扱うケースでも必要なスペックの計算資源を柔軟に作成できます。 ● クラスターはオートスケーリング するのでコストを最適化できます。 ● クラスターにはPython/Pandas などがプレインストールされて いますので追加の設定は不要です。 ● ライブラリを追加することも できます。

Slide 15

Slide 15 text

©2024 Databricks Inc. — All rights reserved すぐにデータベースを利用できます ● Databricks環境には最初からデータベースが存在しているので、Python/SQL/Rな どからすぐにアクセスできます。

Slide 16

Slide 16 text

©2024 Databricks Inc. — All rights reserved ノートブックを通じたコラボレーション ● コラボレーション機能(同時参照/同時編集/コメント)を活用することで、他の方との連 携が容易になります。 ● ノートブックは自動でバージョン 管理されるので、容易に前の状態 に戻すことができます。 ● アクセス権を設定することが できます。 ● Python/SQL/R/Scalaといった 複数の言語を活用できます。

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

©2024 Databricks Inc. — All rights reserved データの可視化が簡単 ● プログラミング不要でデータを簡単に可視化できます。

Slide 19

Slide 19 text

©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を公開 しているので、他のシステムとの連携も容易です。

Slide 20

Slide 20 text

©2024 Databricks Inc. — All rights reserved Databricksの使い方 20

Slide 21

Slide 21 text

©2024 Databricks Inc. — All rights reserved Databricksの使い方イメージ

Slide 22

Slide 22 text

©2024 Databricks Inc. — All rights reserved Databricksの使い方イメージ

Slide 23

Slide 23 text

©2024 Databricks Inc. — All rights reserved Databricksワークスペース

Slide 24

Slide 24 text

©2024 Databricks Inc. — All rights reserved Databricksノートブック

Slide 25

Slide 25 text

©2024 Databricks Inc. — All rights reserved Databricksクラスター

Slide 26

Slide 26 text

©2024 Databricks Inc. — All rights reserved ノートブックをクラスターにアタッチ

Slide 27

Slide 27 text

©2024 Databricks Inc. — All rights reserved プログラムの実行

Slide 28

Slide 28 text

©2024 Databricks Inc. — All rights reserved Databricksアップデート 28

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

©2024 Databricks Inc. — All rights reserved リネージ リアルタイムで自動生成されるデータとAI資産に対する カラムレベルのリネージ システムテーブル経由でのプログラムによるアクセスによって、インパクト分析 のようなキーユースケースを促進 Unity Catalog アクセス 制御 リネージ データ共有 モニタ リング 検索 監査 すべての言語と製品界面で捕捉。ジョブ、DLT、ノートブック、ML、 DBSQL…

Slide 31

Slide 31 text

©2024 Databricks Inc. — All rights reserved レイクハウス フェデレーション 外部データソースに対するガバナンス すべてのソースにわたるデータ アクセス、 きめ細かいアクセス制御、リネージおよび監査 ● MySQL ● PostgreSQL ● Amazon Redshift ● Snowflake ● Microsoft SQL Server ● Azure Synapse (SQL Data Warehouse) ● Google BigQuery

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

©2024 Databricks Inc. — All rights reserved Databricks SQLサーバレス 優れた生産性: 待ち時間を削減 することでより多 くのことを • より高速なウェアハウ スの起動 • 高速なオート スケーリング • アイドル状態の コスト削減 優れた セキュリティ: 複数レイヤーの 分離 セキュリティ分離 レイヤーを実装する ことでお客様の セキュリティを維持 優れた信頼性: 価値を生まないク ラウドタスクを排 除 • キャパシティ プランニング • ネットワーク設定 • etc. 多くの機能: サーバレスに 最適化された 機能 • マテリアライズド ビュー • キャッシュ • etc. シンプルかつ即時に利用できるマネージドな計算資源

Slide 35

Slide 35 text

©2024 Databricks Inc. — All rights reserved 35 Lakeviewダッシュボード

Slide 36

Slide 36 text

Azure Databricksにおける AIアシスタントの活用

Slide 37

Slide 37 text

ノートブック、SQLエディタ、 ファイルエディタにネイティブで 組み込まれた、あなたのデータの文脈 を理解するAIアシスタント コードやクエリーの生成、オートコンプリート 問題の説明や修正 Unity Catalogと連携することで、 あなたのデータ資産の文脈に適した結果を提示 37 Databricksアシスタント

Slide 38

Slide 38 text

最新機能を利用できるように設定を行います。ワークスペースの言語設定が英語 の場合は日本語に変更します。右上のユーザーアイコンをクリックしSettingsを選 択します。 38 事前準備

Slide 39

Slide 39 text

User > PreferencesのLanguageで日本語を選択します。GUIが日本語に なります。 39 事前準備

Slide 40

Slide 40 text

最新機能を利用できるように設定を行います。ワークスペース右上の ユーザーアイコンをクリックし、設定を選択します。 40 事前準備

Slide 41

Slide 41 text

ユーザー > 開発者の新しいAssistantのUIをオンにします。 41 事前準備

Slide 42

Slide 42 text

アシスタントにアクセスするにはアイコン をクリックします。 42 Databricksアシスタントへのアクセス

Slide 43

Slide 43 text

アシスタントはワークスペース全体で動作するものとノートブックセルを 対象にするものがあります。こちらはワークスペースで動作します。 43 Databricksアシスタントへのアクセス

Slide 44

Slide 44 text

アシスタントはワークスペース全体で動作するものとノートブックセルを 対象にするものがあります。こちらはワークスペースで動作します。 44 Databricksアシスタントへのアクセス

Slide 45

Slide 45 text

アシスタントはワークスペース全体で動作するものとノートブックセルを 対象にするものがあります。こちらはワークスペースで動作します。 45 Databricksアシスタントへのアクセス

Slide 46

Slide 46 text

アシスタントはワークスペース全体で動作するものとノートブックセルを 対象にするものがあります。こちらはワークスペースで動作します。 46 Databricksアシスタントへのアクセス

Slide 47

Slide 47 text

アシスタントはワークスペース全体で動作するものとノートブックセルを 対象にするものがあります。こちらは当該セルを対象に動作します。 47 Databricksアシスタントへのアクセス

Slide 48

Slide 48 text

アシスタントはワークスペース全体で動作するものとノートブックセルを 対象にするものがあります。こちらは当該セルを対象に動作します。 48 Databricksアシスタントへのアクセス

Slide 49

Slide 49 text

日本語でアシスタントに問い合わせます。 49 Databricksアシスタントへ問い合わせ

Slide 50

Slide 50 text

アシスタントで以下の問い合わせを行いましょう。ノートブックを作成し、稼働してい るクラスターにアタッチしてください。 50 Databricksアシスタントへ問い合わせ こちらが我々のデータセットのTitleカラムの例です: 1. The Shawshank Redemption (1994) タイトル名 は数とカッコの間です。公開日はカッコの間です。公開 日とタイトル名を抽出する関数を書いてください。

Slide 51

Slide 51 text

コードが表示される場合には、ショートカットボタンが表示されます。 51 Databricksアシスタントへ問い合わせ 差分表示 コードの実行 選択しているセルに コードを挿入 コードをコピー

Slide 52

Slide 52 text

すでにコードが入力されている場合には、文脈を解して回答します。 52 Databricksアシスタントへ問い合わせ PySpark DataFrameをPandas DataFrameに変換し、fare_amount列に基づいてdfから最も高価な10件の トリップを選択するためのPandasコードを生成してください。

Slide 53

Slide 53 text

ノートブックのセルに以下を記入し、セルが選択されている状態にします。 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コードを生成し てください。

Slide 54

Slide 54 text

エラーが発生した際には、診断エラーボタンが表示されます。 54 アシスタントにエラーを修正させる

Slide 55

Slide 55 text

以下のセルを実行してエラーを起こし、アシスタントに助けてもらいましょう。 55 アシスタントにエラーを修正させる string[::-1]

Slide 56

Slide 56 text

コードを説明してとお願いします。 56 アシスタントにコードを説明させる

Slide 57

Slide 57 text

● できるだけ具体的に指示してください。テーブルを指定し、データがどのような ものであるかを示す例を提供してください。 ● Databricks アシスタントは、テーブルと列のスキーマとメタデータを認識しま す。これにより、自然言語を使用して非常に正確なクエリーを生成することが できます。たとえば、テーブルに列 userID と State がある場合、Databricks アシスタントにワシントンに住むユーザーのリストを生成するよう依頼できま す。 ● Databricks アシスタントはテーブルと列のメタデータにのみアクセスでき、行 レベルのデータにはアクセスできません。そのため、実際のデータがユニーク な形式をしている場合、クエリーを正しく記述できない場合があります。 ● Databricks アシスタントは会話の履歴を考慮するため、会話を進めながら質 問を改善していくことができます。 57 アシスタントに問い合わせる際の注意点 https://docs.databricks.com/ja/notebooks/databricks-assistant-faq.html

Slide 58

Slide 58 text

その他の機能: メタデータの提案

Slide 59

Slide 59 text

Azure Databricksで始める データ分析

Slide 60

Slide 60 text

ここで使用するノートブックはインターネットで公開されているので、Azure Databricksワークスペースにインポートします。 Databricks ノートブックのエクスポートとインポート - Azure Databricks | Microsoft Learn 60 ノートブックのインポート

Slide 61

Slide 61 text

サイドメニューのワークスペースにアクセスし、画面右上の3点リーダーをクリック し、インポートを選択します。 61 ノートブックのインポート

Slide 62

Slide 62 text

URLを選択し、URLのボックスに以下のURLを貼り付けます。 62 ノートブックのインポート https://github.com/taka-yayoi/public_repo_2/blob/master/python_webinar/1.%20Python%E3%81%AE%E 5%9F%BA%E7%A4%8E.py

Slide 63

Slide 63 text

URLを選択し、URLのボックスに以下のURLを貼り付けます。 63 ノートブックのインポート https://sajpstorage.blob.core.windows.net/yayoi/pandas%20tutorial.html

Slide 64

Slide 64 text

MLflowとMLの パフォーマンス管理

Slide 65

Slide 65 text

全体像から考えましょう DatabricksにおけるAIと機械学習のワークフローです

Slide 66

Slide 66 text

全体像から考えましょう 上述のソフトウェアはDatabricksでどのように活用されているのでしょうか Databricksにおける処理エンジンです。ノートブックやSQLエ ディタで処理を実行する際に大抵背後で動いてます Databricksにおけるデフォルトのデータフォーマットです。デー タを保存する際はDelta Lake形式でデータが保存されます。 格納場所はS3/ADLS/GCSです。 Databricksで機械学習モデルを管理するシーンでは、大抵背 後でMLflowが動いています。モデルの追跡、モデルの保存、 モデルのサービングなど。 データの読み 書き・処理 データの保存 モデルの管理

Slide 67

Slide 67 text

全体像から考えましょう これらのコンポーネントは随所で活用されています

Slide 68

Slide 68 text

そして、様々な業種、セグメントの数々のお客様 Internet of Things デジタルパーソナライ ゼーション 破壊的イノベーションが地球上のほとんどの企業に影響を与えています ヘルスケアとゲノミクス 不正防止 広がるMLの導入

Slide 69

Slide 69 text

ML コード 設定 データ収集 データ 検証 特徴量抽出 マシン リソース管理 分析ツール プロセス 管理ツール サービング インフラストラク チャ モニタリング Hidden Technical Debt in Machine Learning Systems - Google NIPS 2015 中央の緑の箱に示すように、MLコードは現実世界のMLシステムのほんの一部です。必要となる周辺の インフラストラクチャは広大で複雑です。 MLでもっと困難なのはMLではなくデータです

Slide 70

Slide 70 text

データ エンジニア x サイロ化されたデータ&ML技術 データ サイエンティスト

Slide 71

Slide 71 text

MLライフサイクルは手動で一貫性 がなく分断されています ● エクスペリメント追跡に対する アドホックアプローチ ● 実験の再現が非常に困難 データ準備 ● 密結合した複数のデプロイメント オプション ● フレームワークごとに異なるモニ タリングアプローチ モデル構築 モデルデプロイ ● データとMLの低レベルのイ ンテグレーション ● モデルで使用されるデータ の追跡が困難

Slide 72

Slide 72 text

標準化の 必要性

Slide 73

Slide 73 text

エンドツーエンドのMLラ イフサイクル オープン、プラグイン可能 アーキテクチャ データ準備 モデル構築 モデルのデプロイ/監視 MLランタイムと 環境 オンライン サービング バッチ スコアリング ワークスペース AutoML データ&MLのエンドツーエンドのライフサイクルを統合

Slide 74

Slide 74 text

MLflowのご紹介 2018/6に公開されたMLflowは、機械学習ライフサイクル全体を管理するため に設計されているオープンソースプラットフォームです。 Model Registry

Slide 75

Slide 75 text

MLflowのコンポーネント 75 トラッキング エクスペリメントの記 録、クエリー: コード、 データ、設定、結果 プロジェクト 任意のプラットフォー ムで再現可能なランの パッケージフォーマット モデル 様々なデプロイメント ツールがサポートする 汎用モデルフォーマッ ト mlflow.org github.com/mlflow twitter.com/MLflow databricks.com/mlflow モデルレジストリ 集中管理かつコラボ レーティブなモデルラ イフサイクル管理

Slide 76

Slide 76 text

ノートブック ローカルアプリ クラウドジョブ トラッキングサーバー UI API MLflowトラッキング Python or REST API

Slide 77

Slide 77 text

トラッキングのキーコンセプト パラメータ: コードに対するキーバリューのインプット メトリクス: (時間経過とともに更新可能な)数値 アーティファクト: モデルを含む任意のファイル ソース: どのコードが実行された?

Slide 78

Slide 78 text

Project Spec コード データ 設定 ローカル実行 リモート実行 MLflowプロジェクト

Slide 79

Slide 79 text

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:// mlflow.run(“git://”, ...)

Slide 80

Slide 80 text

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) ...

Slide 81

Slide 81 text

モデルフォーマット Flavor 2 Flavor 1 ランのソース 推論コード バッチ&ストリーム スコアリング クラウドサービング ツール MLflowモデル 多くのツールで活用可能 なモデルフレーバー

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

モデルレジストリ ビジョン: 集中管理、コラボレーティブなモデルライフサイクル管理 トラッキング サーバー パラメータ メトリクス アーティファ クト Experimental Staging Production Archived モデル メタデータ モデルレジストリ データサイエンティスト デプロイメントエンジニア

Slide 84

Slide 84 text

MLflowモデルレジストリのメリット 一つのコラボレーションハブ: モデルレジストリは、モデルを発見可能にする 中央ハブを提供するので、組織におけるコラボレーションと知識共有を改善 します。 モデルライフサイクル全体の管理 (MLOps): モデルレジストリは実験からデ プロイメントに至るライフサイクル管理を提供するので、モデルデプロイメント プロセスの信頼性と堅牢性を改善します。 可視性とガバナンス: モデルレジストリはすべてのモデルのデプロイメントス テージ、誰が変更をリクエストし承認したのかに関する完全な可視性を提供 するので、完全なガバナンスと監査可能性を実現します。

Slide 85

Slide 85 text

一つのコラボレーティブハブ 機能 1. 左のメニュー: Models 2. 登録モデルの概要とStagingや Productionにあるモデルバージョンが表 示 3. 名前、ステージなどでモデルを検索、フィ ルタリング 1 2 ペインポイント ● モデルが様々な場所に保存され検索で きない。 ● モデルがプロダクションにあるのかなど の可視性がない。 3

Slide 86

Slide 86 text

MLflowモデルレジストリのメリット 一つのコラボレーションハブ: モデルレジストリは、モデルを発見可能にする 中央ハブを提供するので、組織におけるコラボレーションと知識共有を改善 します。 モデルライフサイクル全体の管理 (MLOps): モデルレジストリは実験からデ プロイメントに至るライフサイクル管理を提供するので、モデルデプロイメント プロセスの信頼性と堅牢性を改善します。 可視性とガバナンス: モデルレジストリはすべてのモデルのデプロイメントス テージ、誰が変更をリクエストし承認したのかに関する完全な可視性を提供 するので、完全なガバナンスと監査可能性を実現します。

Slide 87

Slide 87 text

モデルライフサイクル全体の管理(MLOps) 機能 1. アクティブなモデルバージョンとデプロイ メントステージの概要 2. デプロイメントステージ移行のリクエスト /承認ワークフロー ペインポイント ● モデルのデプロイメントステージに対する 洞察なし ● チェックや調整なしに誰でもモデルをプロ ダクションに投入可能 2 1

Slide 88

Slide 88 text

MLflowモデルレジストリのメリット 一つのコラボレーションハブ: モデルレジストリは、モデルを発見可能にする 中央ハブを提供するので、組織におけるコラボレーションと知識共有を改善 します。 モデルライフサイクル全体の管理 (MLOps): モデルレジストリは実験からデ プロイメントに至るライフサイクル管理を提供するので、モデルデプロイメント プロセスの信頼性と堅牢性を改善します。 可視性とガバナンス: モデルレジストリはすべてのモデルのデプロイメントス テージ、誰が変更をリクエストし承認したのかに関する完全な可視性を提供 するので、完全なガバナンスと監査可能性を実現します。

Slide 89

Slide 89 text

可視性 機能 1. ステージ移行のリクエスト、承認など に関する完全なアクティビティログ ペインポイント ● 誰がモデルをプロダクションに 投入したのかが不明 1

Slide 90

Slide 90 text

ガバナンスや監査可能性 1.a 機能 1. レジストリにあるプロダクションモデル を... a. 生成したラン b. ランを生成したノートブック c. ランを生成したノートブックの正確 なバージョン ペインポイント ● 特定のプロダクションモデルにおいて、 由来を見つけることが不可能 1.b 1.c

Slide 91

Slide 91 text

MLflowモデルレジストリのメリット 一つのコラボレーションハブ: モデルレジストリは、モデルを発見可能にする 中央ハブを提供するので、組織におけるコラボレーションと知識共有を改善 します。 モデルライフサイクル全体の管理 (MLOps): モデルレジストリは実験からデ プロイメントに至るライフサイクル管理を提供するので、モデルデプロイメント プロセスの信頼性と堅牢性を改善します。 可視性とガバナンス: モデルレジストリはすべてのモデルのデプロイメントス テージ、誰が変更をリクエストし承認したのかに関する完全な可視性を提供 するので、完全なガバナンスと監査可能性を実現します。

Slide 92

Slide 92 text

©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

Slide 93

Slide 93 text

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

Slide 94

Slide 94 text

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

Slide 95

Slide 95 text

Azure Databricksにおける LLMの活用

Slide 96

Slide 96 text

©2024 Databricks Inc. — All rights reserved ノートブック、SQLエディタ、 ファイルエディタでネイティブに 動作する文脈を解するAIアシスタント コードやクエリーの生成、オートコンプリート 問題の説明と修正 企業の知識グラフを用いてお使いのデータ資産に適した文脈 考慮の結果を取得 96 Databricksアシスタント

Slide 97

Slide 97 text

©2024 Databricks Inc. — All rights reserved 97 LLMで強化されたQ&Aによってビ ジネスユーザーがデータを 操作できるように 自然言語で質問を行い、テキストと可視化の 回答を取得 カスタム指示によるデータセット固有体験のキュレー ション Powered by Databricks SQL & DatabricksIQ Genie Data Room

Slide 98

Slide 98 text

©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

Slide 99

Slide 99 text

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

Slide 100

Slide 100 text

©2024 Databricks Inc. — All rights reserved DBRXは言語理解(MMLU)、プログラミング(HumanEval)、数学(GSM8K) において、有名なオープンソースモデルを上回っています

Slide 101

Slide 101 text

©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チームによって構築されました。

Slide 102

Slide 102 text

©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はすべてのアーキテクチャパターンを実現する唯一のプロバイダー

Slide 103

Slide 103 text

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

Slide 104

Slide 104 text

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

Slide 105

Slide 105 text

©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で提供。 自分でサービングをセットアップする ことなしに、すぐに実験を スタート。

Slide 106

Slide 106 text

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

Slide 107

Slide 107 text

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

Slide 108

Slide 108 text

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

Slide 109

Slide 109 text

©2024 Databricks Inc. — All rights reserved • レイクハウスプラットフォームで ベクトル検索をインテグレーションする もっともシンプルな方法 • ビルトインのガバナンス、 権限管理、リネージ • エンべディング生成でMLflowと モデルサービングと連携 RAG向けのMosaic AI Vector Search あなた専用のデータで基盤モデルを拡張

Slide 110

Slide 110 text

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

Slide 111

Slide 111 text

©2024 Databricks Inc. — All rights reserved Mosaic AIオンラインテーブル リアルタイムの構造化データでRAGアプリケーションの レスポンス品質を改善

Slide 112

Slide 112 text

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

Slide 113

Slide 113 text

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

Slide 114

Slide 114 text

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

Slide 115

Slide 115 text

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

Slide 116

Slide 116 text

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

Slide 117

Slide 117 text

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

Slide 118

Slide 118 text

©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)

Slide 119

Slide 119 text

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

Slide 120

Slide 120 text

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

Slide 121

Slide 121 text

©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

Slide 122

Slide 122 text

Apache SparkとDelta Lake

Slide 123

Slide 123 text

Apache Spark 並列分散処理を通じたデータ処理、機械学習

Slide 124

Slide 124 text

Sparkとは • Apache Sparkとは、ビッグデータと機械学習のための非常に 高速な分散処理フレームワークです。これはもともと、2009年に カリフォルニア大学バークレー校で開発されました。 • パフォーマンスを向上させるように設計されたSparkは、メモリ コンピューティングやその他の最適化を活用することで、Hadoopの100 倍の速度で大規模データを処理できます。また、Sparkはデータがディス クに格納されている場合にも高速処理が可能です。 • Sparkは、SQLクエリ、ストリーミングデータ、機械学習、グラフ 処理のサポートといった、高レベルのライブラリと一緒にパッケージ化され ています。

Slide 125

Slide 125 text

Sparkアーキテクチャ概要 • こちらでは、Sparkの分散プログラミングパラダイムを紹介します。 • ドライバ、エグゼキューター、クラスタ、ノード、並列化、 スケジューリングなどの主要な概念を説明します。 • これらの概念を十分に理解していることは、クエリの最適化と パフォーマンス問題のトラブルシューティングに不可欠です。

Slide 126

Slide 126 text

Sparkアーキテクチャ概要:目的 • Spark分散アーキテクチャの主要なコンポーネントの理解 • アプリケーションがどのようにジョブ、ステージ、タスクに分かれているかの理解 • 以下の用語の理解 ○ シェアリソース (Shared resources) ○ 並列化 (Parallelization) ○ パーティション (Partitions) ○ ジョブ、ステージ、タスク (Jobs、 Stages、 Tasks) ○ ドライバー (Drivers) ○ エグゼキューター (Executors) ○ クラスター、ノード (Clusters、 Nodes) ○ スロット、コア、スレッド (Slots、 Cores、 Threads)

Slide 127

Slide 127 text

Sparkアーキテクチャご紹介 シナリオ #1: フィルタリング (主要コンセプト: 並列分散処理)

Slide 128

Slide 128 text

©2024 Databricks Inc. — All rights reserved Sparkの処理の流れ - YouTube

Slide 129

Slide 129 text

Delta Lake: レイクハウスの基盤 データレイクに信頼性、性能、セキュリティを

Slide 130

Slide 130 text

23倍 以上の カスタマーベースに 19倍 以上の利益を データ爆発は明確な勝者を生み出しました インサイトドリブンの企業は...

Slide 131

Slide 131 text

But becoming a data-first company is hard ビジネス上の課題を解決する ために、非構造化データを管 理する必要性を95%の企業 が言及しています 貧弱なデータ品質は アメリカ経済で年間 最大3.1兆ドルのコストと なっています しかし効率的なデータ活用は容易ではありません 最大73%の企業データが分 析、意思決定に用いられて いません

Slide 132

Slide 132 text

データウェアハウス はBI、レポーティングに特化 されていますが… ▪ 動画、音声、テキストの未サポート ▪ データサイエンス、MLの未サポート ▪ ストリーミングに対する限定的なサポート ▪ クローズド、プロプライエタリなフォーマット このため、多くのデータはデータレイク、 blobストレージに格納されています ETL 外部データ 稼働データ データウェアハウス BI レポート

Slide 133

Slide 133 text

データレイク はデータサイエンス、MLに 必要な全てのデータを取り 扱えますが… ▪ 信頼性の低いデータスワンプ ▪ 貧弱なパフォーマンス ▪ 最小限のセキュリティ BI データ サイエンス 機械学習 構造化、準構造化、非構造化データ データレイク リアルタイム データベース レポート データウェアハウス データ準備、検証 ETL

Slide 134

Slide 134 text

データ ウェアハウス レイクハウス データ、分析、AIワークロード全てを 一つのプラットフォームに統合 データ レイク

Slide 135

Slide 135 text

データ レイク データレイクに データマネジメントとデータガバナンスをもた らすオープンなアプローチ トランザクションによる優れた信頼性 インデックスによる48倍の高速化 きめ細かいアクセスコントロールリストに よる大規模データのガバナンス データ ウェアハウス

Slide 136

Slide 136 text

Delta Lakeの提供機能 ▪ ACIDトランザクション ▪ インデックス ▪ タイムトラベル、監査ログ ▪ スキーマエンフォースメント ▪ バッチとストリーミングの統合 ▪ DMLオペレーション ▪ オープンフォーマット ▪ 大規模メタデータ管理 以下の機能でも活用されています ▪ Delta Sharing ▪ Delta Live Tables 高パフォーマンス、ガバナンスをデータレイクにもたらします Transactional Log Parquet Files Databricks optimized engine OSS Delta Lakeとの違い:キャッシュ、データスキッピング、Z-Orderなどパフォーマンス面での改善が図られています。

Slide 137

Slide 137 text

ACIDトランザクション データレイクに対する操作を完全に成功す るか、後でリトライするために完全にロール バックされるかします。 全てのオペレーションをトランザクションとして実行可能 /path/to/table/_delta_log - 0000.json - 0001.json - 0002.json - … - 0010.parquet

Slide 138

Slide 138 text

ACIDトランザクション データレイクに対する操作を完全に成功す るか、後でリトライするために完全にロール バックされるかします。 全てのオペレーションをトランザクションとして実行可能 /path/to/table/_delta_log - 0000.json - 0001.json - 0002.json - … - 0010.parquet {Add file1.parquet Add file2.parquet ...

Slide 139

Slide 139 text

ACIDトランザクション データレイクに対する操作を完全に成功す るか、後でリトライするために完全にロール バックされるかします。 全てのオペレーションをトランザクションとして実行可能 /path/to/table/_delta_log - 0000.json - 0001.json - 0002.json - … - 0010.parquet {Remove file1.parquet Add file3.parquet ...

Slide 140

Slide 140 text

ACIDトランザクション データレイクに対する操作を完全に成功す るか、後でリトライするために完全にロール バックされるかします。 全てのオペレーションをトランザクションとして実行可能 /path/to/table/_delta_log - 0000.json - 0001.json - 0002.json - … - 0010.parquet - 0010.json - 0011.json

Slide 141

Slide 141 text

インデックス パーティショニング:典型的なクエリーに対す るファイルレイアウト データスキッピング:統計情報に基づくファイ ルの刈り込み Z-Ordering:複数カラムに基づくレイアウト の最適化 高速アクセスを実現するためにレイアウトを自動で最適化します OPTIMIZE events ZORDER BY (eventType)

Slide 142

Slide 142 text

タイムトラベル 実験、レポートの再現:特定のタイミング、 バージョンのデータを参照 アクシデントからのロールバック:1日前の データにロールバック データのバージョン管理を通じて任意の断面のデータを参照できます SELECT count(*) FROM events TIMESTAMP AS OF timestamp SELECT count(*) FROM events VERSION AS OF version INSERT INTO my_table SELECT * FROM my_table TIMESTAMP AS OF date_sub(current_date(), 1)

Slide 143

Slide 143 text

オープンかつセキュアなデータ共有 使用しているコンピューティングプラット フォームに関係なく容易に他の企業とデータ を共有します。 企業横断でのデータアクセスを集中 管理、監査するためのUnity Catalogとネイ ティブに統合されています。 最先端のツール、プラットフォームと統合さ れることで、共有データを可視化、クエリー、 拡張、管理することが可能となります。 Delta Sharing: データ共有のための業界初オープンプロトコル

Slide 144

Slide 144 text

高信頼、自動化されたデータエンジニアリング データパイプライン(バッチ、ストリーミング)を 構築、管理するための宣言型ツールによる容 易なパイプライン開発、メンテナンス ビルトインの品質管理、データ品質監視によ る自動テスト パイプラインオペレーションに対するディープ な可視性と自動エラーハンドリングによるオ ペレーションの簡素化 Delta Live Tables: 高鮮度、高品質データパイプラインを構築、管理するシンプルな方法

Slide 145

Slide 145 text

©2024 Databricks Inc. — All rights reserved 参考資料 ● Azure Databricks のドキュメント | Microsoft Learn ● はじめてのDatabricks #Databricks - Qiita ● Databricksチュートリアル #Databricks - Qiita ● Databricks記事のまとめページ(その1) #Databricks - Qiita

Slide 146

Slide 146 text

©2024 Databricks Inc. — All rights reserved