メインコンテンツまでスキップ

コンセプト:DatabricksにおけるAI

AI アプリは、大規模言語モデル、画像生成モデル、音声合成モデルなどの AI モデルを使用して、新しい出力を作成したり、複雑なタスクを自動化したり、ユーザー入力に基づいてインテリジェントな対話を行ったりするアプリケーションです。

AIアプリは、LLMや他のAIモデルへのシンプルな呼び出し、または複雑なエージェントによって動作します。複雑さのレベルについて詳しくはこちらをご覧ください。

エージェント、ツール、評価、モデル、および AI アプリのその他の側面は、独自のデータでカスタマイズできます。このデータドリブンのカスタマイズはデータインテリジェンスにつながり、既製の AI モデルが提供する一般的なインテリジェンスを超えることを可能にします。

AIアプリケーション

ユーザー向けのAIアプリケーションには、以下のようなさまざまな形があります。

AIアプリケーションの成功には、多くの場合、アプリケーション開発とAI評価という2つのスキルセットが必要です。AIアプリ開発は、非AIアプリケーション開発と非常によく似ており、アプリケーションの種類に応じたソフトウェアスキルを必要とします。ただし、AIアプリケーションの評価には、AIからの複雑で自由形式の応答に対応するための専門的なツールと技術が必要です。

Databricksで業界固有のAIアプリを構築する方法については、以下を参照してください:

AI評価

AIモデル、エージェント、およびアプリケーションは、多くの場合、複雑でオープンエンドな動作を持っています。ユーザーは任意のクエリーを入力できるように設定できます。エージェントは、実行中にテキスト、画像などを収集できます。出力は任意のテキスト、画像、またはその他のメディアにすることができ、多くの"良い"回答が存在する可能性があります。

これらの複雑さにより、AI の評価が困難になります。適切な評価には以下が必要です。

  • AI を用いた自動化による AI の評価
  • 専門家やユーザーからのフィードバックに基づいて、正解データを収集し、自動評価を較正する。
  • 複雑なエージェントを深く掘り下げて、その動作を理解し、デバッグする

Databricks 管理の MLflow と関連ツールは、AI 評価の基盤となります:

エージェント

エージェントまたはエージェントシステムとは、目標を達成するために環境内で自律的に認識し、意思決定を行い、行動できるAIを活用したシステムです。プロンプトされた場合にのみ出力を生成するスタンドアロンの AI モデルとは異なり、エージェントシステムはある程度の エージェンシー を備えています。最新のエージェントは、AIモデルをシステムの「頭脳」として使用します。そのシステムとは、次のとおりです。

  1. ユーザーからのリクエスト、または他のエージェントからのメッセージを受信する。
  2. 処理方法を決定する理由:どのデータを取得するか、どのロジックを適用するか、どのツールを呼び出すか、またはユーザーから追加の入力を求めるかどうか。
  3. プランを実行し、複数のツールを呼び出したり、サブエージェントに処理を委任したりする場合があります。
  4. 回答を返すか、ユーザーにさらなる説明を求めます。

一般的なインテリジェンス (AI モデルの事前学習済み機能)とデータ インテリジェンス(ビジネスに固有の専門知識と APIs)を橋渡しすることで、エージェント システムは、高度な顧客サービス フロー、データ豊富なアナリティクス ボット、複雑な運用タスクのためのマルチエージェント オーケストレーションなど、影響の大きいエンタープライズ ユースケースを実現します。

単純な AI モデルから複雑なエージェントまで、連続的につながっています。詳細については、エージェント システム設計パターンをご覧ください。

Databricksは、完全ガイド付きから完全カスタマイズまで、エージェント構築のための幅広いオプションを提供しています。

  • ナレッジアシスタントAI機能は、ガイド付きエージェント構築機能を提供します。

  • AI Playgroundは、ツール呼び出しエージェントのプロトタイプを作成するためのUIを提供し、そこから生成されたエージェントコードをエクスポートできます。

  • カスタムエージェントを使用すると、カスタムコードまたはサードパーティのエージェント作成ライブラリを使用してエージェントを構築およびデプロイできます。

ツール

エージェントはツールを呼び出して、情報を収集したり、アクションを実行したりできます。ツールは、LLMが呼び出して明確に定義されたタスクを完了できる単一対話型の機能です。AI モデルは通常、各ツール呼び出しに対してパラメーターを生成し、ツールは直接的な入出力のやり取りを提供します。

一般的なツールカテゴリは以下のとおりです。

  • データを取得または分析するツール

    • 意味的検索 :ベクトルインデックスを照会して、関連するテキストやその他の非構造化データを見つけます。
    • 構造化取得 : 実行SQLクエリまたはAPIsを使用して構造化情報を取得します。
    • ウェブ検索ツール :インターネットまたは社内ウェブコーパスを検索します。
    • 従来のMLモデル : 機械学習モデルを呼び出して、分類、回帰、またはその他の予測を実行します。
    • AI モデル : コードや画像などの特殊な出力を生成します。
  • 外部システムの状態を変更するツール

    • API呼び出し :CRMエンドポイント、内部サービス、またはその他のサードパーティ統合を呼び出します。
    • Eメールまたはメッセージングアプリとの連携 :メッセージを投稿したり、通知を送信したりできます。
  • ロジックを実行したり、特定のタスクを実行したりするツール

    • コード実行 :ユーザーが提供したコード、またはLLMが生成したコードをサンドボックス内で実行します。

ツールはエージェントのロジックに組み込むことも、 MCPのような標準化されたインターフェースを使用してアクセスすることもできます。

ツール対エージェント:

  • ツールは、明確に定義された単一の操作を実行する。エージェントは、より自由度の高いタスクを実行できる。
  • ツールは一般的にステートレスであり、各呼び出しを超えて継続的なコンテキストを保持しません。エージェントは、タスクを繰り返し解決しながら状態を維持する。

工具のエラー処理と安全性:

各ツール呼び出しはAPI呼び出しなどの外部操作であるため、システムは障害を適切に処理する必要があります。タイムアウト、不正な応答、または無効な入力によって、エージェント自体が完全に機能停止するべきではない。本番運用では、許可されるツール呼び出しの数を制限し、ツール呼び出しが失敗した場合のフォールバック応答を用意し、エージェントシステムが同じ失敗したアクションを繰り返し実行しないようにガードレールを適用します。

DatabricksのAIツールについて詳しくはこちらをご覧ください。

AI モデルと LLM

大規模言語モデル(LLM)とは、膨大なテキストデータセットで学習されたAIモデルであり、人間の言語を理解、生成、推論することができる。LLM(言語レベルモデリング)は、入力されたプロンプトに基づいて文脈的に関連性の高いテキストを予測・生成することで、チャットボット、コードアシスタント、コンテンツ生成ツールなどのアプリケーションを支えています。

より一般的には、AI モデルまたは基盤モデルは、テキスト以外のモダリティを学習するために、大量のテキスト、画像、動画、音声、その他のデータでトレーニングされます。マルチモーダルモデルは、人間の言語と画像、音声、その他のメディアを結び付ける方法を学習します。LLM は AI または基盤モデルの一種ですが、これらの用語はしばしば広く、互換的に使われます。

AIモデルは、エージェントとアプリの背後にあるインテリジェンスを提供します。シンプルなアプリは、プロンプトエンジニアリングでカスタマイズされた単一のモデルを使用して構築されることがよくあります。

DatabricksでAIモデルを使用する方法については、以下を参照してください:

迅速なエンジニアリング

AIモデルは通常、プロンプト、つまりユーザー入力をどのように処理するかをモデルに伝える指示を受け取ります。プロンプトは、詳細なステップ、専門知識、データ、その他の情報を使用して、高度にカスタマイズできます。

Databricksは、迅速なエンジニアリングを行うための柔軟な方法を提供します。例えば:

  • ナレッジアシスタントは、お客様のデータとフィードバックに基づいて、システム内部で迅速なエンジニアリング作業を自動化します。

  • AI Playground 、手動でインタラクティブなプロンプト エンジニアリングのための UI を提供します。

  • MLflowプロンプト最適化DSPy 、データドリブン プロンプト最適化ルーチンを提供します。

ファインチューニングモデル

AIモデルは、独自のカスタムデータを使用して特定のドメインまたはアプリケーション向けにモデルをカスタマイズするファインチューニングによってもカスタマイズできます。

Databricksは、モデルを微調整するための柔軟な方法を提供します。例えば:

  • Knowledge Assistant はデータドリブンのカスタマイズを自動化し、内部で微調整を行う可能性があります。
  • AI Runtime 、完全にカスタマイズ可能なファインチューニングのためのコンピュート インフラストラクチャを提供します。 例をご覧ください

AI プラットフォームとは何ですか?

AI には、統合されたデータ + AI プラットフォームが必要です。開発者と管理者双方にとって、AI の主要コンポーネントは、シンプルで統合されたプラットフォームで接続され、統制される必要があります。

主な構成要素は以下のとおりです。

  • AIアセット(モデル、エージェント、アプリなど)
  • ファイル、テーブル、処理パイプライン、ベクトルインデックス、フィーチャーストアなどのデータ資産
  • AIの展開(モデルやエージェントのエンドポイントなど)
  • AIおよびデータ資産の構築と展開のためのツール

主なガバナンス機能は以下のとおりです。

Databricks AI の機能およびDatabricks のアーキテクチャも参照してください。

汎用知能とデータインテリジェンス

一般知能とデータ知能を比較した図。

  • 一般知能 とは、LLMが多様なテキストに関する広範な事前訓練によって本質的に習得する知識を指します。これは言語能力の向上と一般的な推論能力の向上に役立ちます。
  • データインテリジェンスとは、組織のドメイン固有のデータとAPIs指します。 これには、顧客記録、製品情報、ナレッジベース、または貴社独自のビジネス環境を反映した文書などが含まれる可能性があります。

エージェントシステムは、これら2つの知識のソースを融合させます。LLM の広範で一般的な知識から起動し、その後、詳細な質問に答えたり、特殊なアクションを実行したりするために、リアルタイムまたはドメイン固有のデータを取り込みます。Databricks を使用すると、あらゆるレベルで AI アプリにデータインテリジェンスを組み込むことができます。

AI、機械学習、ディープラーニング

AI、Machine Learning (機械学習)、ディープラーニング (DL) の境界は曖昧になる可能性があります。このガイドはAIに焦点を当てていますが、以下のDatabricksプラットフォームの機能が、機械学習、ディープラーニング、AIをサポートしています。

その他のリソース