プロンプト・チューニング実験の作成
基礎モデルをプロンプトチューニングするために実行できるプロンプトチューニング実験を作成する。
前提タスク : Tuning Studio
基礎モデルのプロンプトチューニングを続けるには、以下のステップを完了する:
プロンプトの初期化方法を以下のオプションから選択する:
- テキスト
- 指定したテキストを使用します。
- RANDOM
- チューニング実験の一環として生成された値を使用する。
これらのオプションは、モデルをチューニングするためのプロンプト・チューニング方法に関連している。 各オプションがどのようにチューニング実験に影響するかについての詳細は、プロンプト・チューニングの仕組みをご覧ください。
テキスト初期化メソッドにのみ必要:プロンプトに含める初期化テキストを追加します。
- 分類タスクでは、何を分類したいかを説明し、使用するクラスラベルを列挙した指示を与える。 例えば、各コメントのセンチメントがポジティブかネガティブかを分類する。
- 生成タスクの場合、モデルに出力してほしいものを記述する。 例えば、週に数日、在宅勤務を認める。
- 要約の課題では、会議の記録から要点を要約しなさいのような指示を与える。
タスクタイプを選択します。
モデルにさせたいことに最も近いタスクタイプを選ぶ:
- 分類
- 特徴量からカテゴリラベルを予測する。 例えば、顧客からのコメント一式があった場合、それぞれの文に質問や問題点などのラベルを付けるとよい。 顧客の問題を切り離すことで、より迅速に問題を発見し、対処することができる。 このタスクタイプは単一ラベルの分類を扱う。
- 生成
- テキストを生成する。 例えば、宣伝メールを書く。
- 要約
- 本文に表現されている主なアイデアを説明する文章を作成する。 例えば、研究論文の要約。
どのタスクを選択しても、入力は実験中に生成リクエストタイプとして基礎モデルに提出される。 例えば、あなたが指定したクラス名は、モデルのチューニングに使用されるプロンプトに考慮されます。
分類タスクにのみ必要: 分類出力フィールドに、モデルに使わせたいクラス・ラベルを1つずつ追加します。
重要:トレーニングデータで使用しているラベルと同じものを指定します。チューニング実験では、訓練データの入力例とともにクラスラベル情報が提出される。
オプション: チューニング実験中にトレーニングサンプルが基礎モデルに提出される際のフォーマットを変更したい場合は、'プロンプトには特別な書式が必要ですか?の'はい、編集クリックする。 セクション。
詳細については、プロンプト・チューニングのためのバーバライザーの編集を参照してください。
モデルのチューニングに使用するトレーニングデータを追加する。 ファイルをアップロードするか、プロジェクトのアセットを使用することができます。
ファイルをどのようにフォーマットするかの例を見るには、あなたのデータはどのように見えるべきかを展開してください、 をクリックし、テンプレートのプレビューをクリックします。 詳細はデータフォーマットを参照。
オプション:トレーニング中に使用する例のトークン・サイズを変更したい場合は、どのようなデータにしますかを展開してください で調整する。
詳細については、プロンプトチューニングトークンの制限を設定するを参照してください。
オプション:Configure parameters をクリックして、チューニング実験で使うパラメーターを編集する。
チューニング・ランは、モデルのチューニングに適した出発点となるパラメータ値で設定される。 必要なら調整すればいい。
使用可能なパラメーターとその役割の詳細については、チューニング・パラメーターを参照してください。
パラメータ値を変更したら、保存をクリックします。
チューニングを開始をクリックします。
チューニングの実験が始まる。 トレーニングデータのサイズや計算リソースの有無にもよるが、数分から数時間かかるかもしれない。 実験が終了すると、ステータスは完了と表示される。
完了したチューニング実験から配置を作成するまで、チューニングされたモデル アセットは作成されません。 詳細については、チューニングされたモデルのデプロイを参照してください。
プロンプト・チューニングのためのバーバライザーの編集
基礎モデルのチューニングに使用される言語化子を編集できます。
プロンプト・チューニングのためのバーライザーは以下のような形式である:
Input: {{input}} Output:
デフォルトの書式では、入力テキストの前にInput:という単語が追加され、入力テキストの後にOutput:が追加され、生成されたテキストを追加する場所を基礎モデルに示します。
より説明的な前置詞のテキストが、より良い答えを生成するために基礎モデルを導くことができるのであれば、バーバライザーをカスタマイズした方がよいでしょう。 例えば、記事を要約するように基礎モデルをチューニングするには、次のように言語化子を変更すればよい:
Article: {{input}} Summary:
一般的なInput
とOutput
の代わりに接頭辞Article
とSummary
を使うことで、基礎モデルに入力と期待される出力に関するより多くの文脈情報を与えることができます。
チャットのユースケース用に設計されたファウンデーションモデルでは、デフォルトのバーバライザーはよりシンプルなフォーマットになっています:
{{input}}
バーバライザーを変更する際は、以下のガイドラインに従ってください:
カスタム形式が基礎モデルの出力を向上させることを検証するために、プロンプト・エンジニアリング後にのみ、バーバライザーを変更してください。
{{input}}
変数は編集しないでください。この変数は、トレーニングデータファイルの
input
セグメントからテキストを抽出するよう、チューニング実験に指示します。分類タスクでは、指定したクラス・ラベルが自動的に基礎モデルに渡される。 カスタムバーバライザーで指定する必要はない。
しかし、プロンプト・エンジニアリングによって、分類される情報を表すために接頭辞を使用した方がより良い出力が得られることが示された場合、その接頭辞を使用するようにバーバライザーを変更することができます。 顧客からのフィードバックを分類するタスクの場合、たとえば
Feedback: {{input}} Class:
を使うかもしれません。基礎モデルのチューニングに使用する動詞化子を変更した場合、後でチューニングしたモデルを推論するときに同じ接頭辞を使用します。
例えば、カスタムの言語化子が
Article: {{input}} Summary:
である場合、 Prompt Lab で自由形式モードから調整された基盤モデル推論するときに、以下のようにプロンプトを指定する:Article: IBM watsonx Challenge empowers partners to solve real-world problems with AI. In June, IBM invited ecosystem partners in Europe, the Middle East and Africa to participate in an IBM watsonx Challenge, a hands-on experience designed to bring the watsonx platform capabilities to some of the most important members of the IBM ecosystem.These ecosystem partners, who sell, build or service IBM technologies, enthusiastically embraced the challenge. Participants formed teams and focused on quickly crafting a solution to one of three selected challenges. The challenges included using prompt engineering to analyze customer experience by using IBM® watsonx.ai, automating repetitive manual tasks to improve productivity by using IBM watsonx Orchestrate, and building a generative AI-powered virtual assistant by using IBM watsonx™ Assistant and IBM watsonx™ Discovery. This experience enabled passionate learners to experience exciting new generative AI technologies firsthand and it led to innovation and creativity. Summary:
構造化モードから、Tryセクションのプレースホルダ接頭辞を変更する。 例えば、
Input
をArticle
に変更し、Output
をSummary
に変更する。
プロンプトチューニングトークン制限の設定
自然言語モデルの場合、単語はトークンに変換される。 256トークンは約130~170語に相当する。 128トークンは約65~85語に相当する。 しかし、トークンの数を見積もるのは難しく、モデルによって異なることもある。 詳しくは、トークンとトークン化を参照してください。
プロンプトチューニング実験中に、モデルの入力と出力で許可されるトークンの数を変更することができます。
パラメーター名 | デフォルト値 | 値のオプション | flan-t5-xl-3bのみの値オプション |
---|---|---|---|
最大入力トークン数 | 256 | 1-1024 | 1-256 |
最大出力トークン数 | 128 | 1-512 | 1-128 |
許容される入出力トークンの数が多ければ多いほど、モデルのチューニングに時間がかかる。 例では、使用可能な最小数のトークンを使用し、かつユースケースを適切に表現してください。
入力サイズはすでにある程度コントロールできる。 チューニング実験中に使用される入力テキストは、トレーニングデータから得られます。 そのため、入力例を一定の長さに抑えることで、入力サイズを管理することができる。 しかし、別のチームやプロセスから、未修正のトレーニングデータを入手しているかもしれない。 その場合、最大入力トークン数スライダーを使って、入力サイズを管理することができます。 パラメータを200に設定し、学習データに1,000トークンの入力例がある場合、例えば、入力例は切り捨てられます。 入力例の最初の200トークンのみが使用される。
Max output tokens の値は、学習時にモデルが出力として生成することを許可されるトークンの数を制御するため、重要です。 スライダーを使って出力サイズを制限することができ、モデルが簡潔な出力を生成するのに役立ちます。
詳細情報
親トピック Tuning Studio