クイックスタートwatsonx.aiのエンドツーエンドのユースケースを試す

このチュートリアルでは、金融業界での使用例を取り上げます。 ゴールデン銀行は、投資商品の販売促進を分析するプロセスを導入する必要がある。

必須サービス
watsonx.ai
Watson Machine Learning
Watson Studio
必要なモデル
埋め込みモデル

シナリオ:銀行のマーケティングプロモーションプロセス

この目標を達成するために、典型的なプロセスは以下のようになる:

  1. データエンジニアは、モデルのトレーニングに適した正しいフォーマットを検証するために、銀行のマーケティングデータを視覚化し、準備します。
  2. MLエンジニアは buildS、プロモーションの効果を予測する機械学習モデルを開発した。
  3. MLエンジニアがモデルを展開し、テストします。
  4. データサイエンティストは、 Python コードを書き、銀行の競合他社の類似したプロモーションを見つけます。
  5. 迅速なエンジニア:
    • 要約や質問応答のタスクを実行するためのテンプレートを迅速に作成します。
    • 複数のプロンプトのパフォーマンスを比較し、再トレーニングが必要かどうかを判断します。
    • 再学習データで基盤モデルを調整し、最高のパフォーマンスと費用対効果を実現します。
    • 再トレーニングプロセスを簡素化するパイプラインを作成します。

watsonx.aiを使った基本的なタスクのワークフロー

Watsonx.aiは、このプロセスの各段階を達成する手助けをすることができる。 基本的なワークフローには以下のタスクが含まれます:

  1. プロジェクトを開きます。 プロジェクトは、他の人と協力してデータを扱う場所です。
  2. プロジェクトにデータを追加します。 CSV ファイルや、接続を介してリモートデータソースからのデータを追加できます。
  3. Data Refinery でトレーニングデータを準備します。
  4. 学習データを使ってモデルを訓練します。 モデルのトレーニングには、 AutoAI, SPSS Modeler、Jupyter notebook など、さまざまなツールを使用できます。
  5. プロジェクトまたはデプロイメントスペースでモデルを展開し、テストします。
  6. Jupyterノートブックでモデルに関連するデータを収集し、分析します。
  7. Prompt Lab の基盤モデルプロンプト。
  8. 評価スタジオで迅速なパフォーマンスを比較してください。
  9. Tuning Studio で基盤モデル調整する。
  10. Pipelines を使用して、モデルのライフサイクルを自動化します。

watsonx.aiについて読む

AI主導のソリューションでビジネスプロセスを変革するには、機械学習とジェネレーティブAIの両方を運用フレームワークに統合する必要がある。 Watsonx.aiは、企業が機械学習モデルとジェネレーティブ AI ソリューションを開発および展開できるようにするプロセスとテクノロジーを提供します。

watsonx.aiについてもっと知る

watsonx.aiの使用例についてもっと読む

watsonx.aiのビデオを見る

< このチュートリアルの手順を事前に確認するには、このビデオをご覧ください。 動画で表示されているユーザーインターフェースと若干異なる場合があります。 このビデオは、書面でのチュートリアルに付随するものです。 動画はホーム watsonx 画面から始まります。 ユーザーはプロジェクトセクションのプラスアイコン(+) を選択して新規プロジェクトを作成し、 サンプルタブを選択してサンプルプロジェクトを作成します。

このビデオは、このドキュメントのコンセプトとタスクを学ぶための視覚的な方法を提供します。


watsonx.aiのチュートリアルを試す

このチュートリアルでは、これらのタスクを完了します:




このチュートリアルを完了するためのヒント
このチュートリアルを成功させるためのヒントをいくつか紹介しよう。

ブラウザのウィンドウを設定する

このチュートリアルを最適に体験するには、アカウントを1つのブラウザウィンドウで開いておき、このチュートリアルページを別のブラウザウィンドウで開いておくと、両ウィンドウ間を簡単に切り替えることができます。 2つのブラウザウィンドウを横に並べると、より見やすくなります。

サイド・バイ・サイドのチュートリアルとUI

ヒント:ユーザー・インターフェースでこのチュートリアルを完了する際にガイド・ツアーが表示された場合は、Maybe laterをクリックしてください。



タスク 1:サンプルプロジェクトの作成

このチュートリアルでは、データセット、ノートブック、プロンプトテンプレートを含むサンプルプロジェクトを使用して分析を行います。 以下の手順に従って、サンプルに基づいたプロジェクトを作成してください:

  1. ファイルを getting-started-with-watsonxai.zip ダウンロードしてください。

  2. ナビゲーションメニュー から ナビゲーション・メニュープロジェクト > すべてのプロジェクトを選択します。

  3. プロジェクト]ページで、[新規プロジェクト]をクリックします。

  4. ローカルファイルを選択します。

  5. 事前にダウンロードした圧縮ファイルをアップロードします。

  6. プロジェクトの作成ページで、プロジェクト名をコピー&ペーストし、プロジェクトの説明を任意で追加します。

    Getting started with watsonx.ai
    
  7. 「Create」をクリックします。

  8. View new projectをクリックして、プロジェクトとアセットが正常に作成されたことを確認します。

  9. Assetsタブをクリックすると、プロジェクトのアセットが表示されます。

チェックポイント・アイコン 進捗を確認してください

次の図は、プロジェクトのAssetsタブを示しています。 これでトレーニングデータを可視化する準備が

代替テキスト




タスク2:データの可視化と準備

このデータは、ポルトガルの銀行機関のダイレクトマーケティングキャンペーン(電話)を表しています。 分類の目的は、顧客が定期預金に加入するかどうか(はい/いいえ)を予測することです(カラム current_outcome)。 このデータセットは、UCI Machine Learning リポジトリから取得したデータセットに基づいています。

タスク 2a: データの可視化

まず、データに明らかな異常がないかを確認するために可視化します。 データを可視化するには、以下の手順に従います

  1. データセットを開きます。 bank-marketing-data.csv データセットを開きます。 列には潜在的な顧客に関する情報が含まれています。
  2. アイコン 資産情報を表示 をクリックして 資産表示 、パネル この資産について を閉じます。
  3. 可視化タブをクリックします。
    1. current_outcome 列を可視化する列として選択します。 この列は、連絡した相手が現在のオファーを受け入れたかどうかを示します。この列は、モデルを構築する際のターゲット列となります。
    2. 別の列を追加 」をクリックし、次に 「previous_outcome」列を選択します。 この欄には、連絡した相手が以前のオファーを受け入れたかどうかを示します。 青いドットが付いたチャートタイプが推奨チャートです。
    3. ツリーチャートの種類を選択します。 このグラフは、以前のオファーを受諾した人々と、それらの同じ人々が現在のオファーを受諾したかどうかを比較したものです。
    4. ルートノードにカーソルを合わせると、データセット内のレコードの総数を確認できます。
    5. 同様に、「いいえ」 と「はい」のノードにカーソルを合わせると、それらの合計が表示されます。
    6. ラベルのないノードにカーソルを合わせると、 current_outcomeフィールドがnullであるデータセット内のレコードの総数を確認できます。

チェックポイント・アイコン 進捗を確認してください

次の画像は、 bank-marketing-data.csv ファイルの視覚化を示しています。 これで、トレーニングデータの準備が整いました。

トレーニングデータの可視化

タスク 2b: データの準備

current_outcome が対象の列であるため、null値の行を削除するデータセットを用意する必要があります。 データセットを準備するには、以下の手順に従います

  1. データの準備 」をクリックすると、 Data Refinery が開きます。
  2. 資産について のウィンドウを閉じます。
  3. current_outcome 列を選択します。
  4. [新しいステップ] > [空の行を削除] をクリックします。
  5. 「Apply」をクリックします。
  6. [プロファイル] タブをクリックして、アクションを確認します。
  7. current_outcomeの列までスクロールすると、すべての値が「はい」または「いいえ」のいずれかであることがわかります。

チェックポイント・アイコン 進捗を確認してください

次の画像は、[プロファイル] タブの [現在の結果] 列を示しています。 これで、このトレーニングデータを使ってモデルを構築する準備ができた。

プロファイルタブのcurrent_outcome列

タスク 2c: 精製されたデータを保存する

精製したデータを保存するには、ターゲットデータセットのファイル名を指定し、 ジョブを作成して実行します。 以下の手順に従って、精製したデータを保存してください

  1. ファイル名を指定してください:

    1. 設定アイコンをクリックしてください 設定
    2. ターゲットデータセットページをクリックします。
    3. プロパティの編集をクリックします。
    4. データ資産*を bank-marketing-data-prepared.csv に変更してください。
    5. 保存 」をクリックします。
    6. 「Apply」をクリックします。
  2. ジョブを作成して実行します

    1. ツールバーから アイコン 求人 をクリックし、 を選択します 保存してジョブを作成する
      ジョブを保存し、作成する

    2. 次の名前を入力し、 [次へ] をクリックします。

      Bank marketing experiment
      
    3. 「Configure(設定)」ページで、実行環境を選択し、「Next(次へ)」 をクリックします。

    4. スケジュールページで、デフォルト値を受け入れ、「次へ」 をクリックします。

    5. On the 通知する page, keep notifications turned off for this job, and click .

    6. Review the details, and click 作成して実行 to run the job immediately.

  3. When the job is created, click the ジョブ link in the notification to view the job in your project. Alternatively, you can navigate to the 求人 tab in the project, and click the job name to open it.

  4. When the 状態 for the job is 完了, use the project navigation trail to navigate back to the 資産 tab in the project.

  5. データ > データ資産 のセクションをクリックすると、 Data Refinery フローの出力が表示されます。 bank-marketing-data-prepared.csv を開いて値を確認します。

チェックポイント・アイコン 進捗を確認してください

次の画像は、 bank-marketing-data-prepared.csv ファイルを示しています。 これで、このトレーニングデータを使ってモデルを構築する準備ができた。

bank-marketing-data-prepared.csv ファイルのプレビュー




タスク3:モデルのトレーニング

モデルのトレーニングには、 AutoAI, SPSS Modeler、Jupyter notebook など、さまざまなツールを使用できます。 このチュートリアルでは、 AutoAI を使用して予測二値分類モデルをトレーニングします。 以下の手順に従って、AutoAI実験を作成する:

  1. プロジェクトのAssetsタブに戻り、New asset > Build machine learning models automaticalyをlクリックする。

  2. 「Build machine learning models automatically(機械学習モデルを自動的に構築)」 ページで、名前を入力します

    Bank marketing experiment
    
  3. 「Create」をクリックします。

  4. この実験のタスクとして、機械学習モデルの構築を選択します。

  5. データソースの追加ページで、トレーニングデータを追加します:

    1. プロジェクトから選択をクリックします。

    2. Data asset > bank-marketing-data-prepared.csv を選択し、 選択資産 をクリックします。

  6. 時系列分析を作成するには番号を選択

  7. 予測の列には現在の結果を選択します。

  8. 「実験の実行」をクリックします。 模型が走行するにつれ、パイプライン建設の工程を示すインフォグラフィックが表示されます。
    モデルパイプラインの構築

    AutoAI, で各機械学習手法で利用可能なアルゴリズム、または推定器の一覧については、 AutoAI の実装の詳細を参照してください。

  9. 実験の実行が完了したら、ランキング付きのパイプラインをリーダーボードで確認します。

    パイプラインのリーダーボード

  10. パイプライン比較をクリックすると、両者の違いを確認できます。

    パイプライン比較指標表

  11. パイプラインのリーダーボードで、最も高い順位のパイプラインをクリックすると、パイプラインの詳細が表示されます。

  12. モデル評価ページで、 ROC曲線チャートモデル評価指標表でモデルのパフォーマンスを確認します。

  13. モデルを保存します。

    1. 名前を付けて保存」をクリックする。

    2. モデルを選択してください。

    3. モデル名には

      Bank marketing prediction model
      
    4. 「Create」をクリックします。 これにより、パイプラインがモデルとしてプロジェクトに保存されます。

  14. モデルが保存されたら、通知内の「View in project」リンクをクリックし、プロジェクトでモデルを表示します。 または、プロジェクトのAssetsタブに移動し、Modelsセクションでモデル名をクリックすることもできます。

チェックポイント・アイコン 進捗を確認してください

以下の画像はそのモデルである。

以下の画像はそのモデルである。




タスク4:モデルのデプロイ

次の作業は、モデルデプロイメントスペースプロモートし、 デプロイメントを作成することです。

タスク 4a: テストデータをデプロイメント・スペースプロモートする

サンプルプロジェクトにはテストデータが含まれています。 そのテストデータをデプロイメントスペースに昇格させ、デプロイされたモデルをテストするためにテストデータを使用できるようにします。 テスト データを配置スペースに昇格させるには、次の手順に従います:

  1. プロジェクトのAssetsタブに戻る。

  2. データ資産bank-marketing-test-data.csvオーバーフロー・メニュー メニュー オーバーフロー をクリックし、を選択します スペースへのプロモート

  3. 既存の配置スペースを選択します。 もし配置スペースがなければ:

    1. 新しい配置スペースを作成]をクリックします。

    2. 名前にはこう入力する:

      Bank marketing promotion space
      
    3. 「Create」をクリックします。

    4. スペースの準備ができたら通知を閉じる。

  4. リストから新しい配置スペースを選択します。

  5. プロモートをクリックする。

  6. 閉じる をクリックすると、プロジェクトの 資産 タブに戻ります。

チェックポイント・アイコン 進捗を確認してください

次の画像は、スペース page.

への昇格
を示す

次の画像は「宇宙へのプロモート」ページです。

タスク4b:モデルを配備スペースに普及させる

モデルを配置する前に、モデルを配置スペースにプロモートする必要があります。 以下の手順に従って、モデルを配置スペースにプロモートしてください:

  1. データ資産銀行マーケティング予測モデルオーバーフロー・メニュー メニュー オーバーフロー をクリックし、を選択します スペースへのプロモート

  2. リストから同じ配置スペースを選択します。

  3. プロモートをクリックする。

  4. 昇格させた後、スペース内のモデルに移動するオプションを選択します。

  5. プロモートをクリックする。

注:スペース内のモデルをプロモートした後、そのモデルに移動するオプションを選択しなかった場合、ナビゲーション メニューを使用して配置に移動し、配置スペースとモデルを選択できます。

チェックポイント・アイコン 進捗を確認してください

次の画像は、 デプロイメント・スペース内のモデルを示している。

以下の画像は、展開空間内のモデルを示している。

タスク4c:モデル展開の作成とテスト

モデルが配置スペースに配置されたので、以下の手順に従ってモデルの配置を作成します:

  1. モデルを開いた状態で、新規配置をクリックします。

    1. Deployment typeとして Onlineを選択する。

    2. 配備名には、次のように入力する:

      Bank marketing model deployment
      
    3. 「Create」をクリックします。

  2. 配置が完了したら、配置名をクリックして配置の詳細ページを表示します。

  3. API リファレンスのタブで、アプリケーションでこのモデルにプログラムでアクセスするために使用できる、スコアリングエンドポイントを確認します。

  4. モデルをテストする。

    1. Testタブをクリックする。 デプロイされたモデルは、 デプロイメントから2つの方法でテストできます。フォームを使用してテストするか、JSONコードを使用してテストします。 この場合、サンプルプロジェクトからデプロイメントスペースに昇格させた CSV ファイルを選択します。

    2. テストデータを探すには、Search in spaceをクリックします。

    3. Data asset > bank-marketing-test-data.csv を選択します。

    4. 確認をクリックします。

    5. [予測] をクリックし、テストデータの 60 件のレコードの予測を確認します。 モデルは、銀行顧客が定期預金に加入すると予測したすべての顧客に対して「はい」を返します。

チェックポイント・アイコン 進捗を確認してください

以下の画像は、デプロイされたモデルのテスト結果である。

以下の画像は、デプロイされたモデルのテスト結果である。




タスク5:競合他社のマーケティングプログラムを収集する

Prompt Lab は構造化および非構造化テキストに対応していますが、モデルが処理できる正しいデータを入力することが重要です。 Jupyter notebookで Python のコードを使用すれば、これを行うことができます。

基盤モデルでは、1回のプロンプト(コンテキストウィンドウとして知られている)で処理できるトークンの数に制限があるため、この制限内に収まるようにデータを分割または要約する必要がある場合があります。 このステップでは、入力データが重要な情報を失うことなく、基礎モデルが効果的に処理できる形式であることを確認する。

ノートブックを実行するには、以下の手順に従ってください:

  1. ナビゲーションメニュー から ナビゲーション・メニュープロジェクト > すべてのプロジェクトを選択します。
  2. watsonx.ai プロジェクトの開始を開きます。
  3. 「アセット (Assets)」タブをクリックします。
  4. 競合他社のプログラムからテキストを抽出・分割するノートブックのオーバーフロー メニュー オーバーフロー・メニュー をクリックし、「 編集 」を選択します。
  5. セットアップのセクションを完了します。
    1. 最初のセルの「 実行 実行 」アイコンをクリックしてライブラリをインポートします。
    2. 必要なAPIキーを取得する:
      1. リンクに従って、TheNewsAPIでアカウントとAPIキーを作成してください。
      2. APIキーをthenewsapi_key変数に貼り付ける。
      3. リンクに従ってArticlExtractorでアカウントとAPIキーを作成してください。
      4. APIキーをextract_key変数に貼り付ける。
    3. セルを実行して2つのAPIキー変数を設定する。
  6. ニュース記事のURLを取得する関数を定義するセクションでセルを実行する。
    • このセクションの最初のセルでは、 TheNewsAPI's トップ記事からデータを取得する関数を定義し、関連ニュースを取得できるようにパラメータを設定します。
    • このセクションの2番目のセルでは、応答に基づいてURLのリストを取得する関数を定義します。
  7. Define the function to extract news textセクションのセルを実行する。
    • 最初のセルでは、 ArticlExtractor API を使用して特定のニュース URL からニュースのテキストを抽出する関数を定義します。
    • 2番目のセルは、TheNewsAPIから取得したすべての記事URLからニューステキストを結合する関数を定義している。
  8. Define the function to chunk news textセクションでセルを実行する。
    • このセクションの最初のセルでは、ニューステキストのコンテクストを考慮して文字テキストを分割するために、 LangChain を使用する関数を定義しています。 基盤モデルがテキストからの情報を確実に取得できるようにするには、トークンがコンテキスト・トークン・ウィンドウの制限を超えないようにする必要があります。
    • このセクションの2番目のセルには、応答が表示されます。 データの最終出力は、 Prompt Lab に送られる準備ができていることがわかります。 LangChain’sのテキスト・スプリッターは、長いテキストを意味的に意味のある塊(センテンス)に分割し、それらを再び全体のテキストとして結合して処理します。 チャンクの最大サイズを調整できる。

チェックポイント・アイコン 進捗を確認してください

次の画像は完成したノートブックです。 これで、 基盤モデルプロンプトに使うチャンク・テキストができた。

完成したノート




タスク6:基礎モデルのプロンプト

関連するニュース記事を適切に分割したので、 Prompt Lab で独自のプロンプトテンプレートを作成するか、サンプルプロジェクトのサンプルプロンプトテンプレートを使用することができます。 このサンプルプロジェクトには、要約や質問に答えるタスクのためのサンプルプロンプトテンプレートが含まれています。 Prompt Lab で基盤モデルプロンプトするには、以下の手順に従ってください:

タスク 6a: 要約タスク

まず、要約プロンプトテンプレートをお試しください。

  1. プロジェクトのAssetsタブに戻る。

  2. 銀行プロモーションのサマリープロンプトテンプレートをクリックします。 これにより、 Prompt Lab でプロンプトテンプレートが開きます。

  3. 編集]をクリックして、プロンプトテンプレートを編集モードで開きます。

    要約タスクでは、チャンク化されたニュース記事のテキストを入力例として使用し、マーケティング担当者が通常、プロモーションオファーを説明する内容を手動で入力することを出力例として示します。 これは、マーケティングチームが自ら書くであろう内容に近いアウトプットを確保するためです。

  4. このプロンプトに使用されている基盤モデル XX である。

  5. 生成」をクリックすると、要約結果が表示されます。

  6. ノートブックのチャンクされたニュース記事から、さまざまな入力と出力のテキストを試す。

タスク 6b: 質問応答タスク

次に、質問応答プロンプトテンプレートをお試しください。

  1. 保存済みプロンプトをクリックすると、 保存されたプロンプト プロジェクトから保存されたプロンプトを表示できます。

  2. 保存したプロンプトのリストから 「Question Answer Bank Promotions」 プロンプトテンプレートをクリックします。

  3. 編集]をクリックして、プロンプトテンプレートを編集モードで開きます。

    質問と回答のタスクでは、入力例として質問を使い、出力例として要求される詳細レベルと望ましい形式の回答を使います。

  4. このプロンプトに使用されている基盤モデル次のとおりである。 flan-t5-xxl-11b.

  5. 生成」をクリックすると、要約結果が表示されます。

  6. 入力と出力のテキストを変えて実験する。

タスク 6c: モデルパラメータを調整する

Prompt Lab では、特定のタスクに合わせてモデルの出力を最適化するために、デコード設定を調整することができます

  • デコード
    • 貪欲:常に最も確率の高い単語を選択する
    • サンプリング:単語選択のばらつきをカスタマイズする
  • 反復ペナルティ:どの程度の反復が許されるか
  • 停止基準:生成された場合にテキスト生成を停止させる1つ以上の文字列

この柔軟性により高度なカスタマイズが可能となり、モデルがタスクの要件と制約に最適なパラメータで動作するようにすることができます。

Prompt Lab では、タスクがモデルの運用範囲内に収まるようにトークン制限を設定することができます。 この設定により、モデルの技術的限界と応答の包括性のバランスが取れ、タスクの効率的かつ効果的な処理が可能になります。

タスク 6d: ドキュメントとのチャット

You can also use チャット mode to prompt a foundation model using a sample PDF document that provides facts. 1つまたは複数のドキュメントを追加すると、 基盤モデル質問に回答するために使用するインメモリベクトルインデックスが作成されます。

  1. 「新規」 をクリックします。

  2. チャットをクリックします。

  3. オプション:モデルを選択します。例えば、 llama-3-1-8b-instruct

  4. 「書類をアップロード」 アイコンをクリックし、「 書類を追加 文書のアップロード」を選択してください。

  5. プロジェクトから選択をクリックします。

    1. Bank CD Rates.pdf を選択します。
    2. 「選択」 をクリックします。
  6. Back on the Ground gen AI with vectorized documents ページに戻り、名前を確認して、Create をクリックします。

  7. 何かを入力 」フィールドに以下の質問を入力し、 送信アイコン 送信 をクリックすると答えが表示されます。

    Which bank has the best APY for a term deposit and what is the rate?
    

チェックポイント・アイコン 進捗を確認してください

次の画像は Prompt Lab を示しています。

その Prompt Lab



次のステップ

プロンプト・ノートを使ってみる

Prompt Lab から、ノートブック形式で作業内容を保存できます

  1. 保存したプロンプトテンプレートをロードする。
  2. Save work > Saveasを クリックします。
  3. ノートブックを選ぶ。
  4. 名前を入力する。
  5. 保存]をクリックし、プロンプトノートブックを検索します。
  6. もう一方のプロンプトテンプレートについても、この手順を繰り返します。

基礎モデルの調整

基盤モデルを調整して、プロンプトエンジニアリングのみの場合と比較してモデルのパフォーマンスを向上させたり、より大きなモデルと同等のパフォーマンスを発揮するより小さなモデルを展開することでコストを削減したりしたい場合もあるでしょう。 基礎モデルのチューニングのチュートリアルを参照してください。

追加リソース