Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

プレイグラウンド

もう1つのタイプのユースケースアセットであるプレイグラウンドは、LLMブループリントを作成して操作するためのスペースで、それぞれのレスポンスを比較して、ビジネス上の問題を解決するために本番環境でどれを使用するかを決定します。 LLMブループリントは、LLMからレスポンスを生成するために必要なものの完全なコンテキストを表し、結果の出力は、その後プレイグラウンド内で比較できます。 この情報は、LLMブループリント設定でキャプチャされます。

ベクターデータベースの有無にかかわらず、プレイグラウンドを使用できます。 1つのユースケースに複数のプレイグラウンドを存在させることができます。また、1つのプレイグラウンド内に複数のLLMブループリントを存在させることができます。

プレイグラウンドを操作するためのシンプルなワークフローは次のとおりです。

  1. プレイグラウンドを追加します
  2. ベースLLM、そしてオプションでシステムプロンプトと ベクターデータベースを含めて LLMブループリント設定を行います。
  3. チャットによりLLMブループリントのテストとチューニングを行います。
  4. 追加のLLMブループリントを構築します
  5. (オプション)オプションとして、プレイグラウンドの 比較タブを使用して、LLMブループリントを並べて比較します。

プレイグラウンドの追加

プレイグラウンドを追加するには、最初に ユースケースを作成し、次のいずれかを実行します。

  • ドロップダウンから追加 > プレイグラウンドをクリックします。
  • プレイグラウンドタブを選択し、プレイグラウンドを追加ボタンをクリックします。 このボタンは、ユースケースに追加された最初のプレイグラウンドでのみ使用できます。それに続くプレイグラウンドには追加ドロップダウンを使用します。

プレイグラウンドを作成すると、そのプレイグラウンドが開き、LLMブループリントのドラフトが 設定可能な状態で表示されます。 プレイグラウンドから、LLMブループリントのドラフトの作成、それらの操作とファインチューニング、そして比較と潜在的な将来のデプロイのためにそれらを保存するための、すべてのコントロールにアクセスできます。

備考

デフォルトでは、プレイグラウンドの名前はPlayground <timestamp>です。 アクションメニューでプレイグラウンドの情報を編集を選択して、ユースケースディレクトリから名前を変更できます。

プレイグラウンドの要素は以下の通りです。

要素 説明
1 キャンバスセレクター ワークスペースをLLMブループリント開発または 比較のいずれかに設定します。
2 ブループリントのドラフトを作成 現在の画面を離れ、新しいブループリントのドラフトを作成するため、空白のキャンバスを開きます。
3 表示コントロール モーダルを開いて、プレイグラウンドでドラフトとLLMブループリントをソート、グループ化、フィルターします。
4 ブループリントコントロール アクションへのアクセスが可能となります。選択は、ブループリントのステータス(ドラフトまたは保存済み)によって異なります。
5 設定 最初にLLMブループリントで使用するLLMを設定し、選択したら、 ベクターデータベースの追加を含む関連する設定パラメーターを設定します。
6 プロンプト LLMブループリントまたはドラフトに送信されるプロンプトを入力する入力ボックス。

中央のセクションでは、DataRobotがLLMレスポンスを返します。

プレイグラウンドを作成した後、ブレッドクラムドロップダウンを使用してそれらを切り替えることができます。

設定を行う

新しいドラフトLLMブループリントを作成するときはいつでも、構築の最初のステップはベースLLMを選択することです。 これは、プレイグラウンドの設定セクションから行います。

DataRobotには LLMの選択機能があります。実際に何が利用可能となるかはクラスターとアカウントタイプによって異なります。 ベースLLMを選択して、追加の設定オプションを表示します。

設定 説明
システムプロンプト オプションのフィールドであるシステムプロンプトは、個々のすべてのプロンプトの先頭にある「汎用」プロンプトです。 LLMのレスポンスを指示およびフォーマットします。 システムプロンプトは、レスポンス生成中に作成される構造、トーン、形式、コンテンツに影響を与えることがあります。
最大出力トークン数 完了時に許可されるトークンの最大数。 この値とプロンプトトークンの合計数は、モデルの最大コンテキストサイズ以下である必要があります。ここで、プロンプトトークン数は、システムプロンプト、ユーザープロンプト、最近のチャット履歴、ベクターデータベースの引用で構成されます。
Temperature Temperatureは、モデル出力のランダム性を制御します。 値を入力します(範囲はLLM依存)。値が大きいほど出力の多様性が高くなり、値が低いほど確定的な結果が高くなります。 値を0にすると、反復的な結果をもたらす可能性があります。 Temperatureは、出力でのトークン選択を制御するためのTop Pの代替です(以下の例を参照してください)。
Top P Top Pは、トークン選択の累積確率カットオフに基づいて、レスポンスに含まれる単語の選択を制御するしきい値を設定します。 たとえば、0.2では、上位20%の確率のかたまりだけが考慮されます。 数値が大きいほど、多様なオプションの出力が返されます。 出力でトークン選択を制御するためのTemperatureの代替として、Top Pがあります(以下の例を参照してください)。
ベクターデータベース 取得しやすいようにインデックスが付けられている、非構造化テキストの チャンクのコレクションとそれに対応する各チャンクに対するテキスト埋め込みから構成されるデータベースを識別するオプションフィールド。
TemperatureまたはTop P?

プロンプトの使用を検討してください。“完璧なアイスクリームサンデーを作るために、バニラアイスクリームを2回すくって上に乗せる...“。 推奨される次の単語の望ましいレスポンスは、ホットファッジ、パイナップルソース、ベーコンでしょう。 返されるものの確率を上げるには:

  • ベーコンの場合、Temperatureを最大値に設定し、Top Pをデフォルトのままにします。 高いTemperatureでTop Pを設定し、ファッジとパイナップルの確率を高め、ベーコンの確率を減らします。
  • ホットファッジの場合、Temperatureを0に設定します。

各ベースLLMにはデフォルト設定があります。 結果として、チャットを開始する前に必要な選択はLLMを選択することだけとなります。

チャット

備考

The selected LLM is locked in after you start chatting. To try a different LLM, create a new LLM blueprint draft from the original and select a different LLM.

チャットは、プロンプトを送信してLLMからレスポンスを受信するアクティビティです。 LLMの設定を行ったら、(中央下部パネルのエントリーボックスから)プロンプトを送信して、ドラフトをLLMブループリントとして保存する前に、さらに微調整が必要かどうかを判断します。

プレイグラウンド内でのチャットは「会話」で、それに続くプロンプトでフォローアップの質問をすることができます。 以下は、DataRobotオートパイロットを実行するためのPythonコードの出力をLLMに求める例です。

次に、「そのコード」に変更を加えるように求めると、LLMは以前の会話履歴の「認識」であるため、参照されているコードを認識して応答します。

プレイグラウンドを使用して、システムプロンプトと設定に満足するまでプロンプトをテストおよびチューニングします。 次に、右側のパネルの下部にあるLLMブループリントとして保存をクリックします。

Few-shotプロンプティングのセクションも参照してください。

信頼性スコア

信頼性スコアは、事実の一貫性指標アプローチを使用して計算されます。一方、類似性スコアは、 ベクターデータベースから取得した事実と、LLMブループリントから生成されたテキストを使用して計算されます。 使用される類似性指標は ROUGE-1です。 DataRobot GenAIは、 "The limits of automatic summarization according to ROUGE"からのインサイトに基づいて、ROUGE-1の改善されたバージョンを使用します。

LLMブループリントの構築

LLMブループリントはドラフトとして開始し、次にデプロイ可能な最終モデルとして保存されます。 保存すると、変更できなくなりますが、コピーすることにより新しいLLMブループリントを作成できるようにすることができます。 ドラフトには、ステータスを示すバッジが付けられます。

ドラフトの作成

ドラフトを作成する方法は2つあります。

  • 左側に表示されるLLMブループリントパネルから、ブループリントのドラフトを作成をクリックして、設定の準備ができた表題なしの新しいドラフトを追加します。

  • 左側のパネルで既存のブループリントを選択し、LLMブループリントのアクション > 新しいドラフトにコピーを選択して、親ブループリントの設定を継承する新しいドラフト(「...のコピー」)を作成します。

    中央パネルにある名前をクリックして名前を変更します。

ドラフトのファインチューニング後、右側のパネルの下部にあるLLMブループリントとして保存をクリックします。 複数のLLMブループリントが保存されたら、プレイグラウンドの 比較タブを使用して、LLMブループリントを並べて比較します。

ブループリントのアクション

ブループリントで使用できるアクションは、ドラフトまたは保存されているステータスによって異なります。 左側のパネルにある名前の隣の3つの点、または以下からアクセスできます。

ドラフトの操作ドロップダウン。

または、LLMブループリントのアクションドロップダウン:

オプション 説明
LLMブループリントのアクション
新しいドラフトにコピー LLMブループリントのすべての設定を新しいドラフトにコピーします(「...のコピー」)。 チャット履歴はコピーされません。
LLMブループリントを登録 LLMブループリントを レジストリに送信し、そこでカスタムモデルワークショップに追加されます。 そこからカスタムモデルとしてデプロイできます。
LLMブループリントを削除 保存したブループリントを削除します。
ドラフトの操作
LLM ブループリントとして保存 ドラフトをLLMブループリントとして保存します。 保存すると、ブループリントに追加の変更を加えることはできません。 変更するには、保存されたブループリントの新しいドラフトにコピーオプションを使用します。
新しいドラフトにコピー 現在のドラフトを変更せずに、既存のすべての設定を新しいドラフトにコピーします。
ドラフトを削除 ドラフトブループリントを削除します。

表示コントロール

プレイグラウンドの左側のパネルには、保存されているすべてのLLMブループリントとドラフトLLMブループリントが一覧表示されます。 コントロールを使用して表示を変更します。

フィルターオプションは、パネルにリストされるブループリントを、ベースLLMまたはステータスのいずれかで制御します。

フィルターラベルの右側の小さい番号は、フィルターが適用された結果として表示されるブループリントの数または適用されなかった結果を示します。

ソート条件は、ブループリントの順序を制御します。 これは加法的なので、フィルタリングまたはグループ化の上に適用されます。

同じく加法的であるグループ化では、選択した条件で表示を並べ替えます。 ラベルはグループの「名前」と数字を示し、メンバーブループリントの数を示します。

一歩進んだ操作:Few-shotプロンプティング

Few-shotプロンプティングは、「コンテキスト内学習」で限られた数の例またはプロンプトに基づいてテキストを生成または分類する手法です。実例、すなわち「ショット」は、与えられたコンテキストのパターンにモデルが従うように条件を設定します。トレーニング中に同様の実例を見たことがなくても、コンテキストに関連する一貫したテキストを生成できます。 これは、モデルにラベル付けされた大量のトレーニングデータが通常必要となる従来の機械学習とは異なります。 Few-shotプロンプティングでは、特定のデータセットでファインチューニングを行う必要なく、モデルをテキスト生成、テキストサマリー、変換、質問への回答、センチメント分析などのタスクに適した候補にすることができます。

Few-shotプロンプティングの簡単な例は、顧客のフィードバックを肯定的または否定的に分類する際に使用します。 モデルに肯定的と否定的のフィードバックの例を3つ表示することによって、分類されていないフィードバックを表示したときに、最初の3つの例に基づいてモデルが評価を割り当てることができます。 Few-shotプロンプティングは、モデルに2つ以上の例を表示するときに使用します。Zero-shotとOne-shotのプロンプティングは、同様の手法です。

以下は、DataRobotでのFew-shotプロンプティングの使用を示しています。 システムプロンプトフィールドで、プロンプトと学習例が表示されます。

カスタマーサポートチケットのテキストから、参照する製品の名前と問題のタイプを特定します。 問題のタイプは"hardware"または"software"です。 "product"と"issue type"の2つのキーを持つJSONとしてレスポンスをフォーマットします。

---------------
例:

入力:TPS Report Generator Enterprise Editionでバグに遭遇しました。 「生成」をクリックするたびにアプリケーションがクラッシュします。 利用可能な更新または修正はありますか?
出力:{"product": "TPS Report Generator Enterprise Edition", "issue_type": "software"}

入力:Acme Phone 5+で画面がちらつき、使用できません。 どうすればよいでしょうか? いくつかのゲームをいくつかインストールしたいと思い、問題が解決することを期待して工場出荷時設定へのリセットを行いましたが、解決しませんでした。

出力:{"product": "Acme Phone 5+", "issue_type": "hardware"}

LLMにそのコンテキストを入力した後、いくつかのプロンプトの例を試してください。

プロンプト:PrintPro 9000の画面に異様なエラーメッセージが表示されています。 "PC LOAD LETTER"と書かれてあります。 これは何を意味しますか?

プロンプト:Print Pro 9002にファームウェアv12.1をインストールできません。"Incompatible product version"と書かれています。

プロンプト:PrintPro 9001に奇妙な異音が発生し、正常に機能していません。 この件についてサポートをお願いします。

ドラフトをLLMブループリントとして保存して登録し、本番環境に保存します。

詳細については、 MIT Prompt Engineering Guideを参照してください。


更新しました April 2, 2024