foundation modelのチューニングを迅速に行うには、foundation modelモデルが望む出力を望む形で返すように導くチューニング実験を作成します。
要件
Tuning Studio は、すべてのプランまたはすべてのデータ センターで利用できるわけではありません。 Tuning Studio でチューニングできる基盤モデルは、データセンターによっても異なります。 詳しくは、watsonx.aiRuntime のプランと サービスおよび機能の地域別提供状況をご覧ください。
通常、Tuning Studio は、watsonx.ai にサインアップすると自動的に作成されるプロジェクトから利用できます。 このプロジェクトはsandboxという名前で、基礎モデルのテストとカスタマイズを始めるために使うことができます。
プロジェクトがないなら、作ればいい。 メインメニューからプロジェクトを展開し、すべてのプロジェクトをクリックします。
新規プロジェクトをクリックしてください。
プロジェクトに名前を付け、オプションで説明を追加する。
レポートやロギングなどのプロジェクト・オプションの詳細については、プロジェクトの作成を参照してください。
「作成」 をクリックします。
開始前に
以下のチューニングオプションを決定する:
- あなたのユースケースに最適なfoundation modelを見つけよう。 チューニングするfoundation modelの選択」を参照してください。
- プロンプトエンジニアリング作業に基づいて、最良の結果を生み出すパターンに従ったプロンプト例を作成する。 データフォーマットを参照。
foundation modelの調整
watsonx.aiホームページからプロジェクトを選択し、 「新しいアセット」>「ラベル付きデータを用してfoundation modelを調整」使をクリックします。
チューニング実験の名前を挙げてください。
オプション:説明とタグを追加します。 自分自身へのリマインダーとして、また共同作業者がチューニング・モデルの目標を理解するために、説明を加える。 タグを割り当てると、後でチューニング資産をフィルタリングして、タグに関連する資産だけを表示することができます。
「作成」 をクリックします。
foundation modelの選択」をクリックして、調整したいfoundation modelを選択します。
タイルをクリックすると、foundation modelの詳細が記載されたモデルカードが表示されます。 使用したいfoundation modelが見つかったら、「選択」をクリックします。
詳しくは、チューニングするfoundation modelの選択をご覧ください。
プロンプトの初期化方法を以下のオプションから選択する:
- テキスト
- 指定したテキストを使用します。
- RANDOM
- チューニング実験の一環として生成された値を使用する。
これらのオプションは、モデルをチューニングするためのプロンプト・チューニング方法に関連している。 各オプションがどのようにチューニング実験に影響するかについての詳細は、プロンプト・チューニングの仕組みをご覧ください。
テキスト初期化メソッドにのみ必要:プロンプトに含める初期化テキストを追加する。
- 分類タスクでは、何を分類したいかを説明し、使用するクラスラベルを列挙した指示を与える。 例えば、各コメントのセンチメントがポジティブかネガティブかを分類する。
- 生成タスクの場合、モデルに出力してほしいものを記述する。 例えば、週に数日、在宅勤務を認める。
- 要約の課題では、会議の記録から要点を要約しなさいのような指示を与える。
タスクの種類を選択します。
モデルにさせたいことに最も近いタスクタイプを選ぶ:
- 分類
- 特徴量からカテゴリラベルを予測する。 例えば、顧客からのコメント一式があった場合、それぞれの文に質問や問題点などのラベルを付けるとよい。 顧客の問題を切り離すことで、より迅速に問題を発見し、対処することができる。 このタスクタイプは単一ラベルの分類を扱う。
- 生成
- テキストを生成する。 例えば、宣伝メールを書く。
- 要約
- 本文に表現されている主なアイデアを説明する文章を作成する。 例えば、研究論文の要約。
どのタスクを選択しても、入力は実験中に生成リクエストタイプとしてfoundation modelモデルに提出される。 分類タスクでは、モデルのチューニングに使用されるプロンプトにクラス名が考慮される。 モデルやチューニング方法が進化するにつれて、タスクに特化した機能強化が追加される可能性があり、タスクが正確に表現されていれば、それを活用することができます。
分類タスクにのみ必要: 分類出力フィールドに、モデルに使わせたいクラス・ラベルを1つずつ追加します。
重要:トレーニングデータで使用しているラベルと同じものを指定します。チューニング実験では、訓練データの入力例とともにクラスラベル情報が提出される。
モデルのチューニングに使用するトレーニングデータを追加する。 ファイルをアップロードすることも、プロジェクトのアセットを使用することもできます。
ファイルをどのようにフォーマットするかの例を見るには、あなたのデータはどのように見えるべきかを展開してください、 をクリックし、テンプレートのプレビューをクリックします。 データ・テンプレートをコピーまたはダウンロードして、自分のデータを入力することができます。
詳しくはデータフォーマットを参照。
オプション: トレーニング中に使用される入力または出力例のサイズを制限したい場合は、許可されるトークンの最大数を調整します。
あなたのデータはどのように見えるべきでしょうか、 そして、最大入力トークンと最大出力トークンフィールドが表示されるまでスクロールします。 スライダーをドラッグして値を変更します。 サイズを制限することで、チューニング実験の実行時間を短縮することができる。 詳細については、トークンの使用数を制御するを参照してください。
オプション:Configure parameters をクリックして、チューニング実験で使うパラメーターを編集する。
チューニング・ランは、モデルのチューニングに適した出発点となるパラメータ値で設定される。 必要なら調整すればいい。
使用可能なパラメーターとその役割の詳細については、チューニング・パラメーターを参照してください。
パラメータ値を変更したら、保存をクリックします。
チューニングを開始をクリックします。
チューニングの実験が始まる。 トレーニングデータのサイズや計算リソースの空き状況にもよるが、数分から数時間かかるかもしれない。 実験が終了すると、ステータスは完了と表示される。
完了したチューニング実験から配置を作成するまで、チューニングされたモデル アセットは作成されません。 詳細については、チューニングされたモデルのデプロイを参照してください。
トークンの使用数をコントロールする
自然言語モデルの場合、単語はトークンに変換される。 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 の値は、学習時にモデルが出力として生成することを許可されるトークンの数を制御するため、重要です。 スライダーを使って出力サイズを制限することができ、モデルが簡潔な出力を生成するのに役立ちます。
チューニング実験の評価
実験が終了すると、損失関数のグラフが表示され、時間経過に伴うモデル出力の改善が示される。 エポックはX軸に、エポックごとの予測結果と実際の結果の差はY軸に示されている。 エポックごとに表示される値は、エポック内のすべての累積ステップの平均勾配値から計算される。
結果の評価方法については、調整実験の結果を評価するをご覧ください。
チューニング実験の結果に満足したら、チューニングしたfoundation modelを配備する。 詳細については、チューニングされたモデルのデプロイを参照してください。
チューニング実験の再開
チューニング実験を再実行するには、以下のステップを完了する:
- プロジェクトのアセットページから、チューニング実験アセットタイプでアセットを絞り込みます。
- チューニング実験アセットを見つけて開き、新しいチューニングモデルをクリックします。
チューニング実験の損失関数は、比較できるように以前の実行の損失関数と同じグラフに示されている。
詳細情報
- チューニングされたモデルを展開する
- クイックスタートfoundation modelを調整する
- サンプルノートブック: watsonxで CFPB ドキュメントを分類するモデルを調整する
- サンプルノートブック: watsonxを使用したマルチクラス分類のプロンプトチューニング
親トピック Tuning Studio