こちらの記事で触れていましたが、触ってませんでした。
インタラクティブなプロンプトインタフェースによるLLMプロジェクトの実行可能性の評価
プロンプトエンジニアリングは、あるユースケースを大規模言語モデル(LLM)で解決できるかどうかをクイックに評価できる優れた手法です。MLflow 2.7の新たなプロンプトエンジニアリングUIによって、ビジネスのステークホルダーは、新規にプロジェクトをスタートするのに十分なアウトプットを得られるのかどうかを確認するために、様々なベースモデル、パラメータ、プロンプトを用いて実験することができます。インタラクティブなプロンプトエンジニアリングツールにアクセスするには、シンプルに新たな空のエクスペリメントを作成するか、(既存のエクスペリメントを開き)New Runをクリックします。こちらからプレビューにサインアップできます。
上の記事を翻訳した際には申請が必要なプレビューでしたが、普通に使えるようになっていました。
準備
プロンプトを送信できるモデルサービングエンドポイントがあることを確認します。無い場合には作成してください。
エクスペリメントの作成
サイドメニューでエクスペリメントにアクセスして、従来型エクスペリメントを作成をクリックします。
プロンプトエンジニアリング
エクスペリメントが作成されたら、右上の新規ラン > プロンプトエンジニアリングの使用を選択します。
ここでのエクスペリメントやランは、MLflowの用語です。
-
エクスペリメント: 後述のランを管理するための箱
-
ラン: 従来は一回の機械学習トレーニングを管理する単位でしたが、最近ではLLMにおけるトレーニング、ファインチューニング、評価、そして今回のようにプロンプトエンジニアリングの営みも管理できるようになっています。リンク先の説明も以下のようになっています。
executions of some piece of data science code, for example, a single python
train.py
execution (単一のPythonのtrain.py
のようなある程度の規模のデータサイエンスコードの実行)
すると、新規にランを作成する画面が現れます。ここでプロンプトエンジニアリングを行うということですね。
左上でモデルを選んで、プロンプトテンプレート、パラメーターを指定して評価をクリックするとレスポンスが帰ってきます。
せっかくですので、日本語でやりましょう。以下のようなプロンプトテンプレートを指定します。
指定されたテキスト「{{ text }}」をメインのアイデアとキーポイントをカバーする簡潔で一貫性のある要約にまとめてください。要約は文字数 {{ word_count }} を超えないようにしてください。
二つの中括弧でパラメータを囲むと、それに合わせて画面更新されます。
評価をしてもらいます。
一旦これでランを作成をクリックして保存します。
ここからはいくつかの方向性があります。
- 他のテキストをプロンプトテンプレートに与える
- モデルを切り替える
- プロンプトテンプレートを変更する
ここでは、最初の二つを実際に行なってみます。
他のテキストをプロンプトテンプレートに与える
表の左にある + を押します。
プロンプトテンプレートのパラメータが聞かれます。
入力します。
行が増えますがoutputは空です。セル内のEvaluateを押しましょう。
新たなレスポンスを得ることができました。これを繰り返していくことで、プロンプトテンプレートの良し悪しを把握できるようになります。
モデルを切り替える
再度、右上の新規ラン > プロンプトエンジニアリングの使用を選択します。今度は左上でモデルを変更します。
新規ランとして保存します。
今度は列が追加されました。先ほどと同じようにEvaluateあるいはすべて評価をクリックします。
このように、さまざまな入力、モデルを組み合わせながらプロンプトテンプレートをブラッシュアップすることができます。