DatabricksにおけるAIと機械学習

この記事では、AI と機械学習のワークフローの構築と監視に役立つ Databricks が提供するツールについて説明します。 この図は、これらのコンポーネントがどのように連携して、モデルの開発とデプロイのプロセスを実装するかを示しています。

機械学習の図:Databricksでのモデルの開発とデプロイメント

機械学習とディープラーニングに Databricks を使用する理由

Databricks を使用すると、機械学習パイプライン全体でエンドツーエンドのガバナンスを使用して、単一のプラットフォームに完全な機械学習ライフサイクルを実装できます。 Databricks には、機械学習ワークフローをサポートするための次の組み込みツールが含まれています。

Databricks でのディープラーニング

ディープラーニングアプリケーション用のインフラストラクチャの構成は困難な場合があります。

Databricks Runtime for Machine Learning は、TensorFlow、PyTorch、Keras などの最も一般的なディープラーニング ライブラリと、Petastorm、Hyperopt、Horovod などのサポート ライブラリの互換性のあるバージョンが組み込まれたクラスターを使用して、これを処理します。 Databricks Runtime 機械学習クラスターには、ドライバーとサポート ライブラリによる事前構成された GPU サポートも含まれています。 また、機械学習ワークフローや AI アプリケーションをスケーリングするためのコンピュート処理を並列化するRayのようなライブラリもサポートしています。

Databricks Runtime ML クラスターには、ドライバーとサポート ライブラリを備えた事前構成済みの GPU サポートも含まれています。 Mosaic AI Model Serving を使用すると、追加の構成なしで、ディープラーニング モデル用のスケーラブルな GPU エンドポイントを作成できます。

機械学習アプリケーションの場合、Databricks では、Databricks Runtime for Machine Learning を実行しているクラスターを使用することをお勧めします。 「 Databricks Runtime を使用してクラスターを作成する」を参照してください。

Databricksでディープラーニングを開始するには、以下を参照してください。

Databricksの大規模言語モデル(LLM)と生成AI

Databricks Runtime for Machine Learning には、 Hugging Face TransformersLangChain などのライブラリが含まれており、既存の事前トレーニング済みモデルやその他のオープンソース ライブラリをワークフローに統合できます。 Databricks MLflow 統合により、Transformers パイプライン、モデル、処理コンポーネントで MLflow 追跡サービスを簡単に使用できます。 さらに、OpenAI モデルや、 John Snow Labs などのパートナーのソリューションを Databricks ワークフローに統合できます。

Databricks を使用すると、特定のタスクに合わせてデータの LLM をカスタマイズできます。 Hugging FaceやDeepSpeedなどのオープンソースツールのサポートにより、LLMの基礎を効率的に取得し、独自のデータを使用してトレーニングして、特定のドメインとワークロードの精度を向上させることができます。 その後、生成AI アプリケーションでカスタム LLM を活用できます。

さらに、Databricks には Foundation Model APIs外部モデルが用意されており、サービスエンドポイントから最先端のオープン モデルにアクセスしてクエリを実行できます。基盤モデル APIsを使用すると、開発者は独自のモデル デプロイを維持することなく、高品質の生成 AI モデルを活用するアプリケーションを迅速かつ簡単に構築できます。

Databricks は、SQL ユーザー向けに、SQL データアナリストがデータ パイプラインとワークフロー内で OpenAI を含む LLM モデルに直接アクセスするために使用できる AI Functionsを提供します。 「DatabricksのAI関数」を参照してください。

Databricks Runtime for Machine Learning

Databricks Runtime for Machine Learning (Databricks Runtime ML) は、最も一般的な ML および DL ライブラリを含む、事前に構築された機械学習とディープラーニング インフラストラクチャを使用してクラスターの作成を自動化します。 Databricks Runtime MLの各バージョンのライブラリの完全なリストについては、リリースノートを参照してください。

機械学習ワークフローの Unity Catalog のデータにアクセスするには、クラスターのアクセス モードがシングル ユーザー (割り当て済み) である必要があります。 共有クラスターは、機械学習の Databricks Runtime と互換性がありません。 また、 Databricks Runtime 機械学習は、 Table ACLクラスター または spark.databricks.pyspark.enableProcessIsolation configtrue に設定されているクラスターではサポートされていません。

Databricks Runtime MLを使用したクラスターの作成

クラスターを作成するときに、 Databricks ランタイム バージョンのドロップダウン メニューから Databricks Runtime ML バージョンを選択します。 CPU 対応と GPU 対応の両方の ML ランタイムが利用可能です。

機械学習 Databricks Runtime を選択

ノートブックの ドロップダウン メニューからクラスターを選択すると、クラスター名の右側に Databricks Runtime のバージョンが表示されます。

Databricks Runtime機械学習のバージョンを表示

GPU 対応の 機械学習ランタイムを選択すると、互換性のある ドライバー の種類と ワーカーの種類を選択するように求められます。 互換性のないインスタンスタイプは、ドロップダウンメニューでグレー表示されます。 GPU 対応インスタンスタイプは、[ GPU アクセラレーション ] ラベルの下に一覧表示されます。

注:

機械学習ワークフローの Unity Catalog のデータにアクセスするには、クラスターのアクセス モードがシングル ユーザー (割り当て済み) である必要があります。 共有クラスターは、Databricks Runtime for Machine Learning と互換性がありません。 クラスターの作成方法の詳細については、コンピュート 構成リファレンス を参照してください。

PhotonとDatabricks Runtime ML

Databricks Runtime 15.2 ML 以上を実行する CPU クラスターを作成するときに、 Photon を有効にすることを選択できます。 Photon は、Spark SQL、Spark DataFrames、機能エンジニアリング、GraphFrames、xgboost4j を使用するアプリケーションのパフォーマンスを向上させます。 Spark RDD、Pandas UDF、Python などの非 JVM 言語を使用するアプリケーションのパフォーマンスが向上することは期待できません。 したがって、XGBoost、PyTorch、TensorFlow などの Python パッケージでは、Photon による改善は見られません。

Spark RDD APIsとSpark MLlibにはPhotonとの互換性が制限されています。 Spark RDD または Spark MLlib を使用して大規模なデータセットを処理する場合、Spark メモリの問題が発生する可能性があります。 Spark メモリの問題を参照してください。

Databricks Runtime MLに含まれるライブラリ

Databricks Runtime 機械学習には、さまざまな一般的な機械学習ライブラリが含まれています。 ライブラリはリリースごとに更新され、新機能と修正が含まれています。

Databricks では、サポートされているライブラリのサブセットが最上位ライブラリとして指定されています。 これらのライブラリの場合、Databricks はより高速な更新頻度を提供し、ランタイム リリースごとに最新のパッケージ リリースに更新します (依存関係の競合を除く)。 Databricks は、最上位ライブラリの高度なサポート、テスト、埋め込み最適化も提供します。

最上位およびその他の提供されているライブラリの完全な一覧については、 Databricks Runtime機械学習の リリースノート を参照してください。

次のステップ

始めるには、以下を参照してください。

Databricks Machine Learningで推奨されているMLOpsワークフローについては、以下を参照してください。

主要なDatabricks Machine Learning機能については、以下を参照してください。